def save(self, *args, **kwargs): # rearrange episodes if self.pk is not None: orig = ScheduleBoard.objects.get(pk=self.pk) if orig.start_date != self.start_date or orig.end_date != self.end_date: # Field has changed super(ScheduleBoard, self).save(*args, **kwargs) Episode.rearrange_episodes(programme=None, after=datetime.datetime.now()) else: super(ScheduleBoard, self).save(*args, **kwargs) else: super(ScheduleBoard, self).save(*args, **kwargs)
def create_schedule(request): start = int(request.POST.get('start')) start = datetime.datetime.fromtimestamp(start / 1000.0) emission_type = request.POST.get('type') programme_id = int(request.POST.get('programmeId')) programme = get_object_or_404(Programme, id=programme_id) schedule_board_id = int(request.POST.get('scheduleBoardId')) scheduleBoard = get_object_or_404(ScheduleBoard, id=schedule_board_id) schedule = Schedule(programme=programme, schedule_board=scheduleBoard, day=start.weekday(), start_hour=start.time(), type=emission_type) schedule.clean() schedule.save() Episode.rearrange_episodes(programme, datetime.datetime.now()) return {'scheduleId': schedule.id, 'backgroundColor':background_colours[schedule.type], 'textColor':text_colours[schedule.type], 'type':schedule.type}
def change_event(request): start = int(request.POST.get('start')) start = datetime.datetime.fromtimestamp(start / 1000.0) schedule_id = int(request.POST.get('id')) schedule = get_object_or_404(Schedule.objects.select_related('programme'), id=schedule_id) ''' # next episodes from now or when the schedule board starts now = datetime.datetime.now() dt = datetime.datetime.combine(schedule.schedule_board.start_date, datetime.time(0, 0)) if now > dt: dt = now next_episodes = Episode.next_episodes(programme=schedule.programme, hour=schedule.start_hour, after=dt) ''' # change schedule schedule.start_hour = start.time() schedule.day = start.weekday() schedule.clean() schedule.save() Episode.rearrange_episodes(schedule.programme, datetime.datetime.now()) '''
def create_schedule(request): start = int(request.POST.get('start')) start = datetime.datetime.fromtimestamp(start / 1000.0) emission_type = request.POST.get('type') programme_id = int(request.POST.get('programmeId')) programme = get_object_or_404(Programme, id=programme_id) schedule_board_id = int(request.POST.get('scheduleBoardId')) scheduleBoard = get_object_or_404(ScheduleBoard, id=schedule_board_id) schedule = Schedule(programme=programme, schedule_board=scheduleBoard, day=start.weekday(), start_hour=start.time(), type=emission_type) schedule.clean() schedule.save() Episode.rearrange_episodes(programme, datetime.datetime.now()) return { 'scheduleId': schedule.id, 'backgroundColor': background_colours[schedule.type], 'textColor': text_colours[schedule.type], 'type': schedule.type }
def delete_schedule(request): schedule_id = int(request.POST.get('scheduleId')) schedule = get_object_or_404(Schedule.objects.select_related('programme'), id=schedule_id) schedule.delete() Episode.rearrange_episodes(schedule.programme, datetime.datetime.now())
def delete_ScheduleBoard_handler(sender, **kwargs): Episode.rearrange_episodes(programme=None, after=datetime.datetime.now())