decidim-cleaner 1.0.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7b548444c799a42e64b8c0e6e382f98d51738eb48ba9b7d29bc25f637b65b0ad
|
4
|
+
data.tar.gz: 222adf9a1210f66f8521273aa5351b46fac2ca57393883c5eb817c30ce7130b4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8118d7e5d0b4334fc7bbf82ca9ffe74283b611c5f47cdeccc543a277dad15d1b4ab21206e440f91cf61aa8246d2faea020bcc7cbebd62af58d045fe8464255d4
|
7
|
+
data.tar.gz: 607dd023747be3edfcb94cdc3888a6aec98d7b3ca84d3523f25fbceee00b1e6072ff12945f278a0019be232062aa36387773e271e25d2ef7d4953be33d27f370
|
data/README.md
CHANGED
@@ -22,6 +22,11 @@ bundle exec rails decidim_cleaner:install:migrations
|
|
22
22
|
bundle exec rails db:migrate
|
23
23
|
```
|
24
24
|
|
25
|
+
### Sidekiq Scheduler
|
26
|
+
[Further documentation](https://github.com/sidekiq-scheduler/sidekiq-scheduler)
|
27
|
+
|
28
|
+
**Sidekiq scheduler uses a 6 columns format**
|
29
|
+
|
25
30
|
You can then add to your 'config/sidekiq.yml' file:
|
26
31
|
|
27
32
|
```yaml
|
@@ -36,6 +41,15 @@ You can then add to your 'config/sidekiq.yml' file:
|
|
36
41
|
queue: scheduled
|
37
42
|
```
|
38
43
|
|
44
|
+
### Cronjob
|
45
|
+
```
|
46
|
+
# Warns and deletes inactive users
|
47
|
+
0 9 * * * cd /home/user/decidim_application && RAILS_ENV=production bundle exec rake decidim_cleaner:clean_inactive_users
|
48
|
+
|
49
|
+
# Deletes old admin logs
|
50
|
+
0 9 * * * cd /home/user/decidim_application && RAILS_ENV=production bundle exec rake decidim_cleaner:clean_admin_logs
|
51
|
+
```
|
52
|
+
|
39
53
|
## Available tasks
|
40
54
|
|
41
55
|
- [ ] **Delete inactive users**
|
@@ -9,7 +9,9 @@ module Decidim
|
|
9
9
|
Decidim::Organization.find_each do |organization|
|
10
10
|
next unless organization.delete_admin_logs?
|
11
11
|
|
12
|
-
Decidim::ActionLog.where(organization:
|
12
|
+
Decidim::ActionLog.where(organization: organization)
|
13
|
+
.where("created_at < ?", Time.zone.now - (organization.delete_admin_logs_after || 365).days)
|
14
|
+
.delete_all
|
13
15
|
end
|
14
16
|
end
|
15
17
|
end
|
@@ -9,17 +9,21 @@ module Decidim
|
|
9
9
|
Decidim::Organization.find_each do |organization|
|
10
10
|
next unless organization.delete_inactive_users?
|
11
11
|
|
12
|
-
send_warning(Decidim::User.where(organization:)
|
12
|
+
send_warning(Decidim::User.where(organization: organization)
|
13
|
+
.not_deleted
|
14
|
+
.where.not(email: "")
|
13
15
|
.where("last_sign_in_at < ?", Time.zone.now - (organization.delete_inactive_users_email_after || 365).days)
|
14
16
|
.where("last_sign_in_at > ?", Time.zone.now - (organization.delete_inactive_users_email_after || 365).days - 1.day))
|
15
|
-
|
17
|
+
|
18
|
+
delete_user_and_send_email(Decidim::User.where(organization: organization)
|
19
|
+
.not_deleted
|
20
|
+
.where.not(email: "")
|
21
|
+
.where("last_sign_in_at < ?", Time.zone.now - (organization.delete_inactive_users_after || 390).days))
|
16
22
|
end
|
17
23
|
end
|
18
24
|
|
19
25
|
def send_warning(users)
|
20
26
|
users.find_each do |user|
|
21
|
-
next if user.deleted?
|
22
|
-
|
23
27
|
InactiveUsersMailer.warning_inactive(user).deliver_now
|
24
28
|
Rails.logger.info "Inactive warning sent to #{user.email}"
|
25
29
|
end
|
@@ -27,8 +31,6 @@ module Decidim
|
|
27
31
|
|
28
32
|
def delete_user_and_send_email(users)
|
29
33
|
users.find_each do |user|
|
30
|
-
next if user.deleted?
|
31
|
-
|
32
34
|
InactiveUsersMailer.warning_deletion(user).deliver_now
|
33
35
|
Rails.logger.info "Deletion warning sent to #{user.email}"
|
34
36
|
|
@@ -13,7 +13,7 @@ module Decidim
|
|
13
13
|
"decidim.cleaner.inactive_users_mailer.warning_inactive.subject",
|
14
14
|
organization_name: @organization.name
|
15
15
|
)
|
16
|
-
mail(to: user.email, subject:)
|
16
|
+
mail(to: user.email, subject: subject)
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
@@ -25,7 +25,7 @@ module Decidim
|
|
25
25
|
"decidim.cleaner.inactive_users_mailer.warning_deletion.subject",
|
26
26
|
organization_name: @organization.name
|
27
27
|
)
|
28
|
-
mail(to: user.email, subject:)
|
28
|
+
mail(to: user.email, subject: subject)
|
29
29
|
end
|
30
30
|
end
|
31
31
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: decidim-cleaner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Quentinchampenois
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-03-
|
11
|
+
date: 2023-03-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: decidim-core
|
@@ -16,14 +16,42 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 0.27.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 0.27.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: decidim-dev
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 0.27.0
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 0.27.0
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rubocop-faker
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
27
55
|
description: Clean outdated data in Decidim's database.
|
28
56
|
email:
|
29
57
|
- 26109239+Quentinchampenois@users.noreply.github.com
|
@@ -76,7 +104,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
76
104
|
requirements:
|
77
105
|
- - ">="
|
78
106
|
- !ruby/object:Gem::Version
|
79
|
-
version:
|
107
|
+
version: 2.7.5
|
80
108
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
81
109
|
requirements:
|
82
110
|
- - ">="
|