Obtain date from user to print update forms

This commit is contained in:
Claude Paroz 2018-06-16 21:15:40 +02:00
parent 56f49d0af4
commit 5bb96189ec
4 changed files with 29 additions and 6 deletions

View file

@ -185,16 +185,16 @@ class UpdateDataFormPDF(EpcBaseDocTemplate):
"""
Génération des formulaires PDF de mise à jour des données.
"""
def __init__(self, filename):
def __init__(self, filename, return_date):
super().__init__(filename)
self.text = (
"Afin de mettre à jour nos bases de données, nous vous serions reconnaissant "
"de contrôler les données ci-dessous qui vous concernent selon votre filière "
"et de retourner le présent document corrigé et complété à votre maître de classe jusqu'au "
"vendredi 9 septembre prochain.<br/><br/>"
"%s prochain.<br/><br/>"
"Nous vous remercions de votre précieuse collaboration.<br/><br/>"
"Le secrétariat"
)
) % django_format(return_date, 'l j F')
self.underline = '__________________________________'
def produce(self, klass):

View file

@ -175,7 +175,7 @@ class StagesTest(TestCase):
def test_export_update_forms(self):
self.client.login(username='me', password='mepassword')
response = self.client.get(reverse('print_update_form'))
response = self.client.get(reverse('print_update_form') + '?date=14.09.2018')
self.assertEqual(
response['Content-Disposition'], 'attachment; filename="modification.zip"'
)

View file

@ -748,10 +748,18 @@ class PrintUpdateForm(ZippedFilesBaseView):
"""
filename = 'modification.zip'
def get(self, request, *args, **kwargs):
try:
self.return_date = date(*reversed([int(num) for num in self.request.GET.get('date').split('.')]))
except (AttributeError, ValueError):
messages.error(request, "La date fournie n'est pas valable")
return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/'))
return super().get(request, *args, **kwargs)
def generate_files(self):
for klass in Klass.objects.filter(level__gte=2
).exclude(section__name='MP_ASSC').exclude(section__name='MP_ASE'):
pdf = UpdateDataFormPDF('{0}.pdf'.format(klass.name))
pdf = UpdateDataFormPDF('{0}.pdf'.format(klass.name), self.return_date)
pdf.produce(klass)
yield pdf.filename

View file

@ -5,6 +5,21 @@
<link rel="stylesheet" type="text/css" href="{% static 'admin/css/dashboard.css' %}">
{% endblock %}
{% block extrahead %}
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", function(event) {
var formLink = document.getElementById("updateFormLink");
if (formLink) {
formLink.addEventListener("click", function(event) {
var href = this.href;
var date = prompt("Date de retour des formulaires : ", "?.9.2018");
this.href = href + "?date=" + date;
});
}
});
</script>
{% endblock %}
{% block coltype %}colMS{% endblock %}
{% block bodyclass %}dashboard{% endblock %}
@ -76,7 +91,7 @@
<li><a href="{% url 'stages_export' 'all' %}">Exporter les données de stages</a> (toutes)</li>
<li><a href="{% url 'imputations_export' %}">Exporter les données comptables</a></li>
<li><a href="{% url 'export_sap' %}">Exporter les données SAP</a></li>
<li><a href="{% url 'print_update_form' %}">Imprimer les formulaires de MAJ</a></li>
<li><a id="updateFormLink" href="{% url 'print_update_form' %}">Imprimer les formulaires de MAJ</a></li>
<li><a href="{% url 'print-klass-list' %}">Imprimer les rôles de classes</a></li>
<li><a href="{% url 'general-export' %}">Exportation générale des élèves</a></li>
<li><a href="{% url 'export-qualif-ede' %}">Exportation qualif. EDE</a></li>