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 »