diff --git a/controllers/user.js b/controllers/user.js index 0e13f7410e..619e7fb5e1 100644 --- a/controllers/user.js +++ b/controllers/user.js @@ -65,30 +65,27 @@ exports.getSignup = function(req, res) { */ exports.postSignup = function(req, res) { - var user = new User({ - username: req.body.email, - password: req.body.password, - confirmPassword: req.body.confirmPassword - }); - if (req.body.password !== req.body.confirmPassword) { req.flash('messages', 'Passwords do not match'); return res.redirect('/signup'); } + var user = new User({ + username: req.body.email, + password: req.body.password + }); + user.save(function(err) { if (err) { - if (err.name === 'ValidationError') { req.flash('messages', _.map(err.errors, function(value, key) { return value.message; })); } - if (err.code === 11000) { req.flash('messages', 'User already exists'); } - return res.redirect('/signup'); } + req.logIn(user, function(err) { if (err) throw err; res.redirect('/'); diff --git a/models/User.js b/models/User.js index e7e9df5123..384e3bc403 100644 --- a/models/User.js +++ b/models/User.js @@ -2,7 +2,7 @@ var mongoose = require('mongoose'), bcrypt = require('bcrypt'); var userSchema = new mongoose.Schema({ - username: { type: String, unique: true }, + username: { type: String, index: true, unique: true }, email: String, name: String, password: String, diff --git a/views/signup.jade b/views/signup.jade index f05ade03ae..4408f795e3 100644 --- a/views/signup.jade +++ b/views/signup.jade @@ -11,11 +11,11 @@ block content span.text-muted NAME form(method='POST') .form-group - input.form-control(type='email', name='email', id='email', placeholder='Email', autofocus='') + input.form-control(type='email', name='email', id='email', placeholder='Email', autofocus='', required='') .form-group - input.form-control(type='password', name='password', id='password', placeholder='Password') + input.form-control(type='password', name='password', id='password', placeholder='Password', required='') .form-group - input.form-control(type='password', name='confirmPassword', id='confirmPassword', placeholder='Confirm Password') + input.form-control(type='password', name='confirmPassword', id='confirmPassword', placeholder='Confirm Password', required='') button(type='submit') i.fa.fa-chevron-right .form-options.clearfix