Commit e9da52f6c0d6eeab5baac93f5bab2e08e3282975
1 parent
c265f164
Exists in
master
and in
29 other branches
Prevent templates from being destroyed
Check if is template before removing an inactive user
Showing
2 changed files
with
12 additions
and
1 deletions
Show diff stats
lib/user_activation_job.rb
1 | class UserActivationJob < Struct.new(:user_id) | 1 | class UserActivationJob < Struct.new(:user_id) |
2 | def perform | 2 | def perform |
3 | user = User.find(user_id) | 3 | user = User.find(user_id) |
4 | - user.destroy unless user.activated? | 4 | + user.destroy unless user.activated? || user.person.is_template? |
5 | end | 5 | end |
6 | end | 6 | end |
test/unit/user_activation_job_test.rb
@@ -29,6 +29,17 @@ class NotifyActivityToProfilesJobTest < ActiveSupport::TestCase | @@ -29,6 +29,17 @@ class NotifyActivityToProfilesJobTest < ActiveSupport::TestCase | ||
29 | end | 29 | end |
30 | end | 30 | end |
31 | 31 | ||
32 | + should 'not destroy user if not activated but is template' do | ||
33 | + user = new_user :login => 'test3' | ||
34 | + user.person.is_template = true | ||
35 | + user.person.save | ||
36 | + job = UserActivationJob.new(user.id) | ||
37 | + assert_no_difference User, :count do | ||
38 | + job.perform | ||
39 | + process_delayed_job_queue | ||
40 | + end | ||
41 | + end | ||
42 | + | ||
32 | protected | 43 | protected |
33 | def new_user(options = {}) | 44 | def new_user(options = {}) |
34 | user = User.new({ :login => 'quire', :email => 'quire@example.com', :password => 'quire', :password_confirmation => 'quire' }.merge(options)) | 45 | user = User.new({ :login => 'quire', :email => 'quire@example.com', :password => 'quire', :password_confirmation => 'quire' }.merge(options)) |