From 03a2995e15e69ad1ec73b1c0ecefaf3d2551b0da Mon Sep 17 00:00:00 2001 From: tomykaira Date: Sat, 28 Jul 2012 21:59:30 +0900 Subject: [PATCH] Fix #1009 Replace all special characters in user's identity --- app/roles/account.rb | 2 +- spec/models/user_spec.rb | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/app/roles/account.rb b/app/roles/account.rb index e86dc593..e77cbe6c 100644 --- a/app/roles/account.rb +++ b/app/roles/account.rb @@ -1,6 +1,6 @@ module Account def identifier - email.gsub /[@.]/, "_" + email.gsub /[^[:alnum:]]/, "_" end def is_admin? diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 91771ca9..89e0f96f 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -22,6 +22,11 @@ describe User do user.identifier.should == "test_mail_com" end + it "should return identifier without + sign" do + user = User.new(:email => "test+foo@mail.com") + user.identifier.should == "test_foo_mail_com" + end + it "should execute callback when force_random_password specified" do user = User.new(:email => "test@mail.com", :force_random_password => true) user.should_receive(:generate_password)