summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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!