diff --git a/app/routes/login.py b/app/routes/login.py index d504be7..06055f2 100644 --- a/app/routes/login.py +++ b/app/routes/login.py @@ -9,6 +9,9 @@ from app.utils.render import render @app.route('/login', methods=['GET', 'POST']) def login(): + if current_user.is_authenticated: + return redirect(url_for('index')) + form = LoginForm() if form.validate_on_submit(): member = Member.query.filter_by(name=form.username.data).first() @@ -16,19 +19,25 @@ def login(): flash('Pseudo ou mot de passe invalide', 'error') return redirect(request.referrer) login_user(member, remember=form.remember_me.data) - # TODO: petit mot personnalisé pour l'utilisateur ? - flash('Connexion réussie', 'info') - r = request.args.get('next') - if r: - return redirect(r) - # TODO: faire en sorte qu'on soit redirigé vers la page actuelle si on se loggue dans la sidebar - # TODO: mais pas rediriger vers login si on est déjà loggué + # TODO: est-ce qu'on garde ce foutu message plus chiant qu'autre chose ? + flash(f'Bon retour parmi nous, {current_user.name} !', 'info') + if request.args.get('next'): + return redirect(request.args.get('next')) + if request.referrer: + return redirect(request.referrer) return redirect(url_for('index')) return render('login.html', form=form) @app.route('/logout') @login_required def logout(): + try: + print(request.referrer) + except Exception as e: + print('No referrer:', e) + logout_user() flash('Déconnexion réussie', 'info') + if request.referrer: + return redirect(request.referrer) return redirect(url_for('index')) \ No newline at end of file