From 2d9b1654749a61c05796c73e049e8e1c6bb1722c Mon Sep 17 00:00:00 2001 From: Guillaume Horel Date: Sat, 21 Mar 2015 18:33:17 -0400 Subject: handle wrong login/password and improve translations --- static/wedding.js | 10 ++++++++-- templates/login.htm | 24 ++++++++++++++++++------ wedding.py | 15 +++++++++++---- 3 files changed, 37 insertions(+), 12 deletions(-) diff --git a/static/wedding.js b/static/wedding.js index 1a61f17..9e2f220 100644 --- a/static/wedding.js +++ b/static/wedding.js @@ -1,20 +1,26 @@ $("input:radio[name=language]").change(function(){ if($(this).val()=="fr"){ $("#lab-lang").text("Langue:"); - $("label[for=name]").text("Prenom:"); + $("label[for=name]").text("Prénom:"); + $("#name").attr("placeholder", "Prénom"); $("label[for=password]").text("Mot de Passe:"); + $("#password").attr("placeholder", "Mot de Passe"); $("button[name=login]").text("Entrer"); } if($(this).val()=="en"){ $("#lab-lang").text("Language:"); $("label[for=name]").text("Name:"); + $("#name").attr("placeholder", "Name"); $("label[for=password]").text("Password:"); + $("#password").attr("placeholder", "Password"); $("button[name=login]").text("Login"); } if($(this).val()=="sr"){ $("#lab-lang").text("Jezik:"); $("label[for=name]").text("Ime:"); - $("label[for=password]").text("Sifra:"); + $("#name").attr("placeholder", "Ime"); + $("label[for=password]").text("Šifra:"); + $("#password").attr("placeholder", "Šifra"); $("button[name=login]").text("Login"); } }); diff --git a/templates/login.htm b/templates/login.htm index df43728..ded1b10 100644 --- a/templates/login.htm +++ b/templates/login.htm @@ -18,17 +18,17 @@
-

@@ -47,6 +47,17 @@ name="password" placeholder="Password"/> + {% with messages = get_flashed_messages() %} + {% if messages %} + {% for message in messages %} + + {% endfor %} + {% endif %} + {% endwith %}
+ diff --git a/wedding.py b/wedding.py index f1e99e2..c8b5b54 100644 --- a/wedding.py +++ b/wedding.py @@ -2,6 +2,7 @@ import sqlite3 #all the imports from flask import Flask, request, session, g, redirect, url_for, render_template +from flask import flash from functools import wraps app = Flask(__name__) @@ -76,6 +77,12 @@ def main_page(): @app.route('/login/', methods=['GET', 'POST']) def login(): + wp = {'en': 'Wrong password', + 'fr': 'Mot de passe erroné', + 'sr': 'Pogrešna šifra'} + wn = {'en': 'Wrong name', + 'fr': 'Prénom incorrect', + 'sr': 'Pogrešno ime'} if 'user_name' in session: return redirect(url_for('main_page')) @@ -86,14 +93,14 @@ def login(): c.execute("SELECT * from guests where user_name=?", (request.form['username'],)) if not c.fetchone(): - error = "User not registered" c.close() - return + flash(wn[request.form['language']]) + return redirect(url_for('login')) else: c.close() if request.form['password'] != app.config['PASSWORD']: - error = "Wrong password" - return + flash(wp[request.form['language']]) + return redirect(url_for('login')) session['user_name'] = request.form['username'] session['lang'] = request.form['language'] return redirect(url_for('main_page')) -- cgit v1.2.3-70-g09d2