decidim-cleaner 1.0.1 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c9fd35840bd986218c10726232aa523b811331ec05cb78d6ae52b0352e434862
4
- data.tar.gz: 2edf1e583c38516e4d7eefd51f4116cb883e4f823643c605df4f40ae4718684f
3
+ metadata.gz: ac1fce1219b0b742c8b61a04692d5347c52143dbfdf68ad79bc7c482828327b9
4
+ data.tar.gz: 6d2f34f4cefa57d317ac26b025ddf74a86de35f59d0cd036c825644ffc7bdad7
5
5
  SHA512:
6
- metadata.gz: e0c59579a5fe21080c697d6553b2983b21f242d62687c7fb7e700e86c5a01617762cdd8019a0b9258719d1534f5be29a00faa0580208ae92c31dc6fedb6d536f
7
- data.tar.gz: aca024679460c2a7fd0896e426c3b2de5f6aee923595b572bdfae1f2cb419090ae5a5dba6d898d4e38a744b67a0caff17b2ed2eb583bd883156cad4c063df912
6
+ metadata.gz: ea06df0a3a5e974bb1d2ed5ddc9ec871a123b1bbedf7a1e096b4d5f18339c90123c0b6ded17e5320687277d711215c01d7db4cd488e86bd8956b4c1b1685c412
7
+ data.tar.gz: 6d286d5dae2c41de0a6f7e8d12c031c3b45c6a00bc25907e27c60e294b3dc23a32c4e29f24eab57dfb339f9ad667d856b444b6ecfafac008c59ed4177ef26547
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,7 @@ 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: organization)
12
+ Decidim::ActionLog.where(organization:)
13
13
  .where("created_at < ?", Time.zone.now - (organization.delete_admin_logs_after || 365).days)
14
14
  .delete_all
15
15
  end
@@ -9,18 +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: organization)
12
+ send_warning(Decidim::User.where(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
- delete_user_and_send_email(Decidim::User.where(organization: organization)
17
+
18
+ delete_user_and_send_email(Decidim::User.where(organization:)
19
+ .not_deleted
20
+ .where.not(email: "")
16
21
  .where("last_sign_in_at < ?", Time.zone.now - (organization.delete_inactive_users_after || 390).days))
17
22
  end
18
23
  end
19
24
 
20
25
  def send_warning(users)
21
26
  users.find_each do |user|
22
- next if user.deleted?
23
-
24
27
  InactiveUsersMailer.warning_inactive(user).deliver_now
25
28
  Rails.logger.info "Inactive warning sent to #{user.email}"
26
29
  end
@@ -28,8 +31,6 @@ module Decidim
28
31
 
29
32
  def delete_user_and_send_email(users)
30
33
  users.find_each do |user|
31
- next if user.deleted?
32
-
33
34
  InactiveUsersMailer.warning_deletion(user).deliver_now
34
35
  Rails.logger.info "Deletion warning sent to #{user.email}"
35
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: subject)
16
+ mail(to: user.email, 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: subject)
28
+ mail(to: user.email, subject:)
29
29
  end
30
30
  end
31
31
  end
@@ -5,11 +5,11 @@ module Decidim
5
5
  # This holds the decidim-meetings version.
6
6
  module Cleaner
7
7
  def self.version
8
- "1.0.1"
8
+ "4.0.0"
9
9
  end
10
10
 
11
- def self.decidim_version
12
- "0.26"
11
+ def self.compatible_decidim_version
12
+ "0.28.dev"
13
13
  end
14
14
  end
15
15
  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: 1.0.1
4
+ version: 4.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-09 00:00:00.000000000 Z
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,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.26'
19
+ version: 0.28.dev
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: '0.26'
26
+ version: 0.28.dev
27
27
  description: Clean outdated data in Decidim's database.
28
28
  email:
29
29
  - 26109239+Quentinchampenois@users.noreply.github.com