Ejemplo n.º 1
0
    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()
Ejemplo n.º 2
0
    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()
Ejemplo n.º 3
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.')}
        )
Ejemplo n.º 4
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)))
Ejemplo n.º 5
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)))
Ejemplo n.º 6
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.'
                  )
            })