diff options
| -rw-r--r-- | app/routes.py | 12 | ||||
| -rw-r--r-- | app/templates/base/form.html | 33 | ||||
| -rw-r--r-- | app/templates/base/layout.html (renamed from app/templates/base.html) | 0 | ||||
| -rw-r--r-- | app/templates/home.html (renamed from app/templates/base/home.html) | 2 | ||||
| -rw-r--r-- | app/templates/index.html (renamed from app/templates/base/index.html) | 2 | ||||
| -rw-r--r-- | app/templates/user/login.html | 79 | ||||
| -rw-r--r-- | app/templates/user/register.html | 85 |
7 files changed, 103 insertions, 110 deletions
diff --git a/app/routes.py b/app/routes.py index 7ae1fb1..c1424b5 100644 --- a/app/routes.py +++ b/app/routes.py @@ -28,8 +28,7 @@ def login(): login_user(user) return redirect(url_for('home')) else: - flash("invalid login") - return redirect(url_for('register')) + flash("Invalid username or password", "danger") return render_template('user/login.html', form=form) @@ -46,8 +45,6 @@ def register(): password = form.password.data email = form.email.data - print("register") - if form.validate_on_submit(): # Valid submission user = User.query.filter_by(username=username).first() @@ -56,8 +53,9 @@ def register(): user = User(username, password, email) db.session.add(user) db.session.commit() + return redirect(url_for('login')) + else: + flash("User already exists", "danger") - return redirect(url_for('login')) - else: - return render_template('user/register.html', form=form) + return render_template('user/register.html', form=form) diff --git a/app/templates/base/form.html b/app/templates/base/form.html new file mode 100644 index 0000000..830afbe --- /dev/null +++ b/app/templates/base/form.html @@ -0,0 +1,33 @@ +{% extends 'base/layout.html' %} + +{% block content %} + <div class="form"> + <section class="hero is-primary is-fullheight-with-navbar"> + <div class="hero-body"> + <div class="container"> + <div class="columns is-centered"> + <div class="column is-5-tablet is-4-desktop is-3-widescreen"> + <h1 class="title is-2">{% block title %}{% endblock %}</h1> + + <!-- TODO: render errors --> + {% with messages = get_flashed_messages(with_categories=true) %} + {% if messages %} + {% for category, message in messages %} + <div class="notification is-{{ category }}"> + {{ message }} + </div> + {% endfor %} + {% endif %} + {% endwith %} + + <form method="POST" class="box"> + {{ form.csrf_token }} + {% block form %}{% endblock %} + </form> + </div> + </div> + </div> + </div> + </section> + </div> +{% endblock %} diff --git a/app/templates/base.html b/app/templates/base/layout.html index c539baa..c539baa 100644 --- a/app/templates/base.html +++ b/app/templates/base/layout.html diff --git a/app/templates/base/home.html b/app/templates/home.html index 14dd441..e640325 100644 --- a/app/templates/base/home.html +++ b/app/templates/home.html @@ -1,4 +1,4 @@ -{% extends 'base.html' %} +{% extends 'base/layout.html' %} {% block content %} User Homepage diff --git a/app/templates/base/index.html b/app/templates/index.html index 3e91518..04b89ef 100644 --- a/app/templates/base/index.html +++ b/app/templates/index.html @@ -1,4 +1,4 @@ -{% extends 'base.html' %} +{% extends 'base/layout.html' %} {% block content %} Index Page diff --git a/app/templates/user/login.html b/app/templates/user/login.html index 9aaf33c..6bd4c1c 100644 --- a/app/templates/user/login.html +++ b/app/templates/user/login.html @@ -1,54 +1,35 @@ -{% extends 'base.html' %} +{% extends 'base/form.html' %} -{% block content %} - <div class="login"> - <div class="form"> - <section class="hero is-primary is-fullheight-with-navbar"> - <div class="hero-body"> - <div class="container"> - <div class="columns is-centered"> - <div class="column is-5-tablet is-4-desktop is-3-widescreen"> - <h1 class="title is-2">Log in</h1> +{% block title %}Login{% endblock %} - <!-- TODO: render errors --> - - <form method="POST" class="box"> - {{ form.csrf_token }} - <div class="field"> - <label for="" class="label">Username</label> - <div class="control has-icons-left"> - <input id="username" name="username" type="text" class="input" required> - <span class="icon is-small is-left"> - <i class="fa fa-user"></i> - </span> - </div> - </div> - <div class="field"> - <label for="" class="label">Password</label> - <div class="control has-icons-left"> - <input id="password" name="password" type="password" placeholder="*******" class="input" required> - <span class="icon is-small is-left"> - <i class="fa fa-lock"></i> - </span> - </div> - </div> - <div class="field"> - <label for="" class="checkbox"> - <input type="checkbox"> - Remember me - </label> - </div> - <div class="field"> - <button class="button is-success"> - Log in - </button> - </div> - </form> - </div> - </div> - </div> - </div> - </section> +{% block form %} + <div class="field"> + <label for="" class="label">Username</label> + <div class="control has-icons-left"> + <input id="username" name="username" type="text" class="input" required> + <span class="icon is-small is-left"> + <i class="fa fa-user"></i> + </span> + </div> + </div> + <div class="field"> + <label for="" class="label">Password</label> + <div class="control has-icons-left"> + <input id="password" name="password" type="password" placeholder="*******" class="input" required> + <span class="icon is-small is-left"> + <i class="fa fa-lock"></i> + </span> </div> </div> + <div class="field"> + <label for="" class="checkbox"> + <input type="checkbox"> + Remember me + </label> + </div> + <div class="field"> + <button class="button is-success"> + Log in + </button> + </div> {% endblock %} diff --git a/app/templates/user/register.html b/app/templates/user/register.html index 6341671..26e5dd0 100644 --- a/app/templates/user/register.html +++ b/app/templates/user/register.html @@ -1,57 +1,38 @@ -{% extends 'base.html' %} +{% extends 'base/form.html' %} -{% block content %} - <div class="register"> - <div class="form"> - <section class="hero is-primary is-fullheight-with-navbar"> - <div class="hero-body"> - <div class="container"> - <div class="columns is-centered"> - <div class="column is-5-tablet is-4-desktop is-3-widescreen"> - <h1 class="title is-2">Sign up</h1> +{% block title %}Sign Up{% endblock %} - <!-- TODO: render errors --> - - <form method="POST" class="box"> - {{ form.csrf_token }} - <div class="field"> - <label for="" class="label">Username</label> - <div class="control has-icons-left"> - <input id="username" name="username" type="text" placeholder="e.g. gymdude99" class="input" required> - <span class="icon is-small is-left"> - <i class="fa fa-user"></i> - </span> - </div> - </div> - <div class="field"> - <label for="" class="label">Email</label> - <div class="control has-icons-left"> - <input id="email" name="email" type="email" placeholder="e.g. bobsmith@gmail.com" class="input" required> - <span class="icon is-small is-left"> - <i class="fa fa-envelope"></i> - </span> - </div> - </div> - <div class="field"> - <label for="" class="label">Password</label> - <div class="control has-icons-left"> - <input id="password" name="password" type="password" placeholder="*******" class="input" required> - <span class="icon is-small is-left"> - <i class="fa fa-lock"></i> - </span> - </div> - </div> - <div class="field"> - <button class="button is-success"> - Sign up - </button> - </div> - </form> - </div> - </div> - </div> - </div> - </section> +{% block form %} + <div class="field"> + <label for="" class="label">Username</label> + <div class="control has-icons-left"> + <input id="username" name="username" type="text" placeholder="e.g. gymdude99" class="input" required> + <span class="icon is-small is-left"> + <i class="fa fa-user"></i> + </span> + </div> + </div> + <div class="field"> + <label for="" class="label">Email</label> + <div class="control has-icons-left"> + <input id="email" name="email" type="email" placeholder="e.g. bobsmith@gmail.com" class="input" required> + <span class="icon is-small is-left"> + <i class="fa fa-envelope"></i> + </span> </div> </div> + <div class="field"> + <label for="" class="label">Password</label> + <div class="control has-icons-left"> + <input id="password" name="password" type="password" placeholder="*******" class="input" required> + <span class="icon is-small is-left"> + <i class="fa fa-lock"></i> + </span> + </div> + </div> + <div class="field"> + <button class="button is-success"> + Sign up + </button> + </div> {% endblock %} |
