Change display of blocked and muted quoted users (#36619)
This commit is contained in:
@@ -98,12 +98,12 @@ class StatusCacheHydrator
|
||||
if quote.quoted_status.nil?
|
||||
payload[nested ? :quoted_status_id : :quoted_status] = nil
|
||||
payload[:state] = 'deleted'
|
||||
elsif StatusFilter.new(quote.quoted_status, Account.find_by(id: account_id)).filtered_for_quote?
|
||||
payload[nested ? :quoted_status_id : :quoted_status] = nil
|
||||
payload[:state] = 'unauthorized'
|
||||
else
|
||||
payload[:state] = 'accepted'
|
||||
if nested
|
||||
filter_state = StatusFilter.new(quote.quoted_status, Account.find_by(id: account_id)).filter_state_for_quote
|
||||
payload[:state] = filter_state || 'accepted'
|
||||
if filter_state == 'unauthorized'
|
||||
payload[nested ? :quoted_status_id : :quoted_status] = nil
|
||||
elsif nested
|
||||
payload[:quoted_status_id] = quote.quoted_status_id&.to_s
|
||||
else
|
||||
payload[:quoted_status] = StatusCacheHydrator.new(quote.quoted_status).hydrate(account_id, nested: true)
|
||||
|
||||
@@ -15,10 +15,18 @@ class StatusFilter
|
||||
blocked_by_policy? || (account_present? && filtered_status?) || silenced_account?
|
||||
end
|
||||
|
||||
def filtered_for_quote?
|
||||
return false if !account.nil? && account.id == status.account_id
|
||||
|
||||
blocked_by_policy? || (account_present? && filtered_status?)
|
||||
def filter_state_for_quote
|
||||
if !account.nil? && account.id == status.account_id
|
||||
nil
|
||||
elsif blocked_by_policy?
|
||||
'unauthorized'
|
||||
elsif account_present? && blocking_domain?
|
||||
'blocked_domain'
|
||||
elsif account_present? && blocking_account?
|
||||
'blocked_account'
|
||||
elsif account_present? && muting_account?
|
||||
'muted_account'
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
Reference in New Issue
Block a user