diff --git a/biscuit/apps/chronos/tables.py b/biscuit/apps/chronos/tables.py new file mode 100644 index 0000000000000000000000000000000000000000..f6e541e63a1cbabbd389cfca7114f1b41407d054 --- /dev/null +++ b/biscuit/apps/chronos/tables.py @@ -0,0 +1,13 @@ +from django.utils.translation import ugettext_lazy as _ +import django_tables2 as tables +from django_tables2.utils import A + +class LessonsTable(tables.Table): + class Meta: + attrs = {'class': 'table table-striped table-bordered table-hover table-responsive-xl'} + + period__period = tables.Column() + lesson__groups = tables.Column() + lesson_teachers = tables.Column() + lesson_subject = tables.Column() + room = tables.Column() diff --git a/biscuit/apps/chronos/templates/chronos/lessons_day.html b/biscuit/apps/chronos/templates/chronos/lessons_day.html new file mode 100644 index 0000000000000000000000000000000000000000..a0dbd41203d22d96b6da5fe04620dc4b9c659b82 --- /dev/null +++ b/biscuit/apps/chronos/templates/chronos/lessons_day.html @@ -0,0 +1,14 @@ +{% extends "core/base.html" %} +{% load bootstrap4 i18n %} +{% load render_table from django_tables2 %} + +{% block page_title %}{% blocktrans %}Lessons{% endblocktrans %}{% endblock %} + +{% block content %} + <h2> + {{ day }} + </h2> + + {% render_table lessons_table %} + +{% endblock %} diff --git a/biscuit/apps/chronos/views.py b/biscuit/apps/chronos/views.py index 0093134989a1241a4d52306a82756abfd8bb09e9..726530bd24beaff5a876cd62522f6d4e4dbd7d32 100644 --- a/biscuit/apps/chronos/views.py +++ b/biscuit/apps/chronos/views.py @@ -14,6 +14,7 @@ from biscuit.core.models import Group, Person from .forms import SelectForm from .models import LessonPeriod, TimePeriod, Room from .util import current_week, week_weekday_from_date +from .tables import LessonsTable @login_required @@ -92,11 +93,17 @@ def lessons_day(request: HttpRequest, when: Optional[str] = None) -> HttpRespons week, weekday = week_weekday_from_date(day) + # Get lessons lesson_periods = LessonPeriod.objects.filter( lesson__date_start__lte=day, lesson__date_end__gte=day, period__weekday=weekday ).all() + # Build table + lesson_table = LessonsTable(lesson_periods) + RequestConfig(request).configure(lesson_table) + + context['lesson_table'] = lesson_table context['day'] = day context['day_prev'] = day + timedelta(days=-1) context['day_next'] = day + timedelta(days=1)