Feature #30998 » 0001-Add-tasks-to-prune-registered-users-after-a-certain-.patch
app/models/user.rb | ||
---|---|---|
874 | 874 |
project_ids.map(&:to_i) |
875 | 875 |
end |
876 | 876 | |
877 |
def self.prune(age) |
|
878 |
User.where("created_on < ? AND status = ?", Time.now - age, STATUS_REGISTERED).destroy_all |
|
879 |
end |
|
880 | ||
877 | 881 |
protected |
878 | 882 | |
879 | 883 |
def validate_password_length |
lib/tasks/redmine.rake | ||
---|---|---|
40 | 40 |
end |
41 | 41 |
end |
42 | 42 | |
43 |
namespace :users do |
|
44 |
desc 'Removes registered users that have not been activated after a number of days. Use DAYS to set the number of days, defaults to 30 days.' |
|
45 |
task :prune => :environment do |
|
46 |
days = 30 |
|
47 |
env_days = ENV['DAYS'] |
|
48 |
if env_days |
|
49 |
if env_days.to_i <= 0 |
|
50 |
abort "Invalid DAYS #{env_days} given. The value must be a integer." |
|
51 |
else |
|
52 |
days = env_days.to_i |
|
53 |
end |
|
54 |
end |
|
55 |
User.prune(days.days) |
|
56 |
end |
|
57 |
end |
|
58 | ||
43 | 59 |
namespace :watchers do |
44 | 60 |
desc 'Removes watchers from what they can no longer view.' |
45 | 61 |
task :prune => :environment do |
test/unit/user_test.rb | ||
---|---|---|
1348 | 1348 |
cv2a.reload |
1349 | 1349 |
assert_equal @dlopper.id.to_s, cv2a.value |
1350 | 1350 |
end |
1351 | ||
1352 |
def test_prune_should_destroy_unactivated_old_users |
|
1353 |
User.generate!(:status => User::STATUS_REGISTERED, :created_on => 6.days.ago) |
|
1354 |
User.generate!(:status => User::STATUS_REGISTERED, :created_on => 7.day.ago) |
|
1355 |
User.generate!(:status => User::STATUS_REGISTERED) |
|
1356 | ||
1357 |
assert_difference 'User.count', -2 do |
|
1358 |
User.prune(7) |
|
1359 |
end |
|
1360 |
end |
|
1351 | 1361 |
end |
- « Previous
- 1
- 2
- 3
- 4
- Next »