decidim-cdtb 0.6.1 → 0.6.2
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 +4 -4
- data/CHANGELOG.md +3 -1
- data/Gemfile.lock +1 -1
- data/lib/decidim/cdtb/users/remover.rb +52 -19
- data/lib/decidim/cdtb/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4c986754e258f5c89f059019e2eff8a989cb15972c8958a0aef8519246a1c974
|
|
4
|
+
data.tar.gz: a930aa3920de4ffaa6549d86831dcc9f328b8e4be9eab69a3d0e99a4367ba7ad
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9ae0c57f0806d1d074969b6a4e6f5780d4cac4a6843d0696cc65c1235025e604eb5e6a1c866260a99fd15099b019aee936932888c0cdf0de345622b5a32d684d
|
|
7
|
+
data.tar.gz: 187bcef080e8308048ee7250a8b7b226dc21ff644e875ac254a33164df150338a491d000e79b73058f04aea8bf03d639a1ce76707df340679a0af05610215122
|
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -85,28 +85,57 @@ module Decidim
|
|
|
85
85
|
end
|
|
86
86
|
|
|
87
87
|
def block_user(user, reporter_user)
|
|
88
|
-
|
|
89
|
-
user_id: user.id,
|
|
90
|
-
justification: "Confirmed spam suspicious"
|
|
91
|
-
}
|
|
88
|
+
justification = "Confirmed spam suspicious"
|
|
92
89
|
|
|
93
|
-
|
|
94
|
-
{
|
|
95
|
-
current_organization: user.organization,
|
|
96
|
-
current_user: reporter_user
|
|
97
|
-
}
|
|
98
|
-
)
|
|
90
|
+
return skip_blocked_user(user) if user.blocked?
|
|
99
91
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
puts "OK: User #{user.id} blocked"
|
|
103
|
-
return true
|
|
104
|
-
end
|
|
92
|
+
user_block = create_user_block(user, reporter_user, justification)
|
|
93
|
+
apply_block_to_user(user, user_block, reporter_user, justification)
|
|
105
94
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
95
|
+
puts "OK: User #{user.id} blocked"
|
|
96
|
+
true
|
|
97
|
+
rescue ActiveRecord::RecordInvalid, ActiveRecord::RecordNotSaved => e
|
|
98
|
+
puts "ERROR: User #{user.id} not blocked (#{e.message})"
|
|
99
|
+
false
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
def skip_blocked_user(user)
|
|
103
|
+
puts "SKIP: User #{user.id} already blocked"
|
|
104
|
+
false
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
def create_user_block(user, reporter_user, justification)
|
|
108
|
+
Decidim::UserModeration.find_or_create_by!(user:)
|
|
109
|
+
|
|
110
|
+
Decidim::UserBlock.create!(
|
|
111
|
+
justification:,
|
|
112
|
+
user:,
|
|
113
|
+
blocking_user: reporter_user
|
|
114
|
+
)
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
def apply_block_to_user(user, user_block, reporter_user, justification)
|
|
118
|
+
Decidim.traceability.perform_action!(
|
|
119
|
+
"block",
|
|
120
|
+
user,
|
|
121
|
+
reporter_user,
|
|
122
|
+
extra: {
|
|
123
|
+
reportable_type: user.class.name,
|
|
124
|
+
current_justification: justification
|
|
125
|
+
},
|
|
126
|
+
resource: {
|
|
127
|
+
title: user.name
|
|
128
|
+
}
|
|
129
|
+
) do
|
|
130
|
+
user.assign_attributes(
|
|
131
|
+
blocked: true,
|
|
132
|
+
blocked_at: Time.current,
|
|
133
|
+
block_id: user_block.id,
|
|
134
|
+
extended_data: user.extended_data.to_h.merge("user_name" => user.name),
|
|
135
|
+
name: "Blocked user",
|
|
136
|
+
notifications_sending_frequency: "none"
|
|
137
|
+
)
|
|
138
|
+
user.save!
|
|
110
139
|
end
|
|
111
140
|
end
|
|
112
141
|
|
|
@@ -116,9 +145,11 @@ module Decidim
|
|
|
116
145
|
}
|
|
117
146
|
|
|
118
147
|
form = Decidim::DeleteAccountForm.from_params(params).with_context(current_user: user)
|
|
148
|
+
removed_users = 0
|
|
119
149
|
|
|
120
150
|
Decidim::DestroyAccount.call(form) do
|
|
121
151
|
on(:ok) do
|
|
152
|
+
removed_users += 1
|
|
122
153
|
puts "OK: User #{user.id} removed"
|
|
123
154
|
end
|
|
124
155
|
|
|
@@ -126,6 +157,8 @@ module Decidim
|
|
|
126
157
|
puts "ERROR: User #{user.id} not removed"
|
|
127
158
|
end
|
|
128
159
|
end
|
|
160
|
+
|
|
161
|
+
@num_applied += removed_users
|
|
129
162
|
end
|
|
130
163
|
|
|
131
164
|
def report_comment(comment, user, reporter_user)
|
data/lib/decidim/cdtb/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: decidim-cdtb
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.6.
|
|
4
|
+
version: 0.6.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Oliver Valls
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-09-21 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: decidim
|