A pending request to join a closed group, created instead of a group membership until an admin decides. When a profile applies to a closed group, typically by registering on the group's website, one of these is written rather than a GroupMembership. Admins then accept or reject it, which sets the application result state, date and deciding profile; only when it is accepted is the real membership created. Extra registration form fields are kept in the fields name and value set, and any email address verification sent as part of the application hangs off the email validation requests.
Group: Database Entities
Implements: Serializable, Relational
Properties
| Property | Returns | Description |
|---|---|---|
| adminOrg | Organisation | Administering organisation whose admins approve or reject this application, and the organisation the pending list is scoped by. Never null. |
| applicationResultDate | Date | When the application was accepted or rejected. Null while the application is still pending. |
| applicationResultState | SubscriptionAction | Outcome of the application, ACCEPTED or REJECTED once an admin has decided. Null, or PENDING, means it is still awaiting a decision and will show in the admin's pending list. |
| applicationRusultProfile | Profile | Profile of the admin who accepted or rejected the application. Null while it is still pending. Note the spelling of the property name, which is misspelt in the mapping and so in the API. |
| createdDate | Date | When the application was submitted. The pending and history finders order by this. |
| emailValidationRequests | List<EmailValidationRequest> | Email address verification requests raised for this application, used where the group requires the applicant to confirm their address before the application can be decided. May be null or empty. |
| fields | NvSet | Name and value pairs captured from the registration or application form, holding any extra fields the group asks for. Null until the first field is set with addOrUpdateField. |
| groupEntity | Group | Closed group being applied to. Its field set defines the extra fields the applicant was asked for. Never null. |
| id | Long | Unique database identifier for this application. |
| member | Profile | Profile applying for membership. Never null. |
| modifiedDate | Date | When the application was last changed, for example when fields were updated or a decision recorded. |
| newOrgProvided | String | Organisation details typed in by the applicant when they nominated a new organisation rather than picking an existing one, held as free text up to 10000 characters for an admin to act on. Null when no new organisation was proposed. |
| renderedAdminFields | NvSet | The submitted fields with each value rendered as the admin-facing HTML defined by the group's field set, so that file uploads and similar field types display properly in the admin UI. Returns null when no fields were submitted, and passes values through unchanged for fields the group does not define. |
| website | Website | Website the application was submitted on, recorded so the source of the application is known. May be null for applications not raised through a website. |
| withinOrg | Organisation | Organisation the applicant is joining within, when the group is scoped to a sub-organisation rather than to the admin organisation as a whole. May be null. |
Methods
getId() · getFields() · getApplicationResultState() · getApplicationResultDate() · getApplicationRusultProfile() · getWithinOrg() · getAdminOrg() · getWebsite() · getMember() · getGroupEntity() · getNewOrgProvided() · getCreatedDate() · getModifiedDate() · getEmailValidationRequests() · getRenderedAdminFields() · setApplicationState(Boolean approved, Profile curUser) · addEmailValidationRequest(EmailValidationRequest emailValidationRequest) · addOrUpdateField(String name, String value)
getId()
Returns: Long
Unique database identifier for this application.
getFields()
Returns: NvSet
Name and value pairs captured from the registration or application form, holding any extra fields the group asks for. Null until the first field is set with addOrUpdateField.
getApplicationResultState()
Returns: SubscriptionAction
Outcome of the application, ACCEPTED or REJECTED once an admin has decided. Null, or PENDING, means it is still awaiting a decision and will show in the admin's pending list.
getApplicationResultDate()
Returns: Date
When the application was accepted or rejected. Null while the application is still pending.
getApplicationRusultProfile()
Returns: Profile
Profile of the admin who accepted or rejected the application. Null while it is still pending. Note the spelling of the property name, which is misspelt in the mapping and so in the API.
getWithinOrg()
Returns: Organisation
Organisation the applicant is joining within, when the group is scoped to a sub-organisation rather than to the admin organisation as a whole. May be null.
getAdminOrg()
Returns: Organisation
Administering organisation whose admins approve or reject this application, and the organisation the pending list is scoped by. Never null.
getWebsite()
Returns: Website
Website the application was submitted on, recorded so the source of the application is known. May be null for applications not raised through a website.
getMember()
Returns: Profile
Profile applying for membership. Never null.
getGroupEntity()
Returns: Group
Closed group being applied to. Its field set defines the extra fields the applicant was asked for. Never null.
getNewOrgProvided()
Returns: String
Organisation details typed in by the applicant when they nominated a new organisation rather than picking an existing one, held as free text up to 10000 characters for an admin to act on. Null when no new organisation was proposed.
getCreatedDate()
Returns: Date
When the application was submitted. The pending and history finders order by this.
getModifiedDate()
Returns: Date
When the application was last changed, for example when fields were updated or a decision recorded.
getEmailValidationRequests()
Returns: List<EmailValidationRequest>
Email address verification requests raised for this application, used where the group requires the applicant to confirm their address before the application can be decided. May be null or empty.
getRenderedAdminFields()
Returns: NvSet
The submitted fields with each value rendered as the admin-facing HTML defined by the group's field set, so that file uploads and similar field types display properly in the admin UI. Returns null when no fields were submitted, and passes values through unchanged for fields the group does not define.
setApplicationState(Boolean approved, Profile curUser)
Returns: void
Records the admin's decision on this application, setting the result state to ACCEPTED or REJECTED, the result date to now, and the deciding profile. It only updates this record; it does not create the group membership or notify the applicant.
| Parameter | Description |
|---|---|
approved | true to accept the application, false to reject it |
curUser | the profile of the admin making the decision |
addEmailValidationRequest(EmailValidationRequest emailValidationRequest)
Returns: void
Adds an email address verification request to this application, creating the collection if this is the first one. The request itself is not saved by this call.
| Parameter | Description |
|---|---|
emailValidationRequest | the validation request to attach to this application |
addOrUpdateField(String name, String value)
Returns: void
Sets one of the application's extra fields, adding it if it is not already there and overwriting it if it is. Creates the field set on first use and saves the change through the current session, so this writes to the database rather than only changing the in-memory object.
| Parameter | Description |
|---|---|
name | the name of the field to add or update |
value | the value to save against that field |