Packages

t

net.liftweb.proto

ProtoUser

trait ProtoUser extends AnyRef

A prototypical user class with abstractions to the underlying storage

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ProtoUser
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. trait FieldPointerBridge extends AnyRef
    Attributes
    protected
  2. abstract type FieldPointerType

    A generic representation of a field.

    A generic representation of a field. For example, this represents the abstract "name" field and is used along with an instance of TheCrudType to compute the BaseField that is the "name" field on the specific instance of TheCrudType

  3. case class MenuItem (name: String, path: List[String], loggedIn: Boolean) extends Product with Serializable

    A helper class that holds menu items for the path

  4. abstract type TheUserType

    The underlying record for the User

  5. trait UserBridge extends AnyRef

    Bridges from TheUserType to methods used in this class

    Bridges from TheUserType to methods used in this class

    Attributes
    protected

Abstract Value Members

  1. implicit abstract def buildFieldBridge(from: FieldPointerType): FieldPointerBridge

    Based on a FieldPointer, build a FieldPointerBridge

    Based on a FieldPointer, build a FieldPointerBridge

    Attributes
    protected
  2. abstract def computeFieldFromPointer(instance: TheUserType, pointer: FieldPointerType): Box[BaseField]

    Given an instance of TheCrudType and FieldPointerType, convert that to an actual instance of a BaseField on the instance of TheCrudType

    Given an instance of TheCrudType and FieldPointerType, convert that to an actual instance of a BaseField on the instance of TheCrudType

    Attributes
    protected
  3. abstract def createNewUserInstance(): TheUserType

    Create a new instance of the User

    Create a new instance of the User

    Attributes
    protected
  4. abstract def editFields: List[FieldPointerType]

    The list of fields presented to the user for editing

  5. abstract def findUserByUniqueId(id: String): Box[TheUserType]

    Given a unique id, find the user

    Given a unique id, find the user

    Attributes
    protected
  6. abstract def findUserByUserName(username: String): Box[TheUserType]

    Given an username (probably email address), find the user

    Given an username (probably email address), find the user

    Attributes
    protected
  7. abstract def signupFields: List[FieldPointerType]

    The list of fields presented to the user at sign-up

  8. implicit abstract def typeToBridge(in: TheUserType): UserBridge

    Convert an instance of TheUserType to the Bridge trait

    Convert an instance of TheUserType to the Bridge trait

    Attributes
    protected
  9. abstract def userFromStringId(id: String): Box[TheUserType]

    Given a String representing the User ID, find the user

    Given a String representing the User ID, find the user

    Attributes
    protected

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. lazy val ItemList: List[MenuItem]
  5. def actionsAfterSignup(theUser: TheUserType, func: () ⇒ Nothing): Nothing

    Override this method to do something else after the user signs up

    Override this method to do something else after the user signs up

    Attributes
    protected
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. val autologinFunc: Box[() ⇒ Unit]

    This function is given a chance to log in a user programmatically when needed

  8. def basePath: List[String]

    The base path for the user related URLs.

    The base path for the user related URLs. Override this method to change the base path

  9. def bccEmail: Box[String]
  10. def capturePreLoginState(): () ⇒ Unit

    If there's any state that you want to capture pre-login to be set post-login (the session is destroyed), then set the state here.

    If there's any state that you want to capture pre-login to be set post-login (the session is destroyed), then set the state here. Just make a function that captures the state... that function will be applied post login.

    Attributes
    protected
  11. def changePassword: NodeSeq
  12. def changePasswordMenuLoc: Box[Menu]

    The menu item for changing password (make this "Empty" to disable)

  13. def changePasswordMenuLocParams: List[LocParam[Unit]]

    The LocParams for the menu item for changing password.

    The LocParams for the menu item for changing password. Overwrite in order to add custom LocParams. Attention: Not calling super will change the default behavior!

    Attributes
    protected
  14. lazy val changePasswordPath: List[String]

    The computed path for change password screen

  15. def changePasswordSubmitButton(name: String, func: () ⇒ Any = () => {}): NodeSeq
  16. def changePasswordSuffix: String

    The path suffix for the change password screen

  17. def changePasswordXhtml: Elem
  18. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. def createUserMenuLoc: Box[Menu]

    The menu item for creating the user/sign up (make this "Empty" to disable)

  20. def createUserMenuLocParams: List[LocParam[Unit]]

    The LocParams for the menu item for creating the user/sign up.

    The LocParams for the menu item for creating the user/sign up. Overwrite in order to add custom LocParams. Attention: Not calling super will change the default behavior!

    Attributes
    protected
  21. def currentUser: Box[TheUserType]
  22. def currentUserId: Box[String]
  23. def destroySessionOnLogin: Boolean

    By default, destroy the session on login.

    By default, destroy the session on login. Change this is some of the session information needs to be preserved.

    Attributes
    protected
  24. def doWithUser[T](u: Box[TheUserType])(f: ⇒ T): T

    There may be times when you want to be another user for some stack frames.

    There may be times when you want to be another user for some stack frames. Here's how to do it.

  25. def edit: NodeSeq
  26. lazy val editPath: List[String]

    The computed path for the edit screen

  27. def editSubmitButton(name: String, func: () ⇒ Any = () => {}): NodeSeq
  28. def editSuffix: String

    The path suffix for the edit screen

  29. def editUserMenuLoc: Box[Menu]

    The menu item for editing the user (make this "Empty" to disable)

  30. def editUserMenuLocParams: List[LocParam[Unit]]

    The LocParams for the menu item for editing the user.

    The LocParams for the menu item for editing the user. Overwrite in order to add custom LocParams. Attention: Not calling super will change the default behavior!

    Attributes
    protected
  31. def editXhtml(user: TheUserType): Elem
  32. def emailFrom: String
  33. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  34. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  35. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  36. def generateResetEmailBodies(user: TheUserType, resetLink: String): List[MailBodyType]

    Generate the mail bodies to send with the password reset link.

    Generate the mail bodies to send with the password reset link. By default, just an HTML mail body is generated by calling passwordResetMailBody but you can send additional or alternative mail by overriding this method.

    Attributes
    protected
  37. def generateValidationEmailBodies(user: TheUserType, resetLink: String): List[MailBodyType]

    Generate the mail bodies to send with the valdiation link.

    Generate the mail bodies to send with the valdiation link. By default, just an HTML mail body is generated by calling signupMailBody but you can send additional or alternative mail by override this method.

    Attributes
    protected
  38. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  39. def globalUserLocParams: List[LocParam[Unit]]

    If you want to include a LocParam (e.g.

    If you want to include a LocParam (e.g. LocGroup) on all the User menus, add them here

    Attributes
    protected
  40. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  41. def homePage: String

    The application's home page

  42. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  43. def localForm(user: TheUserType, ignorePassword: Boolean, fields: List[FieldPointerType]): NodeSeq
    Attributes
    protected
  44. def logUserIdIn(id: String): Unit
  45. def logUserIn(who: TheUserType): Unit
  46. def logUserIn(who: TheUserType, postLogin: () ⇒ Nothing): Nothing
  47. def logUserOut(): Unit
  48. def loggedIn_?: Boolean
  49. def login: NodeSeq
  50. def loginFirst: If

    A Menu.LocParam for testing if the user is logged in and if they're not, redirect them to the login page

  51. def loginMenuLoc: Box[Menu]

    The menu item for login (make this "Empty" to disable)

  52. def loginMenuLocParams: List[LocParam[Unit]]

    The LocParams for the menu item for login.

    The LocParams for the menu item for login. Overwrite in order to add custom LocParams. Attention: Not calling super will change the default behavior!

    Attributes
    protected
  53. def loginPageURL: String

    Return the URL of the "login" page

  54. lazy val loginPath: List[String]

    The computed path for the login screen

  55. def loginSubmitButton(name: String, func: () ⇒ Any = () => {}): NodeSeq
  56. def loginSuffix: String

    The path suffix for the login screen

  57. def loginXhtml: Elem
  58. def logout: Nothing
  59. def logoutCurrentUser: Unit
  60. def logoutMenuLoc: Box[Menu]

    The menu item for logout (make this "Empty" to disable)

  61. def logoutMenuLocParams: List[LocParam[Unit]]

    The LocParams for the menu item for logout.

    The LocParams for the menu item for logout. Overwrite in order to add custom LocParams. Attention: Not calling super will change the default behavior!

    Attributes
    protected
  62. lazy val logoutPath: List[String]

    The computed pat for logout

  63. def logoutSuffix: String

    The path suffix for the logout screen

  64. def lostPassword: NodeSeq
  65. def lostPasswordMenuLoc: Box[Menu]

    The menu item for lost password (make this "Empty" to disable)

  66. def lostPasswordMenuLocParams: List[LocParam[Unit]]

    The LocParams for the menu item for lost password.

    The LocParams for the menu item for lost password. Overwrite in order to add custom LocParams. Attention: Not calling super will change the default behavior!

    Attributes
    protected
  67. lazy val lostPasswordPath: List[String]

    The computed path for the lost password screen

  68. def lostPasswordSubmitButton(name: String, func: () ⇒ Any = () => {}): NodeSeq
  69. def lostPasswordSuffix: String

    The path suffix for the lost password screen

  70. def lostPasswordXhtml: Elem
  71. def menuNameSuffix: String

    If you have more than 1 ProtoUser in your application, you'll need to distinguish the menu names.

    If you have more than 1 ProtoUser in your application, you'll need to distinguish the menu names. Do so by changing the menu name suffix so that there are no name clashes

    Attributes
    protected
  72. def menus: List[Menu]

    An alias for the sitemap property

  73. def mutateUserOnEdit(user: TheUserType): TheUserType

    If there's any mutation to do to the user on retrieval for editing, override this method and mutate the user.

    If there's any mutation to do to the user on retrieval for editing, override this method and mutate the user. This can be used to pull query parameters from the request and assign certain fields. Issue #722

    user

    the user to mutate

    returns

    the mutated user

    Attributes
    protected
  74. def mutateUserOnSignup(user: TheUserType): TheUserType

    If there's any mutation to do to the user on creation for signup, override this method and mutate the user.

    If there's any mutation to do to the user on creation for signup, override this method and mutate the user. This can be used to pull query parameters from the request and assign certain fields. . Issue #722

    user

    the user to mutate

    returns

    the mutated user

    Attributes
    protected
  75. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  76. def niceName(inst: TheUserType): String

    Get a nice name for the user

  77. def niceNameWEmailLink(inst: TheUserType): Elem

    Get an email link for the user

  78. def notLoggedIn_?: Boolean

    Inverted loggedIn_?

  79. final def notify(): Unit
    Definition Classes
    AnyRef
  80. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  81. val onLogIn: List[(TheUserType) ⇒ Unit]
  82. val onLogOut: List[(Box[TheUserType]) ⇒ Unit]
  83. def passwordReset(id: String): NodeSeq
  84. def passwordResetEmailSubject: String
  85. def passwordResetMailBody(user: TheUserType, resetLink: String): Elem
  86. lazy val passwordResetPath: List[String]

    The computed path for the reset password screen

  87. def passwordResetSuffix: String

    The path suffix for the reset password screen

  88. def passwordResetXhtml: Elem
  89. def resetPasswordMenuLoc: Box[Menu]

    The menu item for resetting the password (make this "Empty" to disable)

  90. def resetPasswordMenuLocParams: List[LocParam[Unit]]

    The LocParams for the menu item for resetting the password.

    The LocParams for the menu item for resetting the password. Overwrite in order to add custom LocParams. Attention: Not calling super will change the default behavior!

    Attributes
    protected
  91. def resetPasswordSubmitButton(name: String, func: () ⇒ Any = () => {}): NodeSeq
  92. def screenWrap: Box[Node]

    What template are you going to wrap the various nodes in

  93. def sendPasswordReset(email: String): Unit

    Send password reset email to the user.

    Send password reset email to the user. The XHTML version of the mail body is generated by calling passwordResetMailBody. You can customize the mail sent to users by overriding generateResetEmailBodies to send non-HTML mail or alternative mail bodies.

  94. def sendValidationEmail(user: TheUserType): Unit

    Send validation email to the user.

    Send validation email to the user. The XHTML version of the mail body is generated by calling signupMailBody. You can customize the mail sent to users by override generateValidationEmailBodies to send non-HTML mail or alternative mail bodies.

  95. def shortName(inst: TheUserType): String

    Get a nice name for the user

  96. lazy val signUpPath: List[String]

    The computed path for the sign up screen

  97. def signUpSuffix: String

    The path suffix for the sign up screen

  98. def signup: NodeSeq
  99. def signupMailBody(user: TheUserType, validationLink: String): Elem
  100. def signupMailSubject: String
  101. def signupSubmitButton(name: String, func: () ⇒ Any = () => {}): NodeSeq
  102. def signupXhtml(user: TheUserType): Elem
  103. lazy val sitemap: List[Menu]
  104. def sitemapMutator: (SiteMap) ⇒ SiteMap

    The SiteMap mutator function

  105. def skipEmailValidation: Boolean
  106. def snarfLastItem: String
    Attributes
    protected
  107. def standardSubmitButton(name: String, func: () ⇒ Any = () => {}): Elem
  108. def superUser_?: Boolean

    Is there a user logged in and are they a superUser?

  109. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  110. def testLoggedIn(page: String): Boolean
  111. lazy val testLogginIn: If

    A Menu.LocParam to test if the user is logged in

  112. lazy val testSuperUser: If

    A Menu.LocParam to test if the user is a super user

  113. def thePath(end: String): List[String]

    Calculate the path given a suffix by prepending the basePath to the suffix

    Calculate the path given a suffix by prepending the basePath to the suffix

    Attributes
    protected
  114. def toString(): String
    Definition Classes
    AnyRef → Any
  115. def userMenu: List[Node]
  116. def userNameFieldString: String

    How do we prompt the user for the username.

    How do we prompt the user for the username. By default, it's S.?("email.address"), you can can change it to something else

  117. def userNameNotFoundString: String

    The string that's generated when the user name is not found.

    The string that's generated when the user name is not found. By default: S.?("email.address.not.found")

  118. def validateSignup(user: TheUserType): List[FieldError]

    Override this method to validate the user signup (eg by adding captcha verification)

  119. def validateUser(id: String): NodeSeq
  120. def validateUserMenuLoc: Box[Menu]

    The menu item for validating a user (make this "Empty" to disable)

  121. def validateUserMenuLocParams: List[LocParam[Unit]]

    The LocParams for the menu item for validating a user.

    The LocParams for the menu item for validating a user. Overwrite in order to add custom LocParams. Attention: Not calling super will change the default behavior!

    Attributes
    protected
  122. lazy val validateUserPath: List[String]

    The calculated path to the user validation screen

  123. def validateUserSuffix: String

    The path suffix for the validate user screen

  124. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  125. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  126. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  127. def wrapIt(in: NodeSeq): NodeSeq
    Attributes
    protected
  128. object AddUserMenusAfter extends LocParam[Any] with Product with Serializable

    Insert this LocParam into your menu if you want the User's menu items to be inserted at the same level and after the item

  129. object AddUserMenusHere extends LocParam[Any] with Product with Serializable

    replace the menu that has this LocParam with the User's menu items

  130. object AddUserMenusUnder extends LocParam[Any] with Product with Serializable

    Insert this LocParam into your menu if you want the User's menu items to be children of that menu

  131. object editFunc extends RequestVar[Box[() ⇒ NodeSeq]]
  132. object loginRedirect extends SessionVar[Box[String]]

    If you want to redirect a user to a different page after login, put the page here

  133. object signupFunc extends RequestVar[Box[() ⇒ NodeSeq]]
    Attributes
    protected

Inherited from AnyRef

Inherited from Any

Ungrouped