diff --git a/aleksis/apps/alsijil/migrations/0008_global_permissions.py b/aleksis/apps/alsijil/migrations/0008_global_permissions.py index 609fc703c60cee7770c06d819b06b309a22c56af..c65913c18e71085381ebd3b24dda63e747c8aa8b 100644 --- a/aleksis/apps/alsijil/migrations/0008_global_permissions.py +++ b/aleksis/apps/alsijil/migrations/0008_global_permissions.py @@ -17,6 +17,7 @@ class Migration(migrations.Migration): ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('extended_data', models.JSONField(default=dict, editable=False)), ], + "default_permissions": (), options={ 'permissions': (('view_week', 'Can view week overview'), ('register_absence', 'Can register absence'), ('list_personal_note_filters', 'Can list all personal note filters')), 'managed': False, diff --git a/aleksis/apps/alsijil/models.py b/aleksis/apps/alsijil/models.py index 4ae43ea60de19e01ec1c7b874ab30747c195ffce..f1f65ac936cd18b4f54c4cc6a5e66b662050cc90 100644 --- a/aleksis/apps/alsijil/models.py +++ b/aleksis/apps/alsijil/models.py @@ -31,7 +31,7 @@ from aleksis.apps.alsijil.managers import ( from aleksis.apps.chronos.managers import GroupPropertiesMixin from aleksis.apps.chronos.mixins import WeekRelatedMixin from aleksis.apps.chronos.models import Event, ExtraLesson, LessonPeriod -from aleksis.core.mixins import ExtensibleModel +from aleksis.core.mixins import ExtensibleModel, GlobalPermissionModel from aleksis.core.models import SchoolTerm from aleksis.core.util.core_helpers import get_site_preferences from aleksis.core.util.model_helpers import ICONS @@ -447,7 +447,7 @@ class GroupRoleAssignment(GroupPropertiesMixin, ExtensibleModel): verbose_name_plural = _("Group role assignments") -class AlsijilGlobalPermissions(ExtensibleModel): +class AlsijilGlobalPermissions(GlobalPermissionModel): class Meta: managed = False permissions = ( diff --git a/aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html b/aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html index f21d7686acb763c6f63942dcab91517020b7e0e2..13e781bfb24e3dab3184aa0145dadde7dffd3987 100644 --- a/aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html +++ b/aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html @@ -114,11 +114,13 @@ <a href="#personal-notes">{% trans "Personal notes" %}</a> </li> {% endif %} - {% has_perm "alsijil.view_lessondocumentation" user register_object.prev as can_view_prev_lesson_documentation %} - {% if register_object.prev.get_lesson_documentation and can_view_prev_lesson_documentation %} - <li class="tab"> - <a href="#previous-lesson">{% trans "Previous lesson" %}</a> - </li> + {% if prev_lesson %} + {% has_perm "alsijil.view_lessondocumentation" user prev_lesson as can_view_prev_lesson_documentation %} + {% if prev_lesson.get_lesson_documentation and can_view_prev_lesson_documentation %} + <li class="tab"> + <a href="#previous-lesson">{% trans "Previous lesson" %}</a> + </li> + {% endif %} {% endif %} {% if group_roles %} <li class="tab"> @@ -172,7 +174,7 @@ </div> </div> - {% with prev_lesson=register_object.prev prev_doc=prev_lesson.get_lesson_documentation %} + {% with prev_doc=prev_lesson.get_lesson_documentation %} {% with absences=prev_lesson.get_absences tardinesses=prev_lesson.get_tardinesses extra_marks=prev_lesson.get_extra_marks %} {% has_perm "alsijil.view_lessondocumentation" user prev_lesson as can_view_prev_lesson_documentation %} {% if prev_doc and can_view_prev_lesson_documentation %} diff --git a/aleksis/apps/alsijil/util/alsijil_helpers.py b/aleksis/apps/alsijil/util/alsijil_helpers.py index b5879b1f2ddcb79dbe336c9c4285ddccc30f23f6..20d1a94ab12811a2aa8e8b0664746bd4dbaed7bd 100644 --- a/aleksis/apps/alsijil/util/alsijil_helpers.py +++ b/aleksis/apps/alsijil/util/alsijil_helpers.py @@ -210,11 +210,7 @@ def _generate_dicts_for_lesson_periods( ): continue - teachers = ( - sub.teacher_names - if sub and sub.teachers.all() - else lesson_period.lesson.teacher_names - ) + teachers = lesson_period.teacher_names if ( filter_dict.get("subject") and filter_dict.get("subject") != lesson_period.get_subject()