2019-07-24 23:35:49 -07:00
module LogHelper
2019-07-26 11:25:24 -07:00
LOG_SCOPE_MODERATION = ENV . fetch ( 'LOG_SCOPE_MODERATION' , 'moderation' )
2019-07-24 23:35:49 -07:00
def user_friendly_action_log ( source , action , target )
source = source . username if source . is_a? ( Account )
case action
when :create
if target . is_a? DomainBlock
2019-07-30 23:25:10 -07:00
LogWorker . perform_async ( " \xf0 \x9f \x9a \xab < #{ source } > applied a #{ target . severity } #{ target . force_sensitive? ? " and force sensitive media " : '' } #{ target . reject_media? ? " and reject media " : '' } policy on https:// #{ target . domain } \ u200b. \n \n #{ target . reason? ? " Comment: #{ target . reason } " : '' } " , LOG_SCOPE_MODERATION )
2019-07-24 23:35:49 -07:00
elsif target . is_a? EmailDomainBlock
2019-07-26 11:25:24 -07:00
LogWorker . perform_async ( " \ u26d4 < #{ source } > added a registration block on email domain ' #{ target . domain } '. " , LOG_SCOPE_MODERATION )
2019-07-24 23:35:49 -07:00
elsif target . is_a? CustomEmoji
2019-07-26 11:25:24 -07:00
LogWorker . perform_async ( " \xf0 \x9f \x98 \xba < #{ source } > added the ' #{ target . shortcode } ' emoji. : #{ target . shortcode } : " , LOG_SCOPE_MODERATION )
2019-07-24 23:35:49 -07:00
elsif target . is_a? AccountWarning
2019-07-26 11:25:24 -07:00
LogWorker . perform_async ( " \xe2 \x9a \xa0 \xef \xb8 \x8f < #{ source } > sent someone an admin notice. " , LOG_SCOPE_MODERATION )
2019-07-24 23:35:49 -07:00
end
when :destroy
if target . is_a? DomainBlock
2019-07-26 11:25:24 -07:00
LogWorker . perform_async ( " \xf0 \x9f \x86 \x97 < #{ source } > reset the policy on https:// #{ target . domain } \ u200b. " , LOG_SCOPE_MODERATION )
2019-07-24 23:35:49 -07:00
elsif target . is_a? EmailDomainBlock
2019-07-26 11:25:24 -07:00
LogWorker . perform_async ( " \xf0 \x9f \x86 \x97 < #{ source } > removed the registration block on email domain ' #{ target . domain } '. " , LOG_SCOPE_MODERATION )
2019-07-24 23:35:49 -07:00
elsif target . is_a? CustomEmoji
2019-07-26 11:25:24 -07:00
LogWorker . perform_async ( " \xf0 \x9f \x97 \x91 \xef \xb8 \x8f < #{ source } > removed the ' #{ target . shortcode } ' emoji. " , LOG_SCOPE_MODERATION )
2019-07-24 23:35:49 -07:00
elsif target . is_a? Status
2019-07-29 13:11:25 -07:00
LogWorker . perform_async ( " \xf0 \x9f \x97 \x91 \xef \xb8 \x8f < #{ source } > removed post #{ TagManager . instance . url_for ( target ) } \ u200b. " , LOG_SCOPE_MODERATION )
2019-07-24 23:35:49 -07:00
end
when :update
2019-07-30 23:25:10 -07:00
if target . is_a? DomainBlock
LogWorker . perform_async ( " \xf0 \x9f \x9a \xab < #{ source } > changed the policy on https:// #{ target . domain } to #{ target . severity } #{ target . force_sensitive? ? " and force sensitive media " : '' } #{ target . reject_media? ? " and reject media " : '' } . \n \n #{ target . reason? ? " Comment: #{ target . reason } " : '' } " , LOG_SCOPE_MODERATION )
elsif target . is_a? Status
2019-07-29 13:11:25 -07:00
LogWorker . perform_async ( " \xf0 \x9f \x91 \x81 \xef \xb8 \x8f < #{ source } > changed visibility flags of post #{ TagManager . instance . url_for ( target ) } \ u200b. " , LOG_SCOPE_MODERATION )
2019-07-24 23:35:49 -07:00
elsif target . is_a? CustomEmoji
2019-07-26 11:25:24 -07:00
LogWorker . perform_async ( " \xf0 \x9f \x94 \x81 < #{ source } > replaced the ' #{ target . shortcode } ' emoji. : #{ target . shortcode } : " , LOG_SCOPE_MODERATION )
2019-07-24 23:35:49 -07:00
end
when :enable
if target . is_a? User
2019-07-26 11:25:24 -07:00
LogWorker . perform_async ( " \xf0 \x9f \x92 \xa7 < #{ source } > unfroze the account of < #{ target . username } >. " , LOG_SCOPE_MODERATION )
2019-07-24 23:35:49 -07:00
elsif target . is_a? CustomEmoji
2019-07-26 11:25:24 -07:00
LogWorker . perform_async ( " \xf0 \x9f \x86 \x97 < #{ source } > enabled the ' #{ target . shortcode } ' emoji. : #{ target . shortcode } : " , LOG_SCOPE_MODERATION )
2019-07-24 23:35:49 -07:00
end
when :disable
if target . is_a? User
2019-07-26 11:25:24 -07:00
LogWorker . perform_async ( " \xe2 \x9d \x84 \xef \xb8 \x8f < #{ source } > froze the account of < #{ target . username } >. " , LOG_SCOPE_MODERATION )
2019-07-24 23:35:49 -07:00
elsif target . is_a? CustomEmoji
2019-07-26 11:25:24 -07:00
LogWorker . perform_async ( " \ u26d4 < #{ source } > disabled the ' #{ target . shortcode } ' emoji. " , LOG_SCOPE_MODERATION )
2019-07-24 23:35:49 -07:00
end
when :force_sensitive
2019-07-26 11:25:24 -07:00
LogWorker . perform_async ( " \xf0 \x9f \x94 \x9e < #{ source } > forced the media of < #{ target . acct } > to be marked sensitive. " , LOG_SCOPE_MODERATION )
2019-07-24 23:35:49 -07:00
when :force_unlisted
2019-07-26 11:25:24 -07:00
LogWorker . perform_async ( " \xf0 \x9f \x94 \x89 < #{ source } > forced the posts of < #{ target . acct } > to be unlisted. " , LOG_SCOPE_MODERATION )
2019-07-24 23:35:49 -07:00
when :silence
2019-07-26 11:25:24 -07:00
LogWorker . perform_async ( " \xf0 \x9f \x94 \x87 < #{ source } > silenced < #{ target . acct } >'. " , LOG_SCOPE_MODERATION )
2019-07-24 23:35:49 -07:00
when :suspend
2019-07-26 11:25:24 -07:00
LogWorker . perform_async ( " \ u26d4 < #{ source } > suspended < #{ target . acct } >. " , LOG_SCOPE_MODERATION )
2019-07-24 23:35:49 -07:00
when :allow_nonsensitive
2019-07-26 11:25:24 -07:00
LogWorker . perform_async ( " \xf0 \x9f \x86 \x97 < #{ source } > allowed < #{ target . acct } > to post media without a sensitive flag. " , LOG_SCOPE_MODERATION )
2019-07-24 23:35:49 -07:00
when :allow_public
2019-07-26 11:25:24 -07:00
LogWorker . perform_async ( " \xf0 \x9f \x86 \x8a < #{ source } > allowed < #{ target . acct } > to post with public visibility. " , LOG_SCOPE_MODERATION )
2019-07-24 23:35:49 -07:00
when :unsilence
2019-07-26 11:25:24 -07:00
LogWorker . perform_async ( " \xf0 \x9f \x94 \x8a < #{ source } > unsilenced < #{ target . acct } >. " , LOG_SCOPE_MODERATION )
2019-07-24 23:35:49 -07:00
when :unsuspend
2019-07-26 11:25:24 -07:00
LogWorker . perform_async ( " \xf0 \x9f \x86 \x97 < #{ source } > unsuspended < #{ target . acct } >. " , LOG_SCOPE_MODERATION )
2019-07-24 23:35:49 -07:00
when :remove_avatar
2019-07-26 11:25:24 -07:00
LogWorker . perform_async ( " \xf0 \x9f \x97 \x91 \xef \xb8 \x8f < #{ source } > removed the avatar of < #{ target . acct } >. " , LOG_SCOPE_MODERATION )
2019-07-24 23:35:49 -07:00
when :remove_header
2019-07-26 11:25:24 -07:00
LogWorker . perform_async ( " \xf0 \x9f \x97 \x91 \xef \xb8 \x8f < #{ source } > removed the profile header of < #{ target . acct } >. " , LOG_SCOPE_MODERATION )
2019-07-24 23:35:49 -07:00
when :resolve
2019-07-26 11:28:19 -07:00
LogWorker . perform_async ( " \ u2705 < #{ source } > resolved report #{ target . id } . " , LOG_SCOPE_MODERATION )
2019-07-24 23:35:49 -07:00
when :reopen
2019-07-26 11:28:19 -07:00
LogWorker . perform_async ( " \ u2757 < #{ source } > reopened report #{ target . id } . " , LOG_SCOPE_MODERATION )
2019-07-24 23:35:49 -07:00
when :assigned_to_self
2019-07-26 11:28:19 -07:00
LogWorker . perform_async ( " \xf0 \x9f \x91 \x80 < #{ source } > is resolving report #{ target . id } . " , LOG_SCOPE_MODERATION )
2019-07-24 23:35:49 -07:00
when :unassigned
2019-07-26 11:28:19 -07:00
LogWorker . perform_async ( " \ u274c < #{ source } > is no longer assigned to report #{ target . id } . " , LOG_SCOPE_MODERATION )
2019-07-24 23:35:49 -07:00
when :promote
2019-07-26 11:25:24 -07:00
LogWorker . perform_async ( " \xf0 \x9f \x94 \xba < #{ source } > upgraded a local account from #{ target . role } . " , LOG_SCOPE_MODERATION )
2019-07-24 23:35:49 -07:00
when :demote
2019-07-26 11:25:24 -07:00
LogWorker . perform_async ( " \xf0 \x9f \x94 \xbb < #{ source } > downgraded a local account from #{ target . role } . " , LOG_SCOPE_MODERATION )
2019-07-24 23:35:49 -07:00
when :confirm
2019-07-26 11:25:24 -07:00
LogWorker . perform_async ( " \ u2705 < #{ source } > manually confirmed a local account. " , LOG_SCOPE_MODERATION )
2019-07-24 23:35:49 -07:00
when :reset_password
2019-07-26 11:25:24 -07:00
LogWorker . perform_async ( " \xf0 \x9f \x94 \x81 < #{ source } > manually reset a local account's password. " , LOG_SCOPE_MODERATION )
2019-07-24 23:35:49 -07:00
when :disable_2fa
2019-07-26 11:25:24 -07:00
LogWorker . perform_async ( " \xf0 \x9f \x94 \x81 < #{ source } > manually reset a local account's 2-factor auth. " , LOG_SCOPE_MODERATION )
2019-07-24 23:35:49 -07:00
when :change_email
2019-07-26 11:25:24 -07:00
LogWorker . perform_async ( " \xf0 \x9f \x93 \x9d < #{ source } > manually changed a local account's email address. " , LOG_SCOPE_MODERATION )
2019-07-24 23:35:49 -07:00
when :memorialize
2019-07-26 11:25:24 -07:00
LogWorker . perform_async ( " \xf0 \x9f \x8f \x85 < #{ source } > memorialized an account. " , LOG_SCOPE_MODERATION )
2019-07-24 23:35:49 -07:00
end
end
end