summaryrefslogtreecommitdiff
path: root/users/app
diff options
context:
space:
mode:
authorelijah <elijah@riseup.net>2013-07-04 01:45:41 -0700
committerelijah <elijah@riseup.net>2013-07-04 04:15:04 -0700
commit290d367ddb064c0aea4e0447441776fd69e29f6c (patch)
tree7ace24eaddb06f42df4c85880ccc5922020f4070 /users/app
parent40830b4b1fa33b9e26dbd500fc08b4b76b58011b (diff)
allow forms with blank email forward.
Diffstat (limited to 'users/app')
-rw-r--r--users/app/controllers/email_settings_controller.rb9
-rw-r--r--users/app/models/user.rb1
2 files changed, 9 insertions, 1 deletions
diff --git a/users/app/controllers/email_settings_controller.rb b/users/app/controllers/email_settings_controller.rb
index 0261b47..f7d85be 100644
--- a/users/app/controllers/email_settings_controller.rb
+++ b/users/app/controllers/email_settings_controller.rb
@@ -8,7 +8,7 @@ class EmailSettingsController < UsersBaseController
end
def update
- @user.attributes = params[:user]
+ @user.attributes = cleanup_params(params[:user])
if @user.changed?
if @user.save
flash[:notice] = t(:changes_saved)
@@ -31,4 +31,11 @@ class EmailSettingsController < UsersBaseController
redirect_to edit_user_email_settings_url(@user)
end
+ def cleanup_params(user)
+ if !user['email_forward'].nil? && user['email_forward'].empty?
+ user.delete('email_forward') # don't allow "" as an email forward
+ end
+ user
+ end
+
end
diff --git a/users/app/models/user.rb b/users/app/models/user.rb
index 5c849f0..3459520 100644
--- a/users/app/models/user.rb
+++ b/users/app/models/user.rb
@@ -42,6 +42,7 @@ class User < CouchRest::Model::Base
:format => { :with => /.{8}.*/, :message => "needs to be at least 8 characters long" }
validates :email_forward,
+ :allow_blank => true,
:format => { :with => /\A(([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,}))?\Z/, :message => "needs to be a valid email address"}
timestamps!