Skip to content

Commit

Permalink
Change names some objects, refactoring
Browse files Browse the repository at this point in the history
  • Loading branch information
lunserv committed Sep 30, 2011
1 parent 95ccd4a commit 44b7c83
Showing 1 changed file with 15 additions and 25 deletions.
40 changes: 15 additions & 25 deletions library/src/main/scala/shiro/snippet/snippets.scala
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -6,13 +6,11 @@ import net.liftweb.util.Helpers._
import shiro.Utils._ import shiro.Utils._


sealed trait ShiroShippet { sealed trait ShiroShippet {
def serve(xhtml: NodeSeq)(f: Boolean): NodeSeq = def verification(xhtml: NodeSeq)(f: Boolean): NodeSeq =
if (f) xhtml else NodeSeq.Empty if (f) xhtml else NodeSeq.Empty


def serve(xhtml: NodeSeq, attribute: String)(f: String => Boolean): NodeSeq = def serve(xhtml: NodeSeq, attribute: String = "name")(f: String => Boolean): NodeSeq =
(for { if (S.attr(attribute) exists f) xhtml else NodeSeq.Empty
attr <- S.attr(attribute) if f(attr)
} yield xhtml) openOr NodeSeq.Empty
} }


trait SubjectSnippet extends DispatchSnippet with ShiroShippet { trait SubjectSnippet extends DispatchSnippet with ShiroShippet {
Expand All @@ -23,25 +21,25 @@ trait SubjectSnippet extends DispatchSnippet with ShiroShippet {
} }


object HasRole extends SubjectSnippet { object HasRole extends SubjectSnippet {
def render(xhtml: NodeSeq): NodeSeq = serve(xhtml, "name"){ def render(xhtml: NodeSeq): NodeSeq = serve(xhtml){
hasRole(_) hasRole(_)
} }
} }


object LacksRole extends SubjectSnippet { object LacksRole extends SubjectSnippet {
def render(xhtml: NodeSeq): NodeSeq = serve(xhtml, "name"){ def render(xhtml: NodeSeq): NodeSeq = serve(xhtml){
lacksRole(_) lacksRole(_)
} }
} }


object HasPermission extends SubjectSnippet { object HasPermission extends SubjectSnippet {
def render(xhtml: NodeSeq): NodeSeq = serve(xhtml, "name"){ def render(xhtml: NodeSeq): NodeSeq = serve(xhtml){
hasPermission(_) hasPermission(_)
} }
} }


object LacksPermission extends SubjectSnippet { object LacksPermission extends SubjectSnippet {
def render(xhtml: NodeSeq): NodeSeq = serve(xhtml, "name"){ def render(xhtml: NodeSeq): NodeSeq = serve(xhtml){
lacksPermission(_) lacksPermission(_)
} }
} }
Expand All @@ -55,35 +53,27 @@ object HasAnyRoles extends SubjectSnippet {
} }
} }


object GuestTag extends SubjectSnippet { object IsGuest extends SubjectSnippet {
def render(xhtml: NodeSeq): NodeSeq = serve(xhtml){ def render(xhtml: NodeSeq): NodeSeq = verification(xhtml){
!isAuthenticatedOrRemembered !isAuthenticatedOrRemembered
} }
} }


object UserTag extends SubjectSnippet { object IsUser extends SubjectSnippet {
def render(xhtml: NodeSeq): NodeSeq = serve(xhtml){ def render(xhtml: NodeSeq): NodeSeq = verification(xhtml){
isAuthenticatedOrRemembered isAuthenticatedOrRemembered
} }
} }


object AuthenticatedTag extends SubjectSnippet { object IsAuthenticated extends SubjectSnippet {
def render(xhtml: NodeSeq): NodeSeq = serve(xhtml){ def render(xhtml: NodeSeq): NodeSeq = verification(xhtml){
isAuthenticated isAuthenticated
} }
} }


object NotAuthenticatedTag extends SubjectSnippet { object IsNotAuthenticated extends SubjectSnippet {
def render(xhtml: NodeSeq): NodeSeq = serve(xhtml){ def render(xhtml: NodeSeq): NodeSeq = verification(xhtml){
!isAuthenticated !isAuthenticated
} }
} }


object PrincipalTag extends DispatchSnippet {
def dispatch = {
case _ => render
}

def render = "*" #> (principal openOr S.attr("name").openOr("Principal or default value not found")).toString
}

0 comments on commit 44b7c83

Please sign in to comment.