Merge commit '2b11376411
' into kb_migration
This commit is contained in:
commit
ceec3a92cd
336 changed files with 4018 additions and 2492 deletions
|
@ -3,6 +3,11 @@
|
|||
class NotifyService < BaseService
|
||||
include Redisable
|
||||
|
||||
NON_EMAIL_TYPES = %i(
|
||||
admin.report
|
||||
admin.sign_up
|
||||
).freeze
|
||||
|
||||
def call(recipient, type, activity)
|
||||
@recipient = recipient
|
||||
@activity = activity
|
||||
|
@ -36,11 +41,11 @@ class NotifyService < BaseService
|
|||
end
|
||||
|
||||
def optional_non_follower?
|
||||
@recipient.user.settings.interactions['must_be_follower'] && !@notification.from_account.following?(@recipient)
|
||||
@recipient.user.settings['interactions.must_be_follower'] && !@notification.from_account.following?(@recipient)
|
||||
end
|
||||
|
||||
def optional_non_following?
|
||||
@recipient.user.settings.interactions['must_be_following'] && !following_sender?
|
||||
@recipient.user.settings['interactions.must_be_following'] && !following_sender?
|
||||
end
|
||||
|
||||
def message?
|
||||
|
@ -82,7 +87,7 @@ class NotifyService < BaseService
|
|||
|
||||
def optional_non_following_and_direct?
|
||||
direct_message? &&
|
||||
@recipient.user.settings.interactions['must_be_following_dm'] &&
|
||||
@recipient.user.settings['interactions.must_be_following_dm'] &&
|
||||
!following_sender? &&
|
||||
!response_to_recipient?
|
||||
end
|
||||
|
@ -171,6 +176,6 @@ class NotifyService < BaseService
|
|||
end
|
||||
|
||||
def send_email_for_notification_type?
|
||||
@recipient.user.settings.notification_emails[@notification.type.to_s]
|
||||
NON_EMAIL_TYPES.exclude?(@notification.type) && @recipient.user.settings["notification_emails.#{@notification.type}"]
|
||||
end
|
||||
end
|
||||
|
|
|
@ -149,9 +149,9 @@ class UpdateStatusService < BaseService
|
|||
poll = @status.preloadable_poll
|
||||
|
||||
# If the poll had no expiration date set but now has, or now has a sooner
|
||||
# expiration date, and people have voted, schedule a notification
|
||||
# expiration date, schedule a notification
|
||||
|
||||
return unless poll.present? && poll.expires_at.present? && poll.votes.exists?
|
||||
return unless poll.present? && poll.expires_at.present?
|
||||
|
||||
PollExpirationNotifyWorker.remove_from_scheduled(poll.id) if @previous_expires_at.present? && @previous_expires_at > poll.expires_at
|
||||
PollExpirationNotifyWorker.perform_at(poll.expires_at + 5.minutes, poll.id)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue