Updated to Django 3.1

This commit is contained in:
Claude Paroz 2020-09-11 14:58:28 +02:00
parent c8f5041ffe
commit 0761b29489
3 changed files with 15 additions and 11 deletions

View file

@ -3,6 +3,7 @@ from copy import deepcopy
from django import forms
from django.contrib import admin
from django.contrib.admin.helpers import ACTION_CHECKBOX_NAME
from django.contrib.auth.admin import GroupAdmin as AuthGroupAdmin
from django.contrib.auth.models import Group
from django.db import models
@ -22,7 +23,7 @@ from .views.export import OpenXMLExport
def print_charge_sheet(modeladmin, request, queryset):
return HttpResponseRedirect(
reverse('print-charge-sheet') + '?ids=%s' % ",".join(
request.POST.getlist(admin.ACTION_CHECKBOX_NAME)
request.POST.getlist(ACTION_CHECKBOX_NAME)
)
)
print_charge_sheet.short_description = "Imprimer les feuilles de charge"

View file

@ -1,5 +1,6 @@
from collections import OrderedDict
from datetime import date
from tempfile import NamedTemporaryFile
from django.conf import settings
from django.db.models import Q, Sum
@ -8,7 +9,6 @@ from django.http import HttpResponse
from openpyxl import Workbook
from openpyxl.styles import Font
from openpyxl.utils import get_column_letter
from openpyxl.writer.excel import save_virtual_workbook
from ..models import (
Availability, CorpContact, Corporation, Course, Section, Student, Teacher,
@ -42,11 +42,15 @@ class OpenXMLExport:
if col_widths:
self.ws.column_dimensions[get_column_letter(col_idx)].width = col_widths[col_idx - 1]
self.row_idx += 1
def get_http_response(self, filename_base):
response = HttpResponse(save_virtual_workbook(self.wb), content_type=openxml_contenttype)
response['Content-Disposition'] = 'attachment; filename=%s_%s.xlsx' % (
filename_base, date.strftime(date.today(), '%Y-%m-%d'))
with NamedTemporaryFile() as tmp:
self.wb.save(tmp.name)
tmp.seek(0)
response = HttpResponse(tmp, content_type=openxml_contenttype)
response['Content-Disposition'] = 'attachment; filename=%s_%s.xlsx' % (
filename_base, date.strftime(date.today(), '%Y-%m-%d')
)
return response
@ -197,8 +201,8 @@ def _ratio_Ede_Ase_Assc():
tot_asscfe = Course.objects.filter(imputation='ASSCFE').aggregate(Sum('period'))['period__sum'] or 0
tot_mps = Course.objects.filter(imputation='MPS').aggregate(Sum('period'))['period__sum'] or 0
asscfe_ratio = 1 if tot_asscfe + tot_mps == 0 else tot_asscfe / (tot_asscfe + tot_mps)
return {'edepe':edepe_ratio, 'asefe':asefe_ratio, 'asscfe': asscfe_ratio}
return {'edepe': edepe_ratio, 'asefe': asefe_ratio, 'asscfe': asscfe_ratio}
def imputations_export(request):