Files
Reskreen/studenteval/views.py
Ambulance Clerc e099b9e8da bientôt a alpha
2023-09-09 19:20:08 +02:00

84 lines
2.8 KiB
Python

import requests
from django.contrib.auth.mixins import LoginRequiredMixin
from django.http import HttpResponse, Http404
from django.shortcuts import render
from django.views.generic import ListView, UpdateView, DetailView, FormView, CreateView
from django.core.exceptions import PermissionDenied
from studenteval.models import cl_Student_eval
from studenteval.filters import cl_Student_eval_Filter
def show_pdf(request, uuid):
# Votre logique pour l'action 1 ici
return HttpResponse("Action 1 a été effectuée pour l'objet avec l'ID : {}".format(uuid))
def is_member(user, group):
return user.groups.filter(name=group).exists()
class student_eval_detail(LoginRequiredMixin,DetailView):
model =cl_Student_eval
login_url = ""
def dispatch(self, request, *args, **kwargs):
user_obj = self.request.user
author_id = self.get_object().Author.id if self.get_object().Author is not None else 0
student_id = self.get_object().Student.id if self.get_object().Student is not None else 0
if not user_obj.id == author_id and not user_obj.id == student_id and not is_member(user_obj,"FI-Encadrants"):
raise PermissionDenied
return super().dispatch(request, *args, **kwargs)
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context["dtDate__range__gte"] = self.request.GET.get('dtDate__range__gte')
context["dtDate__range__lte"] = self.request.GET.get('dtDate__range__lte')
self.object.get_all_evals_for_student()
self.object.get_mirror_eval(self.object.a_evals)
return context
class student_eval_list(LoginRequiredMixin,ListView):
model = cl_Student_eval
login_url = ""
def get_queryset(self):
nStudent_id = self.kwargs['Student']
return cl_Student_eval.objects.filter(Student=nStudent_id)
def dispatch(self, request, *args, **kwargs):
user_obj = self.request.user
#self.object_list.filter(Student=requests.GET['Student'])
'''
author_id = self.get_object().Author.id if self.get_object().Author is not None else 0
student_id = self.get_object().Student.id if self.get_object().Student is not None else 0
if not user_obj.id == author_id and not user_obj.id == student_id and not is_member(user_obj,"FI-Encadrants"):
raise PermissionDenied
'''
return super().dispatch(request, *args, **kwargs)
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['my_objects'] =[]
print(self.get_queryset())
for object in self.get_queryset():
object.get_all_evals_for_student()
object.get_mirror_eval(object.a_evals)
context['my_objects'].append(object)
return context