diff options
-rw-r--r-- | controllers/user.js | 32 | ||||
-rw-r--r-- | views/login.handlebars | 5 | ||||
-rw-r--r-- | views/register.handlebars | 3 |
3 files changed, 35 insertions, 5 deletions
diff --git a/controllers/user.js b/controllers/user.js index e25abf8..54b8161 100644 --- a/controllers/user.js +++ b/controllers/user.js @@ -1,8 +1,24 @@ +const User = require('../models/user'); + module.exports = { register(req, res) { - console.log(req.body); - res.redirect('/register'); + if (req.body.password === req.body.confirmPassword) { + const newUser = new User({ + firstname: req.body.firstname, + lastname: req.body.lastname, + email: req.body.email, + password: req.body.password + }); + newUser.save().then(() => { + req.flash('msg', 'You successfully registered.'); + res.redirect('/login'); + }); + } + else { + req.flash('msg', 'Validation errors...'); + res.redirect('/register'); + } }, login(req, res) { @@ -15,11 +31,19 @@ module.exports = { }, registerView(req, res) { - res.render('register', {title: 'Register', register: true}); + res.render('register', { + title: 'Register', + register: true, + msg: req.flash('msg') + }); }, loginView(req, res) { - res.render('login', {title: 'Login', login: true}); + res.render('login', { + title: 'Login', + login: true, + msg: req.flash('msg') + }); } }; diff --git a/views/login.handlebars b/views/login.handlebars index 47e2166..fd87ba7 100644 --- a/views/login.handlebars +++ b/views/login.handlebars @@ -1,5 +1,8 @@ <div class="container"> <h1 class="mt-2">{{ title }}</h1> + {{#if msg}} + <div class="alert alert-success" role="alert">{{msg}}</div> + {{/if}} <form action="/login" method="post" accept-charset="utf-8"> <div class="mb-3"> <label for="email" class="form-label">Email:</label> @@ -7,7 +10,7 @@ </div> <div class="mb-3"> <label for="password" class="form-label">Password:</label> - <input name="password" class="form-control" id="password" required></input> + <input name="password" type="password" class="form-control" id="password" required></input> </div> <button type="submit" class="btn">Login</button> </form> diff --git a/views/register.handlebars b/views/register.handlebars index d18a6b8..a2c9f4d 100644 --- a/views/register.handlebars +++ b/views/register.handlebars @@ -1,5 +1,8 @@ <div class="container"> <h1 class="mt-2">{{ title }}</h1> + {{#if msg}} + <div class="alert alert-warning" role="alert">{{msg}}</div> + {{/if}} <form action="/register" method="post" accept-charset="utf-8"> <div class="mb-3"> <label for="firstname" class="form-label">First name:</label> |