def translate(cclass, lang='eng'): ''' Call this from routes.py to translate to current language setting ''' cclass.password = PasswordField(tr('Password', lang), validators=[DataRequired()]) cclass.confirm_password = PasswordField( tr('Confirm Password'), validators=[DataRequired(), EqualTo('password')]) cclass.submit = SubmitField(tr('Reset Password'))
def translate(cclass): ''' Call this from routes.py to translate to current language setting ''' cclass.username = StringField(tr('Username')) cclass.email = EmailField(tr('Email')) cclass.fname = StringField(tr('First Name'), validators=[DataRequired()]) cclass.lname = StringField(tr('Last Name'), validators=[DataRequired()]) cclass.submit = SubmitField(tr('Save'))
def translate(cclass): ''' Call this from routes.py to translate to current language setting ''' cclass.email = EmailField(tr('Email'), validators=[DataRequired(), Email()]) cclass.password = PasswordField(tr('Password'), validators=[DataRequired()]) cclass.remember = BooleanField(tr('Remember Me')) cclass.submit = SubmitField(tr('Login'))
def reset_request(): if logged_in(): return redirect( url_for('home')) RequestResetForm.translate() form = RequestResetForm() if form.validate_on_submit(): user = auth.User( form.email.data) if not user.valid: flash( tr('email_not_exists'), 'danger') return render_template('register.tmpl', title='Register', form=form) send_reset_email( user) flash( tr('reset_email_sent'), 'info') return redirect(url_for('login')) return render_template('reset_request.tmpl', title='Reset Password', form=form)
def verify_email(token): """ User clicked on email verification link. """ s = Serializer(app.config['SECRET_KEY']) user_id = s.loads(token)['user_id'] user = auth.User(user_id) user.set_email_verified() flash(tr('email_verified'), 'success') return redirect(url_for('flash_only'))
def reset_token(token): if logged_in(): return redirect( url_for('index')) s = Serializer(app.config['SECRET_KEY']) user_id = s.loads(token)['user_id'] lang = s.loads(token)['lang'] user = auth.User( user_id) if not user.valid: flash( tr( 'invalid_token', 'warning')) return redirect( url_for('reset_request')) ResetPasswordForm.translate( lang) form = ResetPasswordForm() if form.validate_on_submit(): user.set_password( form.password.data) flash( tr( 'password_updated'), 'success') return redirect(url_for('login')) return render_template('reset_token.tmpl', title='Reset Password', form=form)
def login(): if logged_in(): return redirect( url_for('index')) LoginForm.translate() form = LoginForm() if form.validate_on_submit(): user = auth.User( form.email.data) if user.valid and user.password_matches( form.password.data): if not user.email_verified(): flash(tr('not_verified'), 'danger') return redirect( url_for('login')) login_user(user, remember=form.remember.data) next_page = request.args.get('next') # Magically populated to where we came from return redirect(next_page) if next_page else redirect(url_for('index')) else: flash(tr('login_failed'), 'danger') res = render_template('login.tmpl', title='Login', form=form) return res
def register(): if logged_in(): return redirect(url_for('index')) RegistrationForm.translate() form = RegistrationForm() if form.validate_on_submit(): formname = form.username.data.strip() formemail = form.email.data.strip().lower() user = auth.User(formemail) if formname.lower().startswith('guest'): flash(tr('guest_invalid'), 'danger') return render_template('register.tmpl', title='Register', form=form) if user.valid: if user.data['username'] != formname: flash(tr('account_exists'), 'danger') return render_template('register.tmpl', title='Register', form=form) hashed_password = bcrypt.generate_password_hash( form.password.data).decode('utf-8') user_data = { 'username': form.username.data, 'fname': form.fname.data, 'lname': form.lname.data, 'email_verified': False } ret = user.createdb(user_data) if ret == 'err_user_exists': user.update_db() #flash( tr('name_taken'), 'danger') #return render_template('register.tmpl', title='Register', form=form) elif ret != 'ok': flash(tr('err_create_user'), 'danger') return render_template('register.tmpl', title='Register', form=form) user.set_password(form.password.data) send_register_email(user) flash(tr('email_sent'), 'info') return redirect(url_for('flash_only')) return render_template('register.tmpl', title='Register', form=form)
def account(): UpdateAccountForm.translate() form = UpdateAccountForm() if form.validate_on_submit(): current_user.data['fname'] = form.fname.data.strip().strip() current_user.data['lname'] = form.lname.data.strip().strip() current_user.update_db() flash(tr('account_updated'), 'success') return redirect(url_for('account')) elif request.method == 'GET': form.username.data = current_user.data['username'] form.email.data = current_user.data['email'] form.fname.data = current_user.data['fname'] form.lname.data = current_user.data['lname'] return render_template('account.tmpl', title='Account', form=form)
def translate(cclass): ''' Call this from routes.py to translate to current language setting ''' cclass.username = StringField( tr('Username'), validators=[DataRequired(), Length(min=2, max=20)]) cclass.email = EmailField(tr('Email'), validators=[DataRequired(), Email()]) cclass.fname = StringField(tr('First Name'), validators=[DataRequired()]) cclass.lname = StringField(tr('Last Name'), validators=[DataRequired()]) cclass.password = PasswordField(tr('Password'), validators=[DataRequired()]) cclass.confirm_password = PasswordField( tr('Confirm Password'), validators=[DataRequired(), EqualTo('password')]) cclass.submit = SubmitField(tr('Sign Up'))
def translate(cclass): ''' Call this from routes.py to translate to current language setting ''' cclass.email = EmailField(tr('Email'), validators=[DataRequired(), Email()]) cclass.submit = SubmitField(tr('Request Password Reset'))