mirror of
https://github.com/ae-utbm/sith.git
synced 2026-10-10 12:50:29 +00:00
view to see a user's timetables
This commit is contained in:
1 parent
c80f4ee2b8
commit
e87a4755b9
4 files changed
+83
-3
No files matched your search
+20
-1
@@ -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"))
|
||||
}
|
||||
Reference in new issue
Block a user