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
A helper class that holds menu items for the path
The underlying record for the User
Bridges from TheUserType to methods used in this class
Based on a FieldPointer, build a FieldPointerBridge
Based on a FieldPointer, build a FieldPointerBridge
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
Create a new instance of the User
Create a new instance of the User
The list of fields presented to the user for editing
Given a unique id, find the user
Given a unique id, find the user
Given an username (probably email address), find the user
Given an username (probably email address), find the user
The list of fields presented to the user at sign-up
Convert an instance of TheUserType to the Bridge trait
Convert an instance of TheUserType to the Bridge trait
Given a String representing the User ID, find the user
Given a String representing the User ID, find the user
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
replace the menu that has this LocParam with the User's menu items
Insert this LocParam into your menu if you want the User's menu items to be children of that menu
Override this method to do something else after the user signs up
Override this method to do something else after the user signs up
This function is given a chance to log in a user programmatically when needed
The base path for the user related URLs.
The base path for the user related URLs. Override this method to change the base path
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.
The menu item for changing password (make this "Empty" to disable)
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!
The computed path for change password screen
The path suffix for the change password screen
The menu item for creating the user/sign up (make this "Empty" to disable)
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!
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.
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.
The computed path for the edit screen
The path suffix for the edit screen
The menu item for editing the user (make this "Empty" to disable)
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!
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.
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.
If you want to include a LocParam (e.
If you want to include a LocParam (e.g. LocGroup) on all the User menus, add them here
The application's home page
A Menu.
A Menu.LocParam for testing if the user is logged in and if they're not, redirect them to the login page
The menu item for login (make this "Empty" to disable)
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!
Return the URL of the "login" page
The computed path for the login screen
If you want to redirect a user to a different page after login, put the page here
The path suffix for the login screen
The menu item for logout (make this "Empty" to disable)
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!
The computed pat for logout
The path suffix for the logout screen
The menu item for lost password (make this "Empty" to disable)
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!
The computed path for the lost password screen
The path suffix for the lost password screen
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
An alias for the sitemap property
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
the user to mutate
the mutated user
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
the user to mutate
the mutated user
Get a nice name for the user
Get an email link for the user
Inverted loggedIn_?
The computed path for the reset password screen
The path suffix for the reset password screen
The menu item for resetting the password (make this "Empty" to disable)
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!
What template are you going to wrap the various nodes in
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.
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.
Get a nice name for the user
The computed path for the sign up screen
The path suffix for the sign up screen
The SiteMap mutator function
Is there a user logged in and are they a superUser?
A Menu.
A Menu.LocParam to test if the user is logged in
A Menu.
A Menu.LocParam to test if the user is a super user
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
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
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")
Override this method to validate the user signup (eg by adding captcha verification)
The menu item for validating a user (make this "Empty" to disable)
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!
The calculated path to the user validation screen
The path suffix for the validate user screen
A prototypical user class with abstractions to the underlying storage