def handle(self, *args, **options): ids = self.get_reminder_definition_ids() for handler_doc in iter_docs(CaseReminderHandler.get_db(), ids): handler = CaseReminderHandler.wrap(handler_doc) if handler.reminder_type == REMINDER_TYPE_DEFAULT: self.check_for_ui_type(handler) self.check_for_multiple_fire_time_types(handler) self.check_for_datetime_criteria(handler) self.check_for_case_group_recipient(handler)
def _active_reminders(self): db = CaseReminderHandler.get_db() key = [self.domain.name] reminder_rules = db.view('reminders/handlers_by_reminder_type', startkey=key, endkey=key + [{}], reduce=False).all() active_reminders = [] for reminder_doc in iter_docs(db, [r['id'] for r in reminder_rules]): if reminder_doc.get('active', True): active_reminders.append(CaseReminderHandler.wrap(reminder_doc)) return active_reminders
def _active_reminder_methods(self): db = CaseReminderHandler.get_db() key = [self.domain.name] reminder_rules = db.view( 'reminders/handlers_by_reminder_type', startkey=key, endkey=key+[{}], reduce=False ).all() recipients = [] for reminder_doc in iter_docs(db, [r['id'] for r in reminder_rules]): if reminder_doc['active']: recipients.append(reminder_doc['method']) return recipients
def _active_reminders(self): db = CaseReminderHandler.get_db() key = [self.domain.name] reminder_rules = db.view( 'reminders/handlers_by_reminder_type', startkey=key, endkey=key+[{}], reduce=False ).all() active_reminders = [] for reminder_doc in iter_docs(db, [r['id'] for r in reminder_rules]): if reminder_doc.get('active', True): active_reminders.append(CaseReminderHandler.wrap(reminder_doc)) return active_reminders
def get_active_reminders_by_domain_name(domain_name): from corehq.apps.reminders.models import CaseReminderHandler, REMINDER_TYPE_DEFAULT, REMINDER_TYPE_KEYWORD_INITIATED db = CaseReminderHandler.get_db() key = [domain_name] reminder_rules = db.view( "reminders/handlers_by_reminder_type", startkey=key, endkey=(key + [{}]), reduce=False ).all() return [ CaseReminderHandler.wrap(reminder_doc) for reminder_doc in iter_docs(db, [r["id"] for r in reminder_rules]) if ( reminder_doc.get("active", True) and reminder_doc.get("reminder_type", REMINDER_TYPE_DEFAULT) != REMINDER_TYPE_KEYWORD_INITIATED ) ]
def get_active_reminders_by_domain_name(domain_name): from corehq.apps.reminders.models import ( CaseReminderHandler, REMINDER_TYPE_DEFAULT, REMINDER_TYPE_KEYWORD_INITIATED, ) db = CaseReminderHandler.get_db() key = [domain_name] reminder_rules = db.view('reminders/handlers_by_reminder_type', startkey=key, endkey=(key + [{}]), reduce=False).all() return [ CaseReminderHandler.wrap(reminder_doc) for reminder_doc in iter_docs(db, [r['id'] for r in reminder_rules]) if (reminder_doc.get('active', True) and reminder_doc.get('reminder_type', REMINDER_TYPE_DEFAULT) != REMINDER_TYPE_KEYWORD_INITIATED) ]