From 0754ea3753c3cf96dd5b5bc13211ecdc8f8fc0ac Mon Sep 17 00:00:00 2001 From: Diego Cepeda Date: Tue, 10 Aug 2021 14:24:07 -0700 Subject: [PATCH] use app's category default if user's not defined --- src/iris/bin/sender.py | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/iris/bin/sender.py b/src/iris/bin/sender.py index 3764a73e..aa061f4d 100644 --- a/src/iris/bin/sender.py +++ b/src/iris/bin/sender.py @@ -883,19 +883,32 @@ def set_target_contact(message): elif 'category' in message: connection = db.engine.raw_connection() cursor = connection.cursor() + # get user category overrides if they exist cursor.execute(''' SELECT `mode`.`id`, `mode`.`name` FROM `category_override` JOIN `target` ON `target`.`id` = `category_override`.`user_id` JOIN `mode` ON `mode`.`id` = `category_override`.`mode_id` WHERE `target`.`name` = %(target)s AND `category_override`.`category_id` = %(category_id)s - ''', {'target': message['target'], 'category_id': message['category_id']}) + ''', {'target': message['target'], 'category_id': message['category_id']}) override_mode = cursor.fetchone() if override_mode: message['mode_id'] = override_mode[0] message['mode'] = override_mode[1] else: - message['mode_id'] = message['category_mode_id'] - message['mode'] = message['category_mode'] + # use app default for category + cursor.execute(''' + SELECT `mode`.`id`, `mode`.`name` FROM `notification_category` + JOIN `mode` ON `mode`.`id` = `notification_category`.`mode_id` + WHERE `notification_category`.`id` = %(category_id)s + ''', {'category_id': message['category_id']}) + override_mode = cursor.fetchone() + + if override_mode: + message['mode_id'] = override_mode[0] + message['mode'] = override_mode[1] + else: + message['mode_id'] = message['category_mode_id'] + message['mode'] = message['category_mode'] cursor.execute(''' SELECT `destination` FROM `target_contact` JOIN `target` ON `target`.`id` = `target_contact`.`target_id`