diff --git a/app/routes.py b/app/routes.py index 7c81258..b08da40 100644 --- a/app/routes.py +++ b/app/routes.py @@ -9,58 +9,60 @@ from app.models import User @app.route('/', methods=['GET', 'POST']) def index(): - form = LoginForm() - if form.validate_on_submit(): - user = User.query.filter_by(username=form.username.data).first() - if user is None or not user.check_password(form.password.data): - flash('pseudo ou mot de passe invalide') - return redirect(url_for('index')) - login_user(user, remember=form.remember_me.data) + form = LoginForm() + if form.validate_on_submit(): + user = User.query.filter_by(username=form.username.data).first() + if user is None or not user.check_password(form.password.data): + flash('pseudo ou mot de passe invalide') + return redirect(url_for('index')) + login_user(user, remember=form.remember_me.data) - return render_template('index.html.j2', form=form) + return render_template('index.html.j2', form=form) @app.route('/logout/') def logout(): - logout_user() - return redirect(url_for('index')) + logout_user() + return redirect(url_for('index')) @app.route('/register', methods=['GET', 'POST']) def register(): - if current_user.is_authenticated: - return redirect(url_for('index')) - form = LoginForm() - form2 = RegistrationForm() - if form.validate_on_submit(): - user = User.query.filter_by(username=form.username.data).first() - if user is None or not user.check_password(form.password.data): - flash('pseudo ou mot de passe invalide') - return redirect(url_for('index')) - login_user(user, remember=form.remember_me.data) - if form2.validate_on_submit(): - user = User(username=form2.username.data, email=form2.email.data) - user.set_password(form2.password.data) - db.session.add(user) - db.session.commit() - flash('Congratulations, you are now a registered user!') - return redirect(url_for('validation')) - return render_template('register.html.j2', title='Register', form=form, form2 = form2) + if current_user.is_authenticated: + return redirect(url_for('index')) + form = LoginForm() + form2 = RegistrationForm() + if form.validate_on_submit(): + user = User.query.filter_by(username=form.username.data).first() + if user is None or not user.check_password(form.password.data): + flash('pseudo ou mot de passe invalide') + return redirect(url_for('index')) + login_user(user, remember=form.remember_me.data) + if form2.validate_on_submit(): + user = User(username=form2.username.data, email=form2.email.data) + user.set_password(form2.password.data) + db.session.add(user) + db.session.commit() + flash('Congratulations, you are now a registered user!') + return redirect(url_for('validation')) + return render_template('register.html.j2', title='Register', form=form, + form2=form2) + @app.route('/register/validation/') def validation(): - if current_user.is_authenticated : - return redirect(url_for('index')) - form = LoginForm() - if form.validate_on_submit(): - user = User.query.filter_by(username=form.username.data).first() - if user is None or not user.check_password(form.password.data): - flash('pseudo ou mot de passe invalide') - return redirect(url_for('index')) - login_user(user, remember=form.remember_me.data) - return render_template('validation.html.j2', form = form) + if current_user.is_authenticated: + return redirect(url_for('index')) + form = LoginForm() + if form.validate_on_submit(): + user = User.query.filter_by(username=form.username.data).first() + if user is None or not user.check_password(form.password.data): + flash('pseudo ou mot de passe invalide') + return redirect(url_for('index')) + login_user(user, remember=form.remember_me.data) + return render_template('validation.html.j2', form=form) + -@app.route('/error/') @app.errorhandler(400) @app.errorhandler(401) @app.errorhandler(403) @@ -69,15 +71,26 @@ def validation(): @app.errorhandler(500) @app.errorhandler(501) @app.errorhandler(503) +def ma_page_erreur(error): + form = LoginForm() + if form.validate_on_submit(): + user = User.query.filter_by(username=form.username.data).first() + if user is None or not user.check_password(form.password.data): + flash('pseudo ou mot de passe invalide') + return redirect(url_for('index')) + login_user(user, remember=form.remember_me.data) + return render_template("base/errors.html.j2", error_code=error.code, + form=form), error.code + + +@app.route('/error/') def errors(error): - form = LoginForm() - if form.validate_on_submit(): - user = User.query.filter_by(username=form.username.data).first() - if user is None or not user.check_password(form.password.data): - flash('pseudo ou mot de passe invalide') - return redirect(url_for('index')) - login_user(user, remember=form.remember_me.data) - try: - return render_template("base/errors.html.j2", error_code = error, form=form), error - except: - return render_template("base/errors.html.j2", error_code = error.code, form=form), error.code + form = LoginForm() + if form.validate_on_submit(): + user = User.query.filter_by(username=form.username.data).first() + if user is None or not user.check_password(form.password.data): + flash('pseudo ou mot de passe invalide') + return redirect(url_for('index')) + login_user(user, remember=form.remember_me.data) + return render_template("base/errors.html.j2", error_code=error, + form=form), error