コード例 #1
0
    def post(self):
        json_str = self.request.body
        data = json.loads(json_str)

        reset_validator = Schema({
            Required('email'): unicode
        })

        try:
            data = reset_validator(data)
        except MultipleInvalid as e:
            return self.json_resp(500, {
                'error': str(e),
                'message': 'Email could not be validated'
            })

        user = User.all().filter('email =', data['email']).get()
        user.hash = str(uuid.uuid4()).replace('-', '')
        user.put()
        print(user.hash)
        if user != None:
            send_email(user, 'Password Reset', 'emails/password_reset.html', {
                'reset_hash': user.hash
            })
            return self.json_resp(200, {
                'message': 'Reset email sent!'
            })
        else:
            # Security measure
            return self.json_resp(200, {
                'message': 'Reset email sent!'
            })
コード例 #2
0
 def get(self):
     user = self.current_user()
     message = 'Test Message'
     user.email = '*****@*****.**'
     send_email(user, 'Subject', 'emails/notification.html', {
         'message': message,
         'name': user.name,
         'community': {}
     })
     self.response.write('Sent')
コード例 #3
0
 def get(self):
     user = self.current_user()
     message = 'Test Message'
     user.email = '*****@*****.**'
     send_email(user, 'Subject', 'emails/notification.html', {
         'message': message,
         'name': user.name,
         'community': {}
     })
     self.response.write('Sent')
コード例 #4
0
ファイル: user.py プロジェクト: CugbLiu/app
def register():
    db = getattr(g, 'USER_DB', None)

    username = request.form.get('username', None)
    if username is None:
        return jsonify({'error': 'username can not be empty.'})

    email = request.form.get('email', None)
    if email is None:
        return jsonify({'error': 'email can not be empty.'})

    pwd = request.form.get('password', None)
    if pwd is None:
        return jsonify({'error': 'password can not be empty.'})
    password = bcrypt.hashpw(str(pwd), bcrypt.gensalt())

    u = db.query_by_email(email)
    if u == False:
        return jsonify({"error": "background database service error."}), 503
    elif u != None:
        return jsonify({'error': email + ' already exists.'})

    user = User(username, email, password)
    token = user.generate_confirmation_token()

    # need modify
    confirm_url = confirm_ip + url_for(
        'registerApi.confirm_email', token=token, _external=False)

    temp = render_template('activate.html',
                           confirm_url=confirm_url,
                           username=user.username)
    subject = "Please confirm your email address"

    if send_email(user.email, subject, temp):
        if db.insert_user(user):
            return jsonify({'result': 'success', 'username': user.username})
        else:
            return jsonify({
                'result': 'error',
                'message': 'register faliled'
            }), 500
    else:
        return jsonify({
            'result': 'error',
            'mssage': 'Email sending failed'
        }), 500
コード例 #5
0
ファイル: user.py プロジェクト: CugbLiu/app
def forget_password():
    email = request.values.get('email', None)
    if email is None:
        return jsonify({'result': 'error', 'message': "Email can't be empty."})
    else:
        u = db.query_by_email(email)
        # print '-----------------------------------'
        # print u, email
        # print '-----------------------------------'
        if u == False:
            return jsonify({"error":
                            "background database service error."}), 503
        elif u is None:
            return jsonify({
                'result': 'error',
                'message': "Sorry, can't find the user."
            })

        s = Serializer(current_app.config['SECRET_KEY'], expires_in=3600)
        token = s.dumps({'reset_email': email})

        # need modify reset_url
        temp = render_template('reset.html',
                               reset_url=reset_url + '?token=' + token,
                               username=user.username)

        subject = "Reset your password"
        if send_email(email, subject, temp):
            return jsonify({
                'result':
                'success',
                'message':
                'We have sent you an email with instructions to reset your password.'
            })
        else:
            return jsonify({
                'result': 'error',
                'message': 'Email sending failed'
            })