diff --git a/colloscope/models.py b/colloscope/models.py index f0aaffb..334ca9e 100644 --- a/colloscope/models.py +++ b/colloscope/models.py @@ -35,9 +35,9 @@ class Classe(models.Model): Renvoie un numéro non spécifiée si le jour est pendant une période de vacances """ - zone = self.classe.lycee.vacances + zone = self.lycee.vacances vacances = calendrier[zone] - jour0 = self.classe.jour_zero + jour0 = self.jour_zero n = 1 + ((jour - jour0).days)//7 for debut, fin in vacances: @@ -67,9 +67,9 @@ class Classe(models.Model): - Le date du lundi de la semaine n """ - zone = self.classe.lycee.vacances + zone = self.lycee.vacances vacances = calendrier[zone] - jour0 = self.classe.jour_zero + jour0 = self.jour_zero jour = jour0 + (n-1) * timedelta(weeks=1) diff --git a/colloscope/pdfexport.py b/colloscope/pdfexport.py index 7a1db25..340c8dc 100644 --- a/colloscope/pdfexport.py +++ b/colloscope/pdfexport.py @@ -108,7 +108,7 @@ class PDF(FPDF): def table_colloscope(self, periode, heading=True, est_colle=True): semaines = periode.range_semaines() - lundis = [ periode.date_debut_sem(n) for n in semaines ] + lundis = [ periode.classe.date_debut_sem(n) for n in semaines ] creneaux = Creneau.objects.filter(periode=periode, est_colle=est_colle) jours = ["dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"] @@ -182,11 +182,13 @@ def generate(periode): pdf.output("test.pdf") + return pdf + def main(): classe = Classe.objects.get(id=1) periode = Periode.objects.get(classe=classe, libelle="Semestre 5/2") - generate(periode) + return generate(periode) if __name__ == "__main__": main() diff --git a/colloscope/urls.py b/colloscope/urls.py index 344f355..6361cc9 100644 --- a/colloscope/urls.py +++ b/colloscope/urls.py @@ -2,5 +2,6 @@ from django.urls import path from . import views urlpatterns = [ - path("colloscope/", views.colloscope, name="colloscope"), + path("", views.colloscope, name="colloscope"), + path("export", views.export, name="export"), ] diff --git a/colloscope/views.py b/colloscope/views.py index ca03278..43ac19e 100644 --- a/colloscope/views.py +++ b/colloscope/views.py @@ -1,6 +1,14 @@ from django.http import HttpResponse from django.template import loader +from colloscope.pdfexport import main # /!\ temporaire def colloscope(request): template = loader.get_template("colloscope.html") return HttpResponse(template.render()) + +def export(request): + return HttpResponse(bytes(main().output()), content_type="application/pdf") + +def data_dump(request): + template = loader.get_template("data_dump.html") + return HttpResponse(template.render()) diff --git a/kholles_web/urls.py b/kholles_web/urls.py index 0b2d6a4..166821d 100644 --- a/kholles_web/urls.py +++ b/kholles_web/urls.py @@ -18,6 +18,6 @@ from django.contrib import admin from django.urls import include, path urlpatterns = [ - path('', include('colloscope.urls')), + path('colloscope/', include('colloscope.urls')), path('admin/', admin.site.urls), ]