app/commands/decidim/admin/block_user.rb in decidim-admin-0.27.3 vs app/commands/decidim/admin/block_user.rb in decidim-admin-0.27.4
- old
+ new
@@ -18,22 +18,27 @@
# Returns nothing.
def call
return broadcast(:invalid) unless form.valid?
transaction do
- block!
+ find_or_create_moderation!
register_justification!
+ block!
notify_user!
end
broadcast(:ok, form.user)
end
private
attr_reader :form
+ def find_or_create_moderation!
+ Decidim::UserModeration.create_or_find_by!(user: form.user)
+ end
+
def register_justification!
@current_blocking = UserBlock.create!(
justification: form.justification,
user: form.user,
blocking_user: form.current_user
@@ -63,10 +68,10 @@
title: form.user.name
}
) do
form.user.blocked = true
form.user.blocked_at = Time.current
- form.user.blocking = @current_blocking
+ form.user.block_id = @current_blocking.id
form.user.extended_data["user_name"] = form.user.name
form.user.name = "Blocked user"
form.user.save!
end
end