Merge commit '2b11376411' into kb_migration

This commit is contained in:
KMY 2023-04-01 18:05:22 +09:00
commit ceec3a92cd
336 changed files with 4018 additions and 2492 deletions

View file

@ -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

View file

@ -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)