def dummy_stageuser(ipa_testing_config): now = datetime.datetime.utcnow().replace(microsecond=0) user = ipa_admin.stageuser_add( "dummy", "Dummy", 'User', mail="*****@*****.**", login_shell='/bin/bash', fascreationtime=f"{now.isoformat()}Z", ) yield User(user) try: ipa_admin.stageuser_del("dummy") except python_freeipa.exceptions.NotFound: pass
def dummy_stageuser(ipa_testing_config): now = datetime.datetime.utcnow().replace(microsecond=0) user = ipa_admin.stageuser_add( a_uid="dummy", o_givenname="Dummy", o_sn="User", o_cn="Dummy User", o_mail="*****@*****.**", o_loginshell='/bin/bash', fascreationtime=f"{now.isoformat()}Z", )['result'] yield User(user) try: ipa_admin.stageuser_del(a_uid="dummy") except python_freeipa.exceptions.NotFound: pass
def handle_register_form(form): username = form.username.data now = datetime.datetime.utcnow().replace(microsecond=0) # First, create the stage user. try: user = ipa_admin.stageuser_add( a_uid=username, o_givenname=form.firstname.data, o_sn=form.lastname.data, o_cn=form.firstname.data + " " + form.lastname.data, o_mail=form.mail.data, o_loginshell='/bin/bash', fascreationtime=f"{now.isoformat()}Z", faslocale=guess_locale(), fastimezone=app.config["USER_DEFAULTS"]["timezone"], fasstatusnote=app.config["USER_DEFAULTS"]["status_note"], )['result'] user = User(user) except python_freeipa.exceptions.DuplicateEntry: raise FormError( "username", _("This username is already taken, please choose another one.")) except python_freeipa.exceptions.ValidationError as e: # for example: invalid username. We don't know which field to link it to _handle_registration_validation_error(username, e) except python_freeipa.exceptions.FreeIPAError as e: app.logger.error( f'An unhandled error {e.__class__.__name__} happened while registering user ' f'{username}: {e.message}') raise FormError( "non_field_errors", _('An error occurred while creating the account, please try again.' ), ) stageuser_created.send(user, request=request._get_current_object()) if app.config["BASSET_URL"]: return redirect(f"{url_for('spamcheck_wait')}?username={username}") else: # Send the address validation email _send_validation_email(user) return redirect( f"{url_for('confirm_registration')}?username={username}")
def handle_register_form(form): username = form.username.data now = datetime.datetime.utcnow().replace(microsecond=0) # First, create the stage user. try: user = ipa_admin.stageuser_add( username, form.firstname.data, form.lastname.data, mail=form.mail.data, login_shell='/bin/bash', fascreationtime=f"{now.isoformat()}Z", faslocale=guess_locale(), fastimezone=app.config["USER_DEFAULTS"]["user_timezone"], ) user = User(user) except python_freeipa.exceptions.DuplicateEntry: raise FormError( "username", _("This username is already taken, please choose another one.")) except python_freeipa.exceptions.ValidationError as e: # for example: invalid username. We don't know which field to link it to _handle_registration_validation_error(username, e) except python_freeipa.exceptions.FreeIPAError as e: app.logger.error( f'An unhandled error {e.__class__.__name__} happened while registering user ' f'{username}: {e.message}') raise FormError( "non_field_errors", _('An error occurred while creating the account, please try again.' ), ) # Send the address validation email _send_validation_email(user) return redirect(f"{url_for('confirm_registration')}?username={username}")