Add `UserRole#enables_delivery?` method for notification check

Matt Jankowski 2024-11-19 08:36:47 -05:00
parent 37f00fb018
commit caf71ae4bc
2 changed files with 5 additions and 1 deletions

View File

@ -142,6 +142,10 @@ class UserRole < ApplicationRecord
other_role.nil? || position > other_role.position
end
def enables_delivery?(role)
overrides?(role) && highlighted? && can?(*Flags::CATEGORIES[:moderation])
end
def computed_permissions
# If called on the everyone role, no further computation needed
return permissions if everyone?

View File

@ -134,7 +134,7 @@ class NotifyService < BaseService
end
def from_staff?
@sender.local? && @sender.user.present? && @sender.user_role&.overrides?(@recipient.user_role) && @sender.user_role&.highlighted? && @sender.user_role&.can?(*UserRole::Flags::CATEGORIES[:moderation])
@sender.local? && @sender.user.present? && @sender.user_role&.enables_delivery?(@recipient.user_role)
end
def from_self?