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

PropertyReturnsDescription
adminOrgOrganisationAdministering organisation whose admins approve or reject this application, and the organisation the pending list is scoped by. Never null.
applicationResultDateDateWhen the application was accepted or rejected. Null while the application is still pending.
applicationResultStateSubscriptionActionOutcome 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.
applicationRusultProfileProfileProfile 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.
createdDateDateWhen the application was submitted. The pending and history finders order by this.
emailValidationRequestsList<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.
fieldsNvSetName 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.
groupEntityGroupClosed group being applied to. Its field set defines the extra fields the applicant was asked for. Never null.
idLongUnique database identifier for this application.
memberProfileProfile applying for membership. Never null.
modifiedDateDateWhen the application was last changed, for example when fields were updated or a decision recorded.
newOrgProvidedStringOrganisation 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.
renderedAdminFieldsNvSetThe 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.
websiteWebsiteWebsite the application was submitted on, recorded so the source of the application is known. May be null for applications not raised through a website.
withinOrgOrganisationOrganisation 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.

ParameterDescription
approvedtrue to accept the application, false to reject it
curUserthe 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.

ParameterDescription
emailValidationRequestthe 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.

ParameterDescription
namethe name of the field to add or update
valuethe value to save against that field
To get full access to the Kademi Hub existing customers can login here, or new customers can register here.