summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelijah <elijah@riseup.net>2013-07-04 01:45:41 -0700
committerelijah <elijah@riseup.net>2013-07-04 01:45:41 -0700
commitab2aafa74ea98c4a7af65b87ee32487883e702c1 (patch)
tree304b369591d08a6e3a90bf187dc3fc4ee4e43502
parent4b6c22acb24c140860eac3ca567673ec14c3c308 (diff)
allow forms with blank email forward.
-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!