Use ActiveModel::Attributes for admin/account_action boolean values (#35247)

This commit is contained in:
Matt Jankowski 2025-07-03 03:28:07 -04:00 committed by GitHub
parent 49db8a9662
commit 6e39b5ef04
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -2,6 +2,7 @@
class Admin::AccountAction class Admin::AccountAction
include ActiveModel::Model include ActiveModel::Model
include ActiveModel::Attributes
include AccountableConcern include AccountableConcern
include Authorization include Authorization
@ -20,7 +21,10 @@ class Admin::AccountAction
:report_id, :report_id,
:warning_preset_id :warning_preset_id
attr_reader :warning, :send_email_notification, :include_statuses attr_reader :warning
attribute :include_statuses, :boolean, default: true
attribute :send_email_notification, :boolean, default: true
alias send_email_notification? send_email_notification alias send_email_notification? send_email_notification
alias include_statuses? include_statuses alias include_statuses? include_statuses
@ -28,21 +32,6 @@ class Admin::AccountAction
validates :type, :target_account, :current_account, presence: true validates :type, :target_account, :current_account, presence: true
validates :type, inclusion: { in: TYPES } validates :type, inclusion: { in: TYPES }
def initialize(attributes = {})
@send_email_notification = true
@include_statuses = true
super
end
def send_email_notification=(value)
@send_email_notification = ActiveModel::Type::Boolean.new.cast(value)
end
def include_statuses=(value)
@include_statuses = ActiveModel::Type::Boolean.new.cast(value)
end
def save! def save!
raise ActiveRecord::RecordInvalid, self unless valid? raise ActiveRecord::RecordInvalid, self unless valid?