Skip to content
Snippets Groups Projects
Unverified Commit 08ff6b8a authored by Tom Teichler's avatar Tom Teichler :beers:
Browse files

Add view for all lessons on a day. Advances #19.

parent ee3d39a0
Branches issue19
No related tags found
No related merge requests found
......@@ -11,6 +11,11 @@ MENUS = {
'name': _('Timetable'),
'url': 'timetable',
'validators': ['menu_generator.validators.is_authenticated', 'menu_generator.validators.is_superuser']
},
{
'name': _('Lessons'),
'url': 'lessons',
'validators': ['menu_generator.validators.is_authenticated', 'menu_generator.validators.is_superuser']
}
]
}
......
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'}
subject = tables.LinkColumn('substitution_by_id', args=[A('id')])
teachers = tables.LinkColumn('substitution_by_id', args=[A('id')])
periods = tables.LinkColumn('substitution_by_id', args=[A('id')])
groups = tables.LinkColumn('substitution_by_id', args=[A('id')])
{% extends "core/base.html" %}
{% load bootstrap4 i18n %}
{% load render_table from django_tables2 %}
{% block page_title %}{% blocktrans %}Lessons{% endblocktrans %}{% endblock %}
{% block content %}
<h2>
{% blocktrans %}List of all Lessons{% endblocktrans %}
</h2>
{% render_table lessons_table %}
{% endblock %}
......@@ -5,4 +5,5 @@ from . import views
urlpatterns = [
path('timetable', views.timetable, name='timetable'),
path('lessons', views.lessons, name='lessons'),
]
from collections import OrderedDict
from datetime import datetime
from django.contrib.auth.decorators import login_required
from django.http import HttpRequest, HttpResponse
......@@ -11,6 +12,7 @@ from biscuit.core.models import Group, Person
from .models import LessonPeriod, TimePeriod, Room
from .util import current_week
from .tables import LessonsTable
@login_required
......@@ -78,3 +80,19 @@ def timetable(request: HttpRequest) -> HttpResponse:
context['current_week'] = current_week()
return render(request, 'chronos/tt_week.html', context)
@login_required
@admin_required
def lessons(request: HttpRequest) -> HttpResponse:
context = {}
today = datetime.today()
lessons = Lesson.objects.filter(date_start=today)
# Build table
lessons_table = LessonsTable(lessons)
RequestConfig(request).configure(lessons_table)
context['lessons_table'] = lessons_table
return render(request, 'chronos/lessons.html', context)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment