def setUp(self): midnight_programme = Programme.objects.create(name="Programme 00:00 - 09:00", synopsis="This is a description", start_date=datetime.datetime(2014, 1, 1, 0, 0, 0, 0), end_date=datetime.datetime(2014, 1, 31, 12, 0, 0, 0), current_season=1, runtime=540) schedule_board = ScheduleBoard(name='Board', start_date=datetime.datetime(2014, 1, 1, 0, 0, 0, 0)) schedule_board.save() start_hour = datetime.time(0, 0, 0) Schedule.objects.create(programme=midnight_programme, day=MO, start_hour=start_hour, type='L', schedule_board=schedule_board) Schedule.objects.create(programme=midnight_programme, day=TU, start_hour=start_hour, type='L', schedule_board=schedule_board) Schedule.objects.create(programme=midnight_programme, day=WE, start_hour=start_hour, type='L', schedule_board=schedule_board) Schedule.objects.create(programme=midnight_programme, day=TH, start_hour=start_hour, type='L', schedule_board=schedule_board) Schedule.objects.create(programme=midnight_programme, day=FR, start_hour=start_hour, type='L', schedule_board=schedule_board) Schedule.objects.create(programme=midnight_programme, day=SA, start_hour=start_hour, type='L', schedule_board=schedule_board) Schedule.objects.create(programme=midnight_programme, day=SU, start_hour=start_hour, type='L', schedule_board=schedule_board) programme = Programme.objects.create(name="Programme 09:00 - 10:00", synopsis="This is a description", start_date=datetime.datetime(2014, 1, 1), end_date=datetime.datetime(2014, 1, 31), current_season=1, runtime=60) Schedule.objects.create(programme=programme, day=MO, start_hour=datetime.time(9, 0, 0), type='L', schedule_board=schedule_board) Schedule.objects.create(programme=programme, day=WE, start_hour=datetime.time(9, 0, 0), type='L', schedule_board=schedule_board) Schedule.objects.create(programme=programme, day=FR, start_hour=datetime.time(9, 0, 0), type='L', schedule_board=schedule_board) programme = Programme.objects.create(name="Programme 10:00 - 12:00", synopsis="This is a description", start_date=datetime.datetime(2014, 1, 1), end_date=datetime.datetime(2014, 1, 31), current_season=1, runtime=120) Schedule.objects.create(programme=programme, day=MO, start_hour=datetime.time(10, 0, 0), type='L', schedule_board=schedule_board) Schedule.objects.create(programme=programme, day=WE, start_hour=datetime.time(10, 0, 0), type='L', schedule_board=schedule_board) Schedule.objects.create(programme=programme, day=FR, start_hour=datetime.time(10, 0, 0), type='L', schedule_board=schedule_board) for schedule in Schedule.objects.all(): schedule.clean()
def setUp(self): midnight_programme = Programme.objects.create( name="Programme 00:00 - 09:00", synopsis="This is a description", start_date=datetime.datetime(2014, 1, 1, 0, 0, 0, 0), end_date=datetime.datetime(2014, 1, 31, 12, 0, 0, 0), current_season=1, runtime=540) schedule_board = ScheduleBoard(name='Board', start_date=datetime.datetime( 2014, 1, 1, 0, 0, 0, 0)) schedule_board.save() start_hour = datetime.time(0, 0, 0) for day in (MO, TU, WE, TH, FR, SA, SU): Schedule.objects.create(programme=midnight_programme, day=day, start_hour=start_hour, type='L', schedule_board=schedule_board) programme = Programme.objects.create( name="Programme 09:00 - 10:00", synopsis="This is a description", start_date=datetime.datetime(2014, 1, 1), end_date=datetime.datetime(2014, 1, 31), current_season=1, runtime=60) for day in (MO, WE, FR): Schedule.objects.create(programme=programme, day=day, start_hour=datetime.time(9, 0, 0), type='L', schedule_board=schedule_board) programme = Programme.objects.create( name="Programme 10:00 - 12:00", synopsis="This is a description", start_date=datetime.datetime(2014, 1, 1), end_date=datetime.datetime(2014, 1, 31), current_season=1, runtime=120) for day in (MO, WE, FR): Schedule.objects.create(programme=programme, day=day, start_hour=datetime.time(10, 0, 0), type='L', schedule_board=schedule_board) for schedule in Schedule.objects.all(): schedule.clean()
def full_calendar(request): try: if schedule_permissions(request.user): schedule_boards = ScheduleBoard.objects.all().order_by('start_date') if not schedule_boards: ScheduleBoard.objects.create(name="Unnamed") schedule_boards = ScheduleBoard.objects.all() calendar_configuration = CalendarConfiguration.objects.get() context = { 'scheduleBoards': schedule_boards, 'scroll_time': calendar_configuration.scroll_time.strftime('%H:%M:%S'), 'first_day': calendar_configuration.first_day + 1, 'language': request.LANGUAGE_CODE, 'current_scheduleBoard': ScheduleBoard.get_current(datetime.datetime.now()) } return render(request, 'dashboard/fullcalendar.html', context) else: return render( request, 'dashboard/fullcalendar_error.html', {'error_info': _('Sorry, you don\'t have enough permissions. Please contact your administrator.')} ) except CalendarConfiguration.DoesNotExist: return render( request, 'dashboard/fullcalendar_error.html', {'error_info': _('Calendar Configuration not found. Please contact your administrator.')} )
def test_runtime(self): january_board = ScheduleBoard.objects.get(name="january") february_board = ScheduleBoard.objects.get(name="1_14_february") after_board = ScheduleBoard.objects.get(name="after_14_february") self.assertEqual(None, ScheduleBoard.get_current(datetime.datetime(2013, 12, 1, 0, 0, 0, 0))) self.assertEqual(january_board, ScheduleBoard.get_current(datetime.datetime(2014, 1, 1, 0, 0, 0, 0))) self.assertEqual(january_board, ScheduleBoard.get_current(datetime.datetime(2014, 1, 31, 0, 0, 0, 0))) self.assertEqual(january_board, ScheduleBoard.get_current(datetime.datetime(2014, 1, 31, 12, 0, 0, 0))) self.assertEqual(february_board, ScheduleBoard.get_current(datetime.datetime(2014, 2, 1, 0, 0, 0, 0))) self.assertEqual(february_board, ScheduleBoard.get_current(datetime.datetime(2014, 2, 14, 0, 0, 0, 0))) self.assertEqual(after_board, ScheduleBoard.get_current(datetime.datetime(2014, 2, 15, 0, 0, 0, 0))) self.assertEqual(after_board, ScheduleBoard.get_current(datetime.datetime(2014, 6, 1, 0, 0, 0, 0)))
def test_runtime(self): january_board = ScheduleBoard.objects.get(name="january") february_board = ScheduleBoard.objects.get(name="1_14_february") after_board = ScheduleBoard.objects.get(name="after_14_february") self.assertEqual( None, ScheduleBoard.get_current( datetime.datetime(2013, 12, 1, 0, 0, 0, 0))) self.assertEqual( january_board, ScheduleBoard.get_current(datetime.datetime( 2014, 1, 1, 0, 0, 0, 0))) self.assertEqual( january_board, ScheduleBoard.get_current( datetime.datetime(2014, 1, 31, 0, 0, 0, 0))) self.assertEqual( january_board, ScheduleBoard.get_current( datetime.datetime(2014, 1, 31, 12, 0, 0, 0))) self.assertEqual( february_board, ScheduleBoard.get_current(datetime.datetime( 2014, 2, 1, 0, 0, 0, 0))) self.assertEqual( february_board, ScheduleBoard.get_current( datetime.datetime(2014, 2, 14, 0, 0, 0, 0))) self.assertEqual( after_board, ScheduleBoard.get_current( datetime.datetime(2014, 2, 15, 0, 0, 0, 0))) self.assertEqual( after_board, ScheduleBoard.get_current(datetime.datetime( 2014, 6, 1, 0, 0, 0, 0)))
def full_calendar(request): try: if schedule_permissions(request.user): schedule_boards = ScheduleBoard.objects.all().order_by( 'start_date') if not schedule_boards: ScheduleBoard.objects.create(name="Unnamed") schedule_boards = ScheduleBoard.objects.all() calendar_configuration = CalendarConfiguration.objects.get() context = { 'scheduleBoards': schedule_boards, 'scroll_time': calendar_configuration.scroll_time.strftime('%H:%M:%S'), 'first_day': calendar_configuration.first_day + 1, 'language': request.LANGUAGE_CODE, 'current_scheduleBoard': ScheduleBoard.get_current(datetime.datetime.now()) } return render(request, 'dashboard/fullcalendar.html', context) else: return render( request, 'dashboard/fullcalendar_error.html', { 'error_info': _('Sorry, you don\'t have enough permissions. Please contact your administrator.' ) }) except CalendarConfiguration.DoesNotExist: return render( request, 'dashboard/fullcalendar_error.html', { 'error_info': _('Calendar Configuration not found. Please contact your administrator.' ) })