Example #1
0
 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)
Example #2
0
 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
Example #3
0
 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
Example #5
0
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
        )
    ]
Example #6
0
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)
    ]