124 lines
4.2 KiB
Python
124 lines
4.2 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.list_pdf_export import render_to_pdf
|
|
|
|
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)
|
|
context["student_id"] = object.Student.id
|
|
|
|
|
|
return context
|
|
|
|
def export_pdf_all(request,student_id):
|
|
'''
|
|
if not "dtDate__range__gte" in request.GET.keys():
|
|
start = datetime.today().replace(day=1,hour=0, minute=0)
|
|
else:
|
|
start = request.GET['dtDate__range__gte']
|
|
if not "dtDate__range__lte" in request.GET.keys():
|
|
end = datetime.now()
|
|
else:
|
|
end = request.GET['dtDate__range__lte']
|
|
'''
|
|
template_name = "studenteval/all_pdf_template.html"
|
|
records = cl_Student_eval.objects.filter(Student=student_id)
|
|
objects=[]
|
|
for record in records:
|
|
record.get_all_evals_for_student()
|
|
record.get_mirror_eval(record.a_evals)
|
|
objects.append(record)
|
|
return render_to_pdf(template_name,{"objects": objects, })
|
|
|
|
def export_pdf(request,pk):
|
|
'''
|
|
if not "dtDate__range__gte" in request.GET.keys():
|
|
start = datetime.today().replace(day=1,hour=0, minute=0)
|
|
else:
|
|
start = request.GET['dtDate__range__gte']
|
|
if not "dtDate__range__lte" in request.GET.keys():
|
|
end = datetime.now()
|
|
else:
|
|
end = request.GET['dtDate__range__lte']
|
|
'''
|
|
template_name = "studenteval/all_pdf_template.html"
|
|
objects = []
|
|
record = cl_Student_eval.objects.get(pk=pk)
|
|
record.get_all_evals_for_student()
|
|
record.get_mirror_eval(record.a_evals)
|
|
objects.append(record)
|
|
|
|
return render_to_pdf(template_name,{"objects": objects, }) |