From cd55e32d7de21098b8194dbcf397bd7c1a2984ec Mon Sep 17 00:00:00 2001
From: Jonathan Weth <git@jonathanweth.de>
Date: Mon, 22 Jun 2020 11:40:55 +0200
Subject: [PATCH] Show buttons to get to next or previous lesson on lesson view

---
 .../alsijil/class_register/lesson.html        | 20 +++++++++++++++++++
 aleksis/apps/alsijil/views.py                 |  2 +-
 2 files changed, 21 insertions(+), 1 deletion(-)

diff --git a/aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html b/aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html
index 2e7308ab0..b9e72783f 100644
--- a/aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html
+++ b/aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html
@@ -28,6 +28,26 @@
 {% endblock %}
 
 {% block content %}
+  <div class="row">
+    <div class="col s12">
+      {% with prev_lesson=lesson_period.prev %}
+        <a class="btn-flat left waves-effect waves-light"
+           href="{% url "lesson_by_week_and_period" prev_lesson.week.year prev_lesson.week.week prev_lesson.id %}">
+          <i class="material-icons left">arrow_back</i>
+          {% trans "Previous lesson" %}
+        </a>
+      {% endwith %}
+
+      {% with next_lesson=lesson_period.next %}
+        <a class="btn-flat right waves-effect waves-light"
+           href="{% url "lesson_by_week_and_period" next_lesson.week.year next_lesson.week.week next_lesson.id %}">
+          <i class="material-icons right">arrow_forward</i>
+          {% trans "Next lesson" %}
+        </a>
+      {% endwith %}
+    </div>
+  </div>
+
   <form method="post">
     <div class="row">
       <div class="col s12">
diff --git a/aleksis/apps/alsijil/views.py b/aleksis/apps/alsijil/views.py
index c006e190f..776037bd0 100644
--- a/aleksis/apps/alsijil/views.py
+++ b/aleksis/apps/alsijil/views.py
@@ -38,8 +38,8 @@ def lesson(
 
     if year and week and period_id:
         # Get a specific lesson period if provided in URL
-        lesson_period = LessonPeriod.objects.get(pk=period_id)
         wanted_week = CalendarWeek(year=year, week=week)
+        lesson_period = LessonPeriod.objects.annotate_week(wanted_week).get(pk=period_id)
     else:
         # Determine current lesson by current date and time
         lesson_period = (
-- 
GitLab