Ajout impression
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
from django.contrib import admin
|
||||
from django_summernote.admin import SummernoteModelAdmin
|
||||
from studenteval.models import cl_Student_eval
|
||||
from django.db.models import Q
|
||||
from django.urls import reverse
|
||||
@@ -8,10 +9,18 @@ from django.contrib.auth.models import User
|
||||
from rangefilter.filters import *
|
||||
from django.core.exceptions import PermissionDenied
|
||||
|
||||
from rangefilter.filters import (
|
||||
DateRangeFilterBuilder,
|
||||
DateTimeRangeFilterBuilder,
|
||||
NumericRangeFilterBuilder,
|
||||
DateRangeQuickSelectListFilterBuilder,
|
||||
)
|
||||
|
||||
def is_member(user, group):
|
||||
return user.groups.filter(name=group).exists()
|
||||
|
||||
class _cl_Student_eval_admin(admin.ModelAdmin):
|
||||
class _cl_Student_eval_admin(SummernoteModelAdmin):
|
||||
summernote_fields = ('sDesc_neg','sDesc_pos','sDesc_global')
|
||||
request = None
|
||||
always_show_username = True
|
||||
|
||||
@@ -43,7 +52,10 @@ class _cl_Student_eval_admin(admin.ModelAdmin):
|
||||
|
||||
|
||||
search_fields = ['sStudent', 'sRef']
|
||||
list_filter = ['sStudent',"sAuthor", "nEval_Type", "nEval_Mode"]
|
||||
list_filter = ['sStudent',"sAuthor", "nEval_Type", "nEval_Mode",]
|
||||
#list_filter = ('sStudent', "sAuthor", "nEval_Type", "nEval_Mode", ("dtDate", DateRangeFilterBuilder()),)
|
||||
|
||||
|
||||
|
||||
def get_form(self, request, obj=None, **kwargs):
|
||||
user_obj = request.user
|
||||
|
15
studenteval/list_pdf_export.py
Normal file
15
studenteval/list_pdf_export.py
Normal file
@@ -0,0 +1,15 @@
|
||||
from django.http import HttpResponse
|
||||
from django.template.loader import get_template
|
||||
from xhtml2pdf import pisa
|
||||
|
||||
|
||||
def render_to_pdf(template_src, context_dict={}):
|
||||
template = get_template(template_src)
|
||||
html = template.render(context_dict)
|
||||
response = HttpResponse(content_type='application/pdf')
|
||||
pdf_status = pisa.CreatePDF(html, dest=response)
|
||||
|
||||
if pdf_status.err:
|
||||
return HttpResponse('Some errors were encountered <pre>' + html + '</pre>')
|
||||
|
||||
return response
|
@@ -5,7 +5,7 @@
|
||||
<a href="{% url 'studenteval:student_eval_list' object.Student.id %}?dtDate__range__gte={{ dtDate__range__gte }}&dtDate__range__lte={{ dtDate__range__lte }}" class="nav-link" target="_blank">Voir toutes les évaluations</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{% url 'studenteval:Export_pdf' object.uuid %}?dtDate__range__gte={{ dtDate__range__gte }}&dtDate__range__lte={{ dtDate__range__lte }}" class="nav-link" target="_blank">Imprimer liste PDF</a>
|
||||
<a href="{% url 'studenteval:export_pdf' object.uuid %}?dtDate__range__gte={{ dtDate__range__gte }}&dtDate__range__lte={{ dtDate__range__lte }}" class="nav-link" target="_blank">Imprimer liste PDF</a>
|
||||
</li>
|
||||
{% endblock %}
|
||||
{% block cl_content %}
|
||||
|
@@ -4,7 +4,7 @@
|
||||
|
||||
{% block url_nav %}
|
||||
<li>
|
||||
<a href="{% url 'studenteval:Export_pdf_all' student_id %}?dtDate__range__gte={{ dtDate__range__gte }}&dtDate__range__lte={{ dtDate__range__lte }}" class="nav-link" target="_blank">Imprimer liste PDF</a>
|
||||
<a href="{% url 'studenteval:export_pdf_all' student_id %}?dtDate__range__gte={{ dtDate__range__gte }}&dtDate__range__lte={{ dtDate__range__lte }}" class="nav-link" target="_blank">Imprimer liste PDF</a>
|
||||
</li>
|
||||
{% endblock %}
|
||||
{% block cl_content %}
|
||||
|
@@ -10,9 +10,9 @@ app_name = "studenteval"
|
||||
urlpatterns = [
|
||||
path('show_pdf/<uuid:pk>/', views.student_eval_detail.as_view(), name='student_eval_detail'),
|
||||
path('show_pdf_all/<int:Student>/', views.student_eval_list.as_view(), name='student_eval_list'),
|
||||
path('export_pdf_all/<int:student_id>/', views.export_pdf_all, name='export_pdf_all'),
|
||||
path('export_pdf/<uuid:pk>/', views.export_pdf, name='export_pdf'),
|
||||
#path('peremptions', views.view_peremptions, name='view_peremptions'),
|
||||
|
||||
|
||||
|
||||
]
|
||||
|
||||
|
@@ -4,7 +4,7 @@ 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
|
||||
@@ -78,6 +78,47 @@ class student_eval_list(LoginRequiredMixin,ListView):
|
||||
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, })
|
Reference in New Issue
Block a user