def _case_changed(case_id, handler_ids): subcases = None case = CommCareCase.get(case_id) for handler in CaseReminderHandler.get_handlers_from_ids(handler_ids): if handler.start_condition_type == CASE_CRITERIA: handler.case_changed(case) if handler.uses_parent_case_property: if subcases is None: subcases = get_subcases(case) for subcase in subcases: handler.case_changed(subcase)
def format_broadcast_data(self, ids): broadcasts = CaseReminderHandler.get_handlers_from_ids(ids) result = [] for broadcast in broadcasts: display = self.format_broadcast_name(broadcast) result.append([ display, self.format_recipients(broadcast), self.format_content(broadcast), broadcast._id, reverse(EditBroadcastView.urlname, args=[self.domain, broadcast._id]), reverse(CopyBroadcastView.urlname, args=[self.domain, broadcast._id]), ]) return result
def format_broadcast_data(self, ids): broadcasts = CaseReminderHandler.get_handlers_from_ids(ids) result = [] for broadcast in broadcasts: display = self.format_broadcast_name(broadcast) result.append([ display, self.format_recipients(broadcast), self.format_content(broadcast), broadcast._id, reverse(EditBroadcastView.urlname, args=[self.domain, broadcast._id]), reverse(CopyBroadcastView.urlname, args=[self.domain, broadcast._id]), ]) return result
def _case_changed(case_id, handler_ids): subcases = None case = CommCareCase.get(case_id) for handler in CaseReminderHandler.get_handlers_from_ids(handler_ids): if handler.start_condition_type == CASE_CRITERIA: kwargs = {} if handler.uses_time_case_property: kwargs = {"schedule_changed": True, "prev_definition": handler} handler.case_changed(case, **kwargs) if handler.uses_parent_case_property: if subcases is None: subcases = get_subcases(case) for subcase in subcases: handler.case_changed(subcase, **kwargs)
def _case_changed(domain, case_id, handler_ids): case = CaseAccessors(domain).get_case(case_id) for handler in CaseReminderHandler.get_handlers_from_ids(handler_ids): if handler.start_condition_type == CASE_CRITERIA: kwargs = {} if handler.uses_time_case_property: kwargs = { 'schedule_changed': True, 'prev_definition': handler, } handler.case_changed(case, **kwargs) if handler.uses_parent_case_property: subcases = case.get_subcases(index_identifier=DEFAULT_PARENT_IDENTIFIER) for subcase in subcases: handler.case_changed(subcase, **kwargs)
def _case_changed(case_id, handler_ids): subcases = None case = CommCareCase.get(case_id) for handler in CaseReminderHandler.get_handlers_from_ids(handler_ids): if handler.start_condition_type == CASE_CRITERIA: kwargs = {} if handler.uses_time_case_property: kwargs = { 'schedule_changed': True, 'prev_definition': handler, } handler.case_changed(case, **kwargs) if handler.uses_parent_case_property: if subcases is None: subcases = get_subcases(case) for subcase in subcases: handler.case_changed(subcase, **kwargs)
default_retry_delay=CASE_CHANGED_RETRY_INTERVAL * 60, max_retries=CASE_CHANGED_RETRY_MAX, bind=True) def case_changed(self, domain, case_id): try: handler_ids = CaseReminderHandler.get_handler_ids( domain, reminder_type_filter=REMINDER_TYPE_DEFAULT) if handler_ids: _case_changed(domain, case_id, handler_ids) except Exception as e: self.retry(exc=e) def _case_changed(domain, case_id, handler_ids): case = CaseAccessors(domain).get_case(case_id) for handler in CaseReminderHandler.get_handlers_from_ids(handler_ids): if handler.start_condition_type == CASE_CRITERIA: kwargs = {} if handler.uses_time_case_property: kwargs = { 'schedule_changed': True, 'prev_definition': handler, } handler.case_changed(case, **kwargs) if handler.uses_parent_case_property: subcases = case.get_subcases( index_identifier=DEFAULT_PARENT_IDENTIFIER) for subcase in subcases: handler.case_changed(subcase, **kwargs)