Skip to content
Snippets Groups Projects
Verified Commit 1049e0a6 authored by Tom Teichler's avatar Tom Teichler :beers:
Browse files

Use right data in „all timetables“

parent 4c6b4e38
No related branches found
No related tags found
1 merge request!31Biscuit merge. Closes #53.
{% extends 'core/base.html' %} {% extends 'core/base.html' %}
{% load i18n %}
{% block content %} {% block content %}
<h3>{% blocktrans %}All timetables{% endblocktrans %}</h3> <h3>{% blocktrans %}All timetables{% endblocktrans %}</h3>
<div class="row"> <div class="row">
<div class="col s12 m4"> <div class="col s12 m4">
<h4>Lehrkräfte</h4> <h4>{% blocktrans %}Teachers{% endblocktrans %}</h4>
<ul class="collection"> <ul class="collection">
{% for teacher in teachers %} {% for teacher in teachers %}
<li class="collection-item avatar"> <li class="collection-item avatar">
...@@ -17,14 +19,14 @@ ...@@ -17,14 +19,14 @@
</div> </div>
<div class="col s12 m4"> <div class="col s12 m4">
<h4>Klassen</h4> <h4>{% blocktrans%}Groups{% endblocktrans %}</h4>
<ul class="collection"> <ul class="collection">
{% for class in classes %} {% for group in groups %}
<li class="collection-item avatar"> <li class="collection-item avatar">
<i class="circle">{{ class.name }}</i> <i class="circle">{{ group.name }}</i>
<a href="{% url 'timetable_smart_plan' 'class' class.id %}"><strong>{{ class.name }}</strong></a> <a href="{% url 'timetable_smart_plan' 'group' group.id %}"><strong>{{ group.name }}</strong></a>
<p> <p>
{{ class.text1|default:"" }} – {{ class.text2|default:"" }} <br> {{ group.text1|default:"" }} – {{ class.text2|default:"" }} <br>
Raum: {{ class.room.name|default:"---" }} Raum: {{ class.room.name|default:"---" }}
</p> </p>
</li> </li>
......
...@@ -4,6 +4,7 @@ from . import views ...@@ -4,6 +4,7 @@ from . import views
urlpatterns = [ urlpatterns = [
path("timetable", views.timetable, name="timetable"), path("timetable", views.timetable, name="timetable"),
path("all_timetables", views.all, name="all_timetables"),
path("timetable/<int:year>/<int:week>", views.timetable, name="timetable_by_week"), path("timetable/<int:year>/<int:week>", views.timetable, name="timetable_by_week"),
path("lessons", views.lessons_day, name="lessons_day"), path("lessons", views.lessons_day, name="lessons_day"),
path("lessons/<when>", views.lessons_day, name="lessons_day_by_date"), path("lessons/<when>", views.lessons_day, name="lessons_day_by_date"),
......
...@@ -3,7 +3,7 @@ from datetime import date, datetime, timedelta ...@@ -3,7 +3,7 @@ from datetime import date, datetime, timedelta
from typing import Optional from typing import Optional
from django.contrib.auth.decorators import login_required from django.contrib.auth.decorators import login_required
from django.db.models import Max, Min from django.db.models import Count, Max, Min
from django.http import HttpRequest, HttpResponse from django.http import HttpRequest, HttpResponse
from django.shortcuts import get_object_or_404, redirect, render from django.shortcuts import get_object_or_404, redirect, render
from django.urls import reverse from django.urls import reverse
...@@ -12,14 +12,31 @@ from django.utils.translation import ugettext as _ ...@@ -12,14 +12,31 @@ from django.utils.translation import ugettext as _
from django_tables2 import RequestConfig from django_tables2 import RequestConfig
from aleksis.core.decorators import admin_required from aleksis.core.decorators import admin_required
from aleksis.core.models import Person, Group
from aleksis.core.util import messages from aleksis.core.util import messages
from .forms import LessonSubstitutionForm, SelectForm from .forms import LessonSubstitutionForm, SelectForm
from .models import LessonPeriod, LessonSubstitution, TimePeriod from .models import LessonPeriod, LessonSubstitution, TimePeriod, Room
from .tables import LessonsTable, SubstitutionsTable from .tables import LessonsTable, SubstitutionsTable
from .util import CalendarWeek from .util import CalendarWeek
@login_required
def all(request: HttpRequest) -> HttpResponse:
context = {}
teachers = Person.objects.annotate(lessons_count=Count("lessons_as_teacher")).filter(lessons_count__gt=0)
groups = Group.objects.annotate(lessons_count=Count("lessons")).filter(lessons_count__gt=0)
rooms = Room.objects.annotate(lessons_count=Count("lesson_periods")).filter(lessons_count__gt=0)
context['teachers'] = teachers
context['groups'] = groups
context['rooms'] = rooms
return render(request, 'chronos/all.html', context)
@login_required @login_required
def timetable( def timetable(
request: HttpRequest, year: Optional[int] = None, week: Optional[int] = None request: HttpRequest, year: Optional[int] = None, week: Optional[int] = None
......
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