(self, schedule=None, new_start_date=None)
Resets the start_date and recalulates the next_event_due timestamp for
        this AbstractTimedScheduleInstance.

        :param schedule: The TimedSchedule to use to avoid a lookup; if None,
        self.memoized_schedule is used
        :param new_start_date: The start date to use when recalculating the schedule;
        If None, the current date is used
Resets the start_date and recalulates the next_event_due timestamp for
        this AbstractTimedScheduleInstance.
Resets the start_date and recalulates the next_event_due timestamp for this AbstractTimedScheduleInstance .
def recalculate_schedule(self, schedule=None, new_start_date=None):
        """
        Resets the start_date and recalulates the next_event_due timestamp for
        this AbstractTimedScheduleInstance.

        :param schedule: The TimedSchedule to use to avoid a lookup; if None,
        self.memoized_schedule is used
        :param new_start_date: The start date to use when recalculating the schedule;
        If None, the current date is used
        """
        schedule = schedule or self.memoized_schedule
        self.current_event_num = 0
        self.schedule_iteration_num = 1
        self.active = True
        schedule.set_first_event_due_timestamp(self, start_date=new_start_date)
        schedule.move_to_next_event_not_in_the_past(self)
        self.schedule_revision = schedule.get_schedule_revision(case=schedule.get_case_or_none(self))
def recalculate_schedule ( self , schedule = None , new_start_date = None ) : schedule = schedule or self . memoized_schedule self . current_event_num = 0 self . schedule_iteration_num = 1 self . active = True schedule . set_first_event_due_timestamp ( self , start_date = new_start_date ) schedule . move_to_next_event_not_in_the_past ( self ) self . schedule_revision = schedule . get_schedule_revision ( case = schedule . get_case_or_none ( self ) )