diff options
Diffstat (limited to 'public/assets/javascripts/ui/SignInModal.js')
| -rw-r--r-- | public/assets/javascripts/ui/SignInModal.js | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/public/assets/javascripts/ui/SignInModal.js b/public/assets/javascripts/ui/SignInModal.js new file mode 100644 index 0000000..e5cd02a --- /dev/null +++ b/public/assets/javascripts/ui/SignInModal.js @@ -0,0 +1,50 @@ + + +var SignInModal = ModalView.extend({ + el: ".mediaDrawer.signin", + action: "/auth/signin", + + events: { + "submit form": "submit" + }, + + reset: function(){ + this.$("input").not("[type='submit']").not("[type='hidden']").val("") + }, + + load: function(){ + this.reset() + this.show() + }, + + submit: function(e){ + e.preventDefault() + + 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) { + this.$errors.show(); + for (var key in response.error.errors) { + this.$errorList.append('<div>' + response.error.errors[key].message + '</div>'); + } + return; + } + else { + window.location.href = "/profile" + } + }, this)); + } + +}) + |
