def after_create_object(self, user, data, view_kwargs): """ method to send- email notification mail link for register verification add image urls :param user: :param data: :param view_kwargs: :return: """ s = get_serializer() hash = str(base64.b64encode(str(s.dumps([user.email, str_generator()])).encode()), 'utf-8') link = make_frontend_url('/verify'.format(id=user.id), {'token': hash}) send_email_with_action(user, USER_REGISTER_WITH_PASSWORD, app_name=get_settings()['app_name'], email=user.email) send_email_confirmation(user.email, link) if data.get('original_image_url'): try: uploaded_images = create_save_image_sizes(data['original_image_url'], 'speaker-image', user.id) except (urllib.error.HTTPError, urllib.error.URLError): raise UnprocessableEntity( {'source': 'attributes/original-image-url'}, 'Invalid Image URL' ) uploaded_images['small_image_url'] = uploaded_images['thumbnail_image_url'] del uploaded_images['large_image_url'] self.session.query(User).filter_by(id=user.id).update(uploaded_images)
def resend_verification_email(): try: email = request.json['data']['email'] except TypeError: logging.error('Bad Request') raise BadRequestError({'source': ''}, 'Bad Request Error') try: user = User.query.filter_by(email=email).one() except NoResultFound: logging.info('User with email: ' + email + ' not found.') raise UnprocessableEntityError( {'source': ''}, 'User with email: ' + email + ' not found.' ) else: serializer = get_serializer() hash_ = str( base64.b64encode( str(serializer.dumps([user.email, str_generator()])).encode() ), 'utf-8', ) link = make_frontend_url('/verify', {'token': hash_}) send_email_confirmation(user.email, link) logging.info('Verification email resent') return make_response(jsonify(message="Verification email resent"), 200)
def after_create_object(self, user, data, view_kwargs): """ method to send- email notification mail link for register verification add image urls :param user: :param data: :param view_kwargs: :return: """ s = get_serializer() hash = str( base64.b64encode( str(s.dumps([user.email, str_generator()])).encode()), 'utf-8') link = make_frontend_url('/verify'.format(id=user.id), {'token': hash}) send_email_with_action(user, USER_REGISTER_WITH_PASSWORD, app_name=get_settings()['app_name'], email=user.email) send_email_confirmation(user.email, link) if data.get('original_image_url'): try: uploaded_images = create_save_image_sizes( data['original_image_url'], 'speaker-image', user.id) except (urllib.error.HTTPError, urllib.error.URLError): raise UnprocessableEntity( {'source': 'attributes/original-image-url'}, 'Invalid Image URL') uploaded_images['small_image_url'] = uploaded_images[ 'thumbnail_image_url'] del uploaded_images['large_image_url'] self.session.query(User).filter_by( id=user.id).update(uploaded_images)
def send_email_change_user_email(user, email): serializer = get_serializer() hash_ = str( base64.b64encode(bytes(serializer.dumps([email, str_generator()]), 'utf-8')), 'utf-8', ) link = make_frontend_url('/email/verify', {'token': hash_}) send_email_with_action(user.email, USER_CONFIRM, email=user.email, link=link) send_email_with_action(email, USER_CHANGE_EMAIL, email=email, new_email=user.email)
def after_create_object(self, user, data, view_kwargs): """ method to send- email notification mail link for register verification add image urls :param user: :param data: :param view_kwargs: :return: """ if user.was_registered_with_order: link = make_frontend_url('/reset-password', {'token': user.reset_password}) send_email_with_action( user, PASSWORD_RESET_AND_VERIFY, app_name=get_settings()['app_name'], email=user.email, link=link, ) else: s = get_serializer() hash = str( base64.b64encode( str(s.dumps([user.email, str_generator()])).encode()), 'utf-8', ) link = make_frontend_url('/verify'.format(id=user.id), {'token': hash}) send_email_with_action( user, USER_REGISTER_WITH_PASSWORD, app_name=get_settings()['app_name'], email=user.email, ) send_email_confirmation(user.email, link) # TODO Handle in a celery task # if data.get('original_image_url'): # try: # uploaded_images = create_save_image_sizes(data['original_image_url'], 'speaker-image', user.id) # except (urllib.error.HTTPError, urllib.error.URLError): # raise UnprocessableEntityError( # {'source': 'attributes/original-image-url'}, 'Invalid Image URL' # ) # uploaded_images['small_image_url'] = uploaded_images['thumbnail_image_url'] # del uploaded_images['large_image_url'] # self.session.query(User).filter_by(id=user.id).update(uploaded_images) if data.get('avatar_url'): start_image_resizing_tasks(user, data['avatar_url'])
def verify_email(): token = base64.b64decode(request.json['data']['token']) s = get_serializer() try: data = s.loads(token) except Exception: return BadRequestError({'source': ''}, 'Invalid Token').respond() try: user = User.query.filter_by(email=data[0]).one() except Exception: return BadRequestError({'source': ''}, 'Invalid Token').respond() else: user.is_verified = True save_to_db(user) return make_response(jsonify(message="Email Verified"), 200)
def after_create_object(self, user, data, view_kwargs): """ method to send- email notification mail link for register verification add image urls :param user: :param data: :param view_kwargs: :return: """ s = get_serializer() hash = str( base64.b64encode( str(s.dumps([user.email, str_generator()])).encode()), 'utf-8', ) link = make_frontend_url('/verify', {'token': hash}) settings = get_settings() send_email( to=user.email, action=USER_REGISTER, subject=MAILS[USER_REGISTER]['subject'].format( app_name=settings['app_name']), html=render_template( 'email/user_register.html', email=user.email, link=link, settings=get_settings(), ), ) # TODO Handle in a celery task # if data.get('original_image_url'): # try: # uploaded_images = create_save_image_sizes(data['original_image_url'], 'speaker-image', user.id) # except (urllib.error.HTTPError, urllib.error.URLError): # raise UnprocessableEntityError( # {'source': 'attributes/original-image-url'}, 'Invalid Image URL' # ) # uploaded_images['small_image_url'] = uploaded_images['thumbnail_image_url'] # del uploaded_images['large_image_url'] # self.session.query(User).filter_by(id=user.id).update(uploaded_images) if data.get('avatar_url'): start_image_resizing_tasks(user, data['avatar_url'])
def send_user_register_email(user): s = get_serializer() hash = str( base64.b64encode(str(s.dumps([user.email, str_generator()])).encode()), 'utf-8', ) link = make_frontend_url('/verify', {'token': hash}) settings = get_settings() action = MailType.USER_REGISTER mail = MAILS[action] send_email( to=user.email, action=action, subject=mail['subject'].format(app_name=settings['app_name']), html=render_template( mail['template'], email=user.email, link=link, settings=get_settings(), ), )
def verify_email(): token = base64.b64decode(request.json['data']['token']) s = get_serializer() try: data = s.loads(token) except Exception: return abort( make_response(jsonify(error="Invalid Token"), 400) ) try: user = User.query.filter_by(email=data[0]).one() except Exception: return abort( make_response(jsonify(error="Invalid Token"), 400) ) else: user.is_verified = True save_to_db(user) return make_response(jsonify(message="Email Verified"), 200)
def send_email_change_user_email(user, email): serializer = get_serializer() hash_ = str( base64.b64encode( bytes(serializer.dumps([email, str_generator()]), 'utf-8')), 'utf-8', ) app_name = get_settings()['app_name'] link = make_frontend_url('/email/verify', {'token': hash_}) send_email_with_action(user.email, MailType.USER_CONFIRM, 'user_confirm', email=user.email, link=link, app_name=app_name) send_email_with_action( email, MailType.USER_CHANGE_EMAIL, 'user_change_email', email=email, new_email=user.email, )
def after_create_object(self, user, data, view_kwargs): """ method to send- email notification mail link for register verification add image urls :param user: :param data: :param view_kwargs: :return: """ s = get_serializer() hash = base64.b64encode(s.dumps([user.email, str_generator()])) link = make_frontend_url('/email/verify'.format(id=user.id), {'token': hash}) send_email_with_action(user, USER_REGISTER_WITH_PASSWORD, app_name=get_settings()['app_name'], email=user.email) send_email_confirmation(user.email, link) if data.get('original_image_url'): uploaded_images = create_save_image_sizes(data['original_image_url'], 'user', user.id) uploaded_images['small_image_url'] = uploaded_images['thumbnail_image_url'] del uploaded_images['large_image_url'] self.session.query(User).filter_by(id=user.id).update(uploaded_images)
def rocket_chat_password(self): return get_serializer().dumps(f'rocket_chat_user_{self.id}')
def send_email_change_user_email(user, email): serializer = get_serializer() hash_ = str(base64.b64encode(bytes(serializer.dumps([email, str_generator()]), 'utf-8')), 'utf-8') link = make_frontend_url('/email/verify'.format(id=user.id), {'token': hash_}) send_email_with_action(user.email, USER_CONFIRM, email=user.email, link=link) send_email_with_action(email, USER_CHANGE_EMAIL, email=email, new_email=user.email)
def send_email_change_user_email(user, email): s = get_serializer() hash = base64.b64encode(s.dumps([email, str_generator()])) link = make_frontend_url('/email/verify'.format(id=user.id), {'token': hash}) send_email_with_action(user.email, USER_CONFIRM, email=user.email, link=link) send_email_with_action(email, USER_CHANGE_EMAIL, email=email, new_email=user.email)