discourse/app/services/user/policy/not_already_suspended.rb
Loïc Guitaut 05b8ff436c DEV: Introduce a Service::ActionBase class for service actions
This will help to enforce a consistent pattern for creating service
actions.

This patch also namespaces actions and policies, making everything
related to a service available directly in
`app/services/<concept-name>`, making things more consistent at that
level too.
2024-09-18 17:02:46 +02:00

24 lines
527 B
Ruby

# frozen_string_literal: true
class User::Policy::NotAlreadySuspended < Service::PolicyBase
delegate :user, to: :context, private: true
delegate :suspend_record, to: :user, private: true
def call
!user.suspended?
end
def reason
I18n.t(
"user.already_suspended",
staff: suspend_record.acting_user.username,
time_ago:
AgeWords.time_ago_in_words(
suspend_record.created_at,
true,
scope: :"datetime.distance_in_words_verbose",
),
)
end
end