Exemplo n.º 1
0
    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
Exemplo n.º 2
0
    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
Exemplo n.º 3
0
Arquivo: api.py Projeto: mxaba/Baobab
    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
Exemplo n.º 4
0
    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
Exemplo n.º 5
0
Arquivo: api.py Projeto: mxaba/Baobab
    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
Exemplo n.º 6
0
 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({})
Exemplo n.º 8
0
 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({})