From dea72e708b5c0d24a38f3b2b2aebeaa5d297dd16 Mon Sep 17 00:00:00 2001 From: Dan Ungureanu Date: Wed, 10 Jul 2019 10:58:35 +0300 Subject: [PATCH] FIX: Skip enqueuing reminders if no groups are allowed. (#39) * FIX: Skip enqueuing reminders if no groups are allowed. With an empty SiteSetting.assign_allowed_on_groups, it used to generate an invalid query containing "group_users.group_id IN ()". --- jobs/scheduled/enqueue_reminders.rb | 2 +- spec/jobs/scheduled/enqueue_reminders_spec.rb | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/jobs/scheduled/enqueue_reminders.rb b/jobs/scheduled/enqueue_reminders.rb index d1038e8..ed364f9 100644 --- a/jobs/scheduled/enqueue_reminders.rb +++ b/jobs/scheduled/enqueue_reminders.rb @@ -12,7 +12,7 @@ module Jobs private def skip_enqueue? - SiteSetting.remind_assigns_frequency.nil? || !SiteSetting.assign_enabled? + SiteSetting.remind_assigns_frequency.nil? || !SiteSetting.assign_enabled? || SiteSetting.assign_allowed_on_groups.blank? end def allowed_group_ids diff --git a/spec/jobs/scheduled/enqueue_reminders_spec.rb b/spec/jobs/scheduled/enqueue_reminders_spec.rb index 61361d8..0fe7eec 100644 --- a/spec/jobs/scheduled/enqueue_reminders_spec.rb +++ b/spec/jobs/scheduled/enqueue_reminders_spec.rb @@ -16,6 +16,14 @@ RSpec.describe Jobs::EnqueueReminders do assert_reminders_enqueued(0) end + it 'does not enqueue reminders when no groups are allowed to assign' do + SiteSetting.assign_allowed_on_groups = '' + + assign_multiple_tasks_to(user) + + assert_reminders_enqueued(0) + end + it 'enqueues a reminder when the user has more than one task' do assign_multiple_tasks_to(user)