def create_aww_indicator_4(domain): with transaction.atomic(): # Monthly schedule for the last day of the month schedule = TimedSchedule.create_simple_monthly_schedule( domain, TimedEvent(time=time(9, 30)), [-1], CustomContent(custom_content_id='ICDS_DPT3_AND_MEASLES_ARE_DUE'), total_iterations=TimedSchedule.REPEAT_INDEFINITELY ) schedule.default_language_code = 'hin' schedule.custom_metadata = {'icds_indicator': 'aww_4'} schedule.save() rule = AutomaticUpdateRule.objects.create( domain=domain, name="AWW #4: DPT3 and Measles Vaccinations Due", case_type='tasks', active=True, deleted=False, filter_on_server_modified=False, server_modified_boundary=None, migrated=True, workflow=AutomaticUpdateRule.WORKFLOW_SCHEDULING, ) rule.add_criteria( CustomMatchDefinition, name='ICDS_CONSIDER_CASE_FOR_DPT3_AND_MEASLES_REMINDER', ) rule.add_action( CreateScheduleInstanceActionDefinition, timed_schedule_id=schedule.schedule_id, recipients=(('Owner', None),), )
def _add_monthly_rule(self, content): schedule = TimedSchedule.create_simple_monthly_schedule( self.domain, TimedEvent(time=time(11, 0)), [23, -1], content, total_iterations=2, ) return self._add_rule(timed_schedule_id=schedule.schedule_id)
def setUpClass(cls): super(EndOfMonthScheduleTest, cls).setUpClass() cls.domain = 'scheduling-test' cls.domain_obj = Domain(name=cls.domain, default_timezone='America/New_York') cls.domain_obj.save() cls.user1 = CommCareUser.create(cls.domain, 'user1', 'password') cls.schedule = TimedSchedule.create_simple_monthly_schedule( cls.domain, time(12, 0), [-1], SMSContent(), total_iterations=2, )