diff options
| -rw-r--r-- | public/assets/javascripts/ui/SignInModal.js | 11 | ||||
| -rw-r--r-- | server/lib/auth.js | 13 | ||||
| -rw-r--r-- | server/lib/schemas/User.js | 2 | ||||
| -rw-r--r-- | views/login.ejs | 2 |
4 files changed, 18 insertions, 10 deletions
diff --git a/public/assets/javascripts/ui/SignInModal.js b/public/assets/javascripts/ui/SignInModal.js index e5cd02a..0112513 100644 --- a/public/assets/javascripts/ui/SignInModal.js +++ b/public/assets/javascripts/ui/SignInModal.js @@ -8,6 +8,12 @@ var SignInModal = ModalView.extend({ "submit form": "submit" }, + initialize: function(){ + this.$form = this.$("form") + this.$errors = this.$(".errors") + this.$errorList = this.$(".errorList") + }, + reset: function(){ this.$("input").not("[type='submit']").not("[type='hidden']").val("") }, @@ -23,14 +29,13 @@ var SignInModal = ModalView.extend({ this.$errors.hide(); this.$errorList.empty() - if (! this.validate()) return - var fields = this.$form.serializeArray() fields.forEach(function(pair){ if (pair.name == "password" && pair.value.length > 0) { pair.value = SHA1.hex('lol$' + pair.value + '$vvalls') } }) + var request = $.post(this.action, $.param(fields)); request.done($.proxy(function (response) { if (response.error) { @@ -38,7 +43,7 @@ var SignInModal = ModalView.extend({ for (var key in response.error.errors) { this.$errorList.append('<div>' + response.error.errors[key].message + '</div>'); } - return; + return } else { window.location.href = "/profile" diff --git a/server/lib/auth.js b/server/lib/auth.js index 262d5f8..ede52b6 100644 --- a/server/lib/auth.js +++ b/server/lib/auth.js @@ -94,7 +94,7 @@ var auth = { User.findOne({ username: username }, function (err, user) { if (user) { - res.json({ error: { errors: { username: "Username has been taken" } } }) + res.json({ error: { errors: { username: { message: "Username has been taken" } } } }) return } var data = { @@ -103,9 +103,12 @@ var auth = { password: password, email: email } - new User(data).save(function(err, data){ + new User(data).save(function(err, user){ if (err || ! data) { return res.json({ error: err }) } - res.json({ status: "OK", payload: data }) + + req.login(user, function(){ + res.json({ status: "OK", payload: user }) + }) }) }) }, @@ -114,10 +117,10 @@ var auth = { User.findOne({ username: username }, function(err, user){ if (err) { return done(err); } if (!user) { - return done(null, false, { message: 'Incorrect username.' }); + return done(null, false, { error: { errors: { username: { message: 'Incorrect username.' } }}}) } if (! user.validPassword(password)) { - return done(null, false, { message: 'Incorrect password.' }); + return done(null, false, { error: { errors: { password: { message: 'Incorrect password.' } }}}) } return done(null, user); }); diff --git a/server/lib/schemas/User.js b/server/lib/schemas/User.js index c619685..ef8fef6 100644 --- a/server/lib/schemas/User.js +++ b/server/lib/schemas/User.js @@ -64,7 +64,7 @@ var UserSchema = new mongoose.Schema({ }); UserSchema.methods.validPassword = function (pw) { - return this.password !== pw + return this.password === pw } module.exports = exports = mongoose.model('user', UserSchema); diff --git a/views/login.ejs b/views/login.ejs index af78f83..b37d18d 100644 --- a/views/login.ejs +++ b/views/login.ejs @@ -23,7 +23,7 @@ [[ include partials/scripts ]] <script> setTimeout(function(){ - $("[data-role='show-signup-modal']").trigger("click") + $("[data-role='show-signin-modal']").trigger("click") }) </script> </html> |
