From 4bba4e42f619027aa27cc6c8894170e590486dd1 Mon Sep 17 00:00:00 2001
From: Jonathan Weth <git@jonathanweth.de>
Date: Thu, 27 Jan 2022 17:09:20 +0100
Subject: [PATCH] Handle non-existing groups in register object view

---
 CHANGELOG.rst                                                | 5 +++++
 .../alsijil/templates/alsijil/class_register/lesson.html     | 2 +-
 aleksis/apps/alsijil/views.py                                | 2 +-
 3 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index af6187192..e5c27516a 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -14,6 +14,11 @@ Changed
 
 * Use start date of current SchoolTerm as default value for PersonalNote filter in overview.
 
+Fixed
+~~~~~
+
+* Events without groups caused an error when not accessed through the week view.
+
 `2.0rc7` - 2021-12-25
 ---------------------
 
diff --git a/aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html b/aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html
index 9a55603ef..08af12a75 100644
--- a/aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html
+++ b/aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html
@@ -50,7 +50,7 @@
   {% has_perm "alsijil.edit_lessondocumentation_rule" user register_object as can_edit_lesson_documentation %}
   {% has_perm "alsijil.edit_register_object_personalnote_rule" user register_object as can_edit_register_object_personalnote %}
 
-  {% if next_lesson_person or prev_lesson_person or lesson_documentation %}
+  {% if next_lesson_person or prev_lesson_person or back_to_week_url %}
     <div class="row margin-bottom z-depth-1 alsijil-nav-header">
       <div class="col s12 no-padding">
         {# Back to week view #}
diff --git a/aleksis/apps/alsijil/views.py b/aleksis/apps/alsijil/views.py
index 1fe31fd27..ccb11c6da 100644
--- a/aleksis/apps/alsijil/views.py
+++ b/aleksis/apps/alsijil/views.py
@@ -293,7 +293,7 @@ def register_object(
         )
         if back_url_is_safe:
             context["back_to_week_url"] = back_url
-        else:
+        elif register_object.get_groups().all():
             context["back_to_week_url"] = reverse(
                 "week_view_by_week",
                 args=[
-- 
GitLab