Commit 687f3e11288deaae1c00b7e91b19270c70500f7e
Exists in
master
and in
28 other branches
Merge commit 'refs/merge-requests/211' of git://gitorious.org/noosfero/noosfero …
…into merge-requests/211
Showing
3 changed files
with
21 additions
and
4 deletions
Show diff stats
app/models/user.rb
| @@ -21,12 +21,11 @@ class User < ActiveRecord::Base | @@ -21,12 +21,11 @@ class User < ActiveRecord::Base | ||
| 21 | end | 21 | end |
| 22 | end | 22 | end |
| 23 | 23 | ||
| 24 | - before_create :make_activation_code | ||
| 25 | - | ||
| 26 | before_create do |user| | 24 | before_create do |user| |
| 27 | if user.environment.nil? | 25 | if user.environment.nil? |
| 28 | user.environment = Environment.default | 26 | user.environment = Environment.default |
| 29 | end | 27 | end |
| 28 | + user.send(:make_activation_code) if !user.environment.enabled?('skip_new_user_email_confirmation') | ||
| 30 | end | 29 | end |
| 31 | 30 | ||
| 32 | after_create do |user| | 31 | after_create do |user| |
| @@ -35,7 +34,7 @@ class User < ActiveRecord::Base | @@ -35,7 +34,7 @@ class User < ActiveRecord::Base | ||
| 35 | user.person.name ||= user.login | 34 | user.person.name ||= user.login |
| 36 | user.person.visible = false unless user.activated? | 35 | user.person.visible = false unless user.activated? |
| 37 | user.person.save! | 36 | user.person.save! |
| 38 | - if user.environment && user.environment.enabled?('skip_new_user_email_confirmation') | 37 | + if user.environment.enabled?('skip_new_user_email_confirmation') |
| 39 | user.activate | 38 | user.activate |
| 40 | end | 39 | end |
| 41 | end | 40 | end |
| @@ -117,7 +116,7 @@ class User < ActiveRecord::Base | @@ -117,7 +116,7 @@ class User < ActiveRecord::Base | ||
| 117 | self.activated_at = Time.now.utc | 116 | self.activated_at = Time.now.utc |
| 118 | self.activation_code = nil | 117 | self.activation_code = nil |
| 119 | self.person.visible = true | 118 | self.person.visible = true |
| 120 | - self.person.save! && self.save | 119 | + self.person.save! && self.save! |
| 121 | end | 120 | end |
| 122 | 121 | ||
| 123 | def activated? | 122 | def activated? |
db/migrate/20120813163139_set_activation_code_to_nil_if_already_activated.rb
0 → 100644
test/functional/account_controller_test.rb
| @@ -610,6 +610,15 @@ class AccountControllerTest < ActionController::TestCase | @@ -610,6 +610,15 @@ class AccountControllerTest < ActionController::TestCase | ||
| 610 | assert_equal 'example.com', Person['testuser'].organization | 610 | assert_equal 'example.com', Person['testuser'].organization |
| 611 | end | 611 | end |
| 612 | 612 | ||
| 613 | + should 'activate user after signup if environment is set to skip confirmation' do | ||
| 614 | + env = Environment.default | ||
| 615 | + env.enable('skip_new_user_email_confirmation') | ||
| 616 | + env.save! | ||
| 617 | + new_user(:login => 'activated_user') | ||
| 618 | + user = User.find_by_login('activated_user') | ||
| 619 | + assert user.activated? | ||
| 620 | + end | ||
| 621 | + | ||
| 613 | should 'redirect to initial page after logout' do | 622 | should 'redirect to initial page after logout' do |
| 614 | login_as :johndoe | 623 | login_as :johndoe |
| 615 | get :logout | 624 | get :logout |