From 8f2218106ed0921351acb526be252b90e2f5f277 Mon Sep 17 00:00:00 2001 From: Julian Leucker <leuckerj@gmail.com> Date: Wed, 8 Jun 2022 13:11:15 +0200 Subject: [PATCH] Create basic Coursebook views --- aleksis/apps/alsijil/menus.py | 7 +++++++ aleksis/apps/alsijil/urls.py | 2 ++ aleksis/apps/alsijil/views.py | 20 ++++++++++++++++++-- 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/aleksis/apps/alsijil/menus.py b/aleksis/apps/alsijil/menus.py index 9e259f90b..983e66146 100644 --- a/aleksis/apps/alsijil/menus.py +++ b/aleksis/apps/alsijil/menus.py @@ -13,6 +13,13 @@ MENUS = { "aleksis.core.util.core_helpers.has_person", ], "submenu": [ + { + "name": _("Coursebook"), + "url": "select_coursebook", + "svg_icon": "mdi:book-education-outline", + "vuetify_icon": "mdi-book-education-outline", + # FIXME: Permissions + }, { "name": _("Current lesson"), "url": "lesson_period", diff --git a/aleksis/apps/alsijil/urls.py b/aleksis/apps/alsijil/urls.py index b00418591..907c6f176 100644 --- a/aleksis/apps/alsijil/urls.py +++ b/aleksis/apps/alsijil/urls.py @@ -3,6 +3,8 @@ from django.urls import path from . import views urlpatterns = [ + path("coursebook/", views.SelectCoursebookView.as_view(), name="select_coursebook"), + path("coursebook/<int:pk>/", views.CoursebookView.as_view(), name="coursebook"), path("lesson", views.register_object, {"model": "lesson"}, name="lesson_period"), path( "lesson/<int:year>/<int:week>/<int:id_>", diff --git a/aleksis/apps/alsijil/views.py b/aleksis/apps/alsijil/views.py index 185c4c16e..7fa14bd5c 100644 --- a/aleksis/apps/alsijil/views.py +++ b/aleksis/apps/alsijil/views.py @@ -17,7 +17,7 @@ from django.utils.http import url_has_allowed_host_and_scheme from django.utils.translation import ugettext as _ from django.views import View from django.views.decorators.cache import never_cache -from django.views.generic import DetailView +from django.views.generic import DetailView, TemplateView import reversion from calendarweek import CalendarWeek @@ -28,7 +28,7 @@ from reversion.views import RevisionMixin from rules.contrib.views import PermissionRequiredMixin, permission_required from aleksis.apps.chronos.managers import TimetableType -from aleksis.apps.chronos.models import Event, ExtraLesson, Holiday, LessonPeriod, TimePeriod +from aleksis.apps.chronos.models import Event, ExtraLesson, Holiday, Lesson, LessonPeriod, TimePeriod from aleksis.apps.chronos.util.build import build_weekdays from aleksis.apps.chronos.util.date import get_weeks_for_year, week_weekday_to_date from aleksis.core.mixins import ( @@ -1401,3 +1401,19 @@ class AllRegisterObjectsView(PermissionRequiredMixin, View): if self.action_form.is_valid(): self.action_form.execute() return render(request, "alsijil/class_register/all_objects.html", context) + + +class CoursebookView(DetailView): + model = Lesson + template_name = "alsijil/class_register/coursebook.html" + permission_required = "" # FIXME + + +class SelectCoursebookView(TemplateView): + template_name = "alsijil/class_register/select_coursebook.html" + permission_required = "" # FIXME + + def get_context_data(self, **kwargs): + context = super().get_context_data(**kwargs) + context["lessons"] = self.request.user.person.lessons_as_teacher.all() + return context -- GitLab