view to see a user's timetables

This commit is contained in:
imperosol committed 2026-10-09 15:34:24 +02:00
1 parent c80f4ee2b8
commit e87a4755b9
4 files changed
+83 -3

No files matched your search

+20 -1
View File
@@ -1,6 +1,25 @@
# Create your views here.
from django.contrib.auth.mixins import UserPassesTestMixin
from django.views.generic import TemplateView
from django.views.generic.detail import DetailView
from core.models import User
class GeneratorView(TemplateView):
template_name = "timetable/generator.jinja"
class UserTimetableView(UserPassesTestMixin, DetailView):
model = User
pk_url_kwarg = "user_id"
template_name = "timetable/user_timetable.jinja"
def test_func(self) -> bool | None:
return self.request.user.id == self.kwargs[
"user_id"
] or self.request.user.has_perm("timetable.view_timetable")
def get_context_data(self, **kwargs):
return super().get_context_data(**kwargs) | {
"timetables": list(self.object.timetables.prefetch_related("slots"))
}