def get(self): email = request.args.get('email') LOGGER.debug("Resending verification email to: {}".format(email)) user = user_repository.get_by_email(email, g.organisation.id) if not user: LOGGER.debug( "User not found for email: {} in organisation: {}".format( email, g.organisation.name)) return USER_NOT_FOUND if user.verify_token is None: user.verify_token = make_code() try: db.session.commit() except IntegrityError: LOGGER.error("Adding verify token for {} failed. ".format(email)) return ADD_VERIFY_TOKEN_FAILED email_user('verify-email', template_parameters=dict(system=g.organisation.system_name, organisation=g.organisation.name, host=misc.get_baobab_host(), token=user.verify_token), user=user, subject_parameters=dict(system=g.organisation.system_name)) LOGGER.debug("Resent email verification to: {}".format(email)) return {}, 201
def get(self): email = request.args.get('email') LOGGER.debug("Resending verification email to: {}".format(email)) user = db.session.query(AppUser).filter( func.lower(AppUser.email) == func.lower(email)).first() if not user: LOGGER.debug("User not found for email: {}".format(email)) return USER_NOT_FOUND if user.verify_token is None: user.verify_token = make_code() try: db.session.commit() except IntegrityError: LOGGER.error("Adding verify token for {} failed. ".format(email)) return ADD_VERIFY_TOKEN_FAILED send_mail(recipient=user.email, subject='Baobab Email Verification', body_text=VERIFY_EMAIL_BODY.format(user.user_title, user.firstname, user.lastname, get_baobab_host(), user.verify_token)) LOGGER.debug("Resent email verification to: {}".format(email)) return {}, 201
def post(self): args = self.req_parser.parse_args() user_api = UserAPI.UserAPI() user, status = user_api.post(invitedGuest=True) if status != 201: return user, status invited_guest_api = InvitedGuestAPI() invited_guest_info, status = invited_guest_api.post(send_email=False) if status == 201: event_id = invited_guest_info['event_id'] role = invited_guest_info['role'] user = user_repository.get_by_id(user['id']) event = event_repository.get_by_id(event_id) reset_code = misc.make_code() password_reset = PasswordReset(user=user) db.session.add(password_reset) db.session.commit() try: send_mail(recipient=user.email, subject='Your invitation to {}'.format(event.name), body_text=NEW_GUEST_EMAIL_TEMPLATE.format( user_title=user.user_title, firstname=user.firstname, lastname=user.lastname, role=role, event_name=event.name, event_key=event.key, system_name=g.organisation.system_name, host=misc.get_baobab_host(), reset_code=password_reset.code)) except Exception as e: LOGGER.error( 'Failed to send email for invited guest with user Id {} due to: {}' .format(user.id, e)) return INVITED_GUEST_EMAIL_FAILED return invited_guest_info, status
def post(self): args = self.req_parser.parse_args() user_api = UserAPI.UserAPI() user, status = user_api.post(invitedGuest=True) if status != 201: return user, status invited_guest_api = InvitedGuestAPI() invited_guest_info, status = invited_guest_api.post(send_email=False) if status == 201: event_id = invited_guest_info['event_id'] role = invited_guest_info['role'] user = user_repository.get_by_id(user['id']) event = event_repository.get_by_id(event_id) reset_code = misc.make_code() password_reset=PasswordReset(user=user) db.session.add(password_reset) db.session.commit() try: email_user( 'new-guest-registration' if event.is_registration_open else 'new-guest-no-registration', template_parameters=dict( event_key=event.key, system_name=g.organisation.system_name, host=misc.get_baobab_host(), role=role, reset_code=password_reset.code, ), event=event, user=user ) except Exception as e: LOGGER.error('Failed to send email for invited guest with user Id {} due to: {}'.format(user.id, e)) return INVITED_GUEST_EMAIL_FAILED return invited_guest_info, status
def get(self): email = request.args.get('email') LOGGER.debug("Resending verification email to: {}".format(email)) user = user_repository.get_by_email(email, g.organisation.id) if not user: LOGGER.debug( "User not found for email: {} in organisation: {}".format( email, g.organisation.name)) return USER_NOT_FOUND if user.verify_token is None: user.verify_token = make_code() try: db.session.commit() except IntegrityError: LOGGER.error("Adding verify token for {} failed. ".format(email)) return ADD_VERIFY_TOKEN_FAILED send_mail(recipient=user.email, sender_name=g.organisation.name, sender_email=g.organisation.email_from, subject='{} Email Verification'.format( g.organisation.system_name), body_text=VERIFY_EMAIL_BODY.format( title=user.user_title, firstname=user.firstname, lastname=user.lastname, system=g.organisation.system_name, organisation=g.organisation.name, host=misc.get_baobab_host(), token=user.verify_token)) LOGGER.debug("Resent email verification to: {}".format(email)) return {}, 201
def update_email(self, new_email): self.verified_email = False self.verify_token = make_code() self.email = new_email
def on_post(self, req, res): email = req.context["data"]["email"] self.cursor.callproc("sp_reset_password_request", [email, make_code()]) res.status = falcon.HTTP_201 res.body = json.dumps({})
def on_post(self, req, res): email = req.context['data']['email'] self.cursor.callproc('sp_reset_password_request', [email, make_code(), ]) res.status = falcon.HTTP_201 res.body = json.dumps({})