magpie.api.management.register.register_utils¶
Attributes¶
Functions¶
Handles the operation according to the provided temporary token. |
|
|
Get all existing group that are marked as publicly discoverable from the database. |
|
Obtains the requested discoverable group by name. |
Registers a temporary user pending approval. |
|
Applies the appropriate step of the user registration workflow following reception of the confirmation URL visit. |
|
|
Sends the email to the administrator to approve or refuse the Pending User registration. |
Applies the appropriate operation according to the decision the administrator took for the pending registration. |
|
|
Completes the successful user registration following any required validation steps. |
Module Contents¶
- magpie.api.management.register.register_utils.handle_temporary_token(tmp_token: magpie.models.TemporaryToken, request: pyramid.request.Request) pyramid.httpexceptions.HTTPException | pyramid.response.Response [source]¶
Handles the operation according to the provided temporary token.
- Returns:
Basic JSON response with successful indicate of correct handling of the token by default. If overridden, can be any HTML rendered response.
- magpie.api.management.register.register_utils.get_discoverable_groups(db_session: sqlalchemy.orm.session.Session) List[magpie.models.Group] [source]¶
Get all existing group that are marked as publicly discoverable from the database.
- magpie.api.management.register.register_utils.get_discoverable_group_by_name(group_name: magpie.typedefs.Str, db_session: sqlalchemy.orm.session.Session) magpie.models.Group [source]¶
Obtains the requested discoverable group by name.
Note
For security reason, an existing group that is NOT discoverable will return NotFound instead of Forbidden. Otherwise we give an indication to a potentially non-admin user that some group of that name exists.
- Returns:
found group matched by name
- Raises:
HTTPNotFound – if the group cannot be found or if matched group name is not discoverable.
- magpie.api.management.register.register_utils.register_pending_user(user_name: magpie.typedefs.Str, email: magpie.typedefs.Str, password: magpie.typedefs.Str, request: pyramid.request.Request) pyramid.httpexceptions.HTTPException [source]¶
Registers a temporary user pending approval.
Procedure and validation workflow is similar to normal user creation by an administrator, but employs reduced fields and different target table. Some operations are also simplified as they are not required for pending user. There is also no user creation Webhook triggers as User doesn’t exist yet.
See also
See
magpie.api.management.user.user_utils.create_user()
for similarities and distinctions of operations between a normal User and a Pending User.Implements steps (1) and (2) of the user registration procedure.
See also
See proc_user_registration for the procedure step details.
See
request_admin_approval()
andcomplete_user_registration()
for following steps of the procedure following reception of the confirmation email.
- Returns:
HTTP created with relevant details if successful.
- Raises:
HTTPException – HTTP error with relevant details upon any failing condition.
- magpie.api.management.register.register_utils.handle_user_registration_confirmation(tmp_token: magpie.models.TemporaryToken, request: pyramid.request.Request) pyramid.response.Response [source]¶
Applies the appropriate step of the user registration workflow following reception of the confirmation URL visit.
Implements steps (3A) and (3B) redirection of the user registration procedure. Generates the appropriate response that will be displayed to the Pending User that confirmed its email.
See also
See proc_user_registration for the procedure step details.
See request_admin_approval for step 3B.
See complete_user_registration for step 5 (from 3A).
- magpie.api.management.register.register_utils.request_admin_approval(tmp_token: magpie.models.TemporaryToken, request: pyramid.request.Request) None [source]¶
Sends the email to the administrator to approve or refuse the Pending User registration.
Implements step (3B) of the user registration procedure.
See also
See proc_user_registration for the procedure step details.
- magpie.api.management.register.register_utils.handle_user_registration_admin_decision(tmp_token: magpie.models.TemporaryToken, request: pyramid.request.Request) pyramid.response.Response [source]¶
Applies the appropriate operation according to the decision the administrator took for the pending registration.
approved: Moves to step (5)
declined: Removes the pending user request.
Generates the appropriate response that will be displayed to the administrator.
Implements step (4) of the user registration procedure.
See also
See proc_user_registration for the procedure step details.
complete_user_registration()
for step 5 following approval.
- magpie.api.management.register.register_utils.complete_user_registration(tmp_token: magpie.models.TemporaryToken, approval_required: bool, request: pyramid.request.Request) None [source]¶
Completes the successful user registration following any required validation steps.
Generates the User from the Pending User. Then, sends configured notification emails about successful User creation.
Implements steps (5) and (6) of the user registration procedure.
See also
See proc_user_registration for the procedure step details.
register_pending_user()
for initial steps that started the process.request_admin_approval()
for intermediate steps if approval feature was enabled.