summaryrefslogtreecommitdiff
path: root/users/app/assets/javascripts/users.js.coffee
diff options
context:
space:
mode:
authorAzul <azul@leap.se>2012-11-12 13:03:13 +0100
committerAzul <azul@leap.se>2012-11-12 13:03:13 +0100
commit67dc2685a72c125b53f351c3a75bf812123e96bd (patch)
tree88dfe7ced925aac75ca3a2630e55feafa4292e8d /users/app/assets/javascripts/users.js.coffee
parentca2e1b9f379ccba068ad0ebb852d855f1639cd3a (diff)
fixed signup bug and refactored a bit
Diffstat (limited to 'users/app/assets/javascripts/users.js.coffee')
-rw-r--r--users/app/assets/javascripts/users.js.coffee51
1 files changed, 29 insertions, 22 deletions
diff --git a/users/app/assets/javascripts/users.js.coffee b/users/app/assets/javascripts/users.js.coffee
index 24302fe..8a9f0e9 100644
--- a/users/app/assets/javascripts/users.js.coffee
+++ b/users/app/assets/javascripts/users.js.coffee
@@ -3,43 +3,50 @@
# You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/
#
-validate_password = (event) ->
+preventDefault = (event) ->
+ event.preventDefault()
- password = $('#srp_password').val()
- confirmation = $('#srp_password_confirmation').val()
- login = $('#srp_username').val()
-
- if password != confirmation
- alert "Password and Confirmation do not match!"
- $('#srp_password').focus()
- return false
- if password == login
- alert "Password and Login may not match!"
- $('#srp_password').focus()
- return false
- if password.length < 8
- alert "Password needs to be at least 8 characters long!"
- $('#srp_password').focus()
- return false
+validOrAbort = (event) ->
+ errors = {}
+
+ abortIfErrors = ->
+ return if $.isEmptyObject(errors)
+ $.each errors, (field, error) ->
+ alert(error)
+ $('#srp_password').focus()
+ event.stopImmediatePropagation()
+
+ validatePassword = ->
+ password = $('#srp_password').val()
+ confirmation = $('#srp_password_confirmation').val()
+ login = $('#srp_username').val()
+
+ if password != confirmation
+ errors.password_confirmation = "Confirmation does not match!"
+ if password == login
+ errors.password = "Password and Login may not match!"
+ if password.length < 8
+ errors.password = "Password needs to be at least 8 characters long!"
+
+ validatePassword()
+ abortIfErrors()
- return true
-
signup = (event) ->
srp = new SRP(jqueryRest())
srp.register ->
window.location = '/'
- false
login = (event) ->
srp = new SRP(jqueryRest())
srp.identify ->
window.location = '/'
- false
$(document).ready ->
- $('#new_user').submit validate_password
+ $('#new_user').submit preventDefault
+ $('#new_user').submit validOrAbort
$('#new_user').submit signup
+ $('#new_session').submit preventDefault
$('#new_session').submit login