def update_model(self, form, model): form.populate_obj(model) if form.password.data: model.password = bcrypt.generate_password_hash( form.password.data).decode('utf-8') self.session.add(model) self._on_model_change(form, model, False) self.session.commit() return redirect(url_for('home_admin'))
def create_model(self, form): model = self.model(form.username.data, form.password.data, form.admin.data) form.populate_obj(model) model.password = bcrypt.generate_password_hash( form.password.data).decode('utf-8') self.session.add(model) self._on_model_change(form, model, True) self.session.commit() return redirect(url_for('home_admin'))
def create_model(self, form): model = self.model( login = form.login.data, password = form.password.data, \ type=dict(form.type.choices).get(form.type.data) ) form.populate_obj(model) model.password = bcrypt.generate_password_hash( form.password.data).decode('utf-8') self.session.add(model) self._on_model_change(form, model, True) self.session.commit() return redirect(url_for('home_admin'))
def register(): if current_user.is_authenticated: return redirect(url_for('home')) form = RegistrationForm() if form.validate_on_submit(): hashed_password = bcrypt.generate_password_hash( form.password.data).decode('utf-8') user = User(username=form.username.data, email=form.email.data, password=hashed_password) db.session.add(user) db.session.commit() flash(f'Your account has been created. You are now able to log in', 'success') return redirect(url_for('login')) return render_template('register.html', title='Register', form=form)
def account(): form = UpdateAccountForm() if request.method == "POST" and form.validate(): user = User.query.filter_by(email=form.email.data).first() if bcrypt.check_password_hash(current_user.password, form.passwordcheck.data): hashed_password = bcrypt.generate_password_hash( form.new_password.data).decode('utf-8') current_user.password = hashed_password current_user.username = form.username.data current_user.email = form.email.data user.password = hashed_password db.session.commit() flash('Success. You change your account', 'success') else: flash('Unsuccess. Please check correct of yuor input data', 'danger') elif request.method == 'GET': form.username.data = current_user.username form.email.data = current_user.email return render_template('account.html', title='Account', form=form)