def signin(): next_url = get_redirect_target() if g.user: return redirect(next_url or url_for('index')) form = SigninForm() if form.validate_on_submit(): login(form.user) return form.redirect() return render_template('account/signin.html', form=form)
def login(): if request.method == 'POST': form = request.form u = db.get_user({'username': form.get('username')}) next_url = utils.get_redirect_target() if not next_url: next_url = url_for('admin.index') if u: if hash_text(form.get('password')) == u.get('password'): # login session['user'] = u return redirect(next_url) print(u) flash(messages.INVALID_USERNAME_PASSWORD, 'error') return redirect(url_for('accounts.login')) ctx = {} return render_template('accounts/login.html', **ctx)
def redirect(self, endpoint="diary_index", **values): if is_safe_url(self.next.data): return redirect(self.next.data) target = get_redirect_target() return redirect(target or url_for(endpoint, **values))
def __init__(self, *args, **kwargs): Form.__init__(self, *args, **kwargs) if not self.next.data: self.next.data = get_redirect_target() or ""