Beispiel #1
0
def register():
    if request.method == 'POST':
        name = request.form.get('name')
        pw = request.form.get('pw')
        email = request.form.get('email')
        u = UserModel.query.filter_by(email=email).first()

        valid_email = check_email(email)
        #If user data passes our validation, we proceed.
        if valid_email and (len(pw) >= 8) and (len(name.strip()) >=
                                               1) and not (' ' in pw):
            if u:
                return jsonify({'message': 'user already exists.'})
            pw_hash = generate_password_hash(pw)
            u = UserModel(email=email, name=name, password=pw_hash)
            u.save()
            return redirect(url_for('.login'))
        else:

            data = defaultdict(lambda: '')
            if not valid_email: data['email'] = 'Please enter a valid email.'
            if ' ' in pw: data['pw'] = ('Password can\'t have spaces')
            if len(pw) < 8:
                data['pw'] = ('Password should be minimum 8 characters.')
            if len(name.strip()) < 1: data['name'] = ('Please enter a name.')
            return render_template('auth/register.html', errors=data)
    return render_template('auth/register.html')
Beispiel #2
0
def login():
    if request.method == 'POST':
        pw = request.form.get('pw')
        email = request.form.get('email')
        print(email, pw)
        valid_email = check_email(email)
        if valid_email:
            u = UserModel.query.filter_by(email=email).first()
            if u:
                if check_password_hash(u.password, pw):
                    login_user(u)
                    print('user logged in.')
                    return redirect(url_for('dashboard.dash'))
                else:
                    return render_template('auth/login.html',
                                           errors={'pw': 'wrong password!'})
            else:
                return render_template(
                    'auth/login.html',
                    errors={
                        'email': 'No user with this email address exists.'
                    })

        else:
            return render_template(
                'auth/login.html',
                errors={'email': 'Email you entered is invalid.'})

    return render_template('auth/login.html')
Beispiel #3
0
    def post(self):
        user_username = self.request.get('username')
        user_password = self.request.get('password')
        user_verify = self.request.get('verify')
        user_email = self.request.get('email')
        
        username_error = helpers.check_username(user_username)
        password_error = helpers.check_password(user_password)
        verify_error = ''
        if not password_error:
            verify_error = helpers.check_verify(user_verify, user_password)
        email_error = helpers.check_email(user_email)

        if (username_error or password_error or verify_error or email_error):
            self.write_form(user_username, '', '',
                user_email, username_error, password_error, verify_error, 
                email_error)
        else:
            self.redirect('/welcome?username=%s' % user_username)
Beispiel #4
0
    def post(self):
        self.user_username = self.request.get('username')
        self.user_password = self.request.get('password')
        self.user_verify = self.request.get('verify')
        self.user_email = self.request.get('email')
        
        username_error = helpers.check_username(self.user_username)
        password_error = helpers.check_password(self.user_password)
        verify_error = ''
        if not password_error:
            verify_error = helpers.check_verify(self.user_verify, self.user_password)
        email_error = helpers.check_email(self.user_email)

        if (username_error or password_error or verify_error or email_error):
            self.write_form(self.user_username, '', '',
                self.user_email, username_error, password_error, verify_error, 
                email_error)
        else:
            self.done()
Beispiel #5
0
 def validate_email(cls, email):
     return check_email(email)