This commit is contained in:
Valentin Moguérou 2024-04-15 20:55:14 +02:00
parent 9e40bc4ae0
commit 545555aae4
6 changed files with 19 additions and 8 deletions

View File

@ -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 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] vacances = calendrier[zone]
jour0 = self.classe.jour_zero jour0 = self.jour_zero
n = 1 + ((jour - jour0).days)//7 n = 1 + ((jour - jour0).days)//7
for debut, fin in vacances: for debut, fin in vacances:
@ -67,9 +67,9 @@ class Classe(models.Model):
- Le date du lundi de la semaine n - Le date du lundi de la semaine n
""" """
zone = self.classe.lycee.vacances zone = self.lycee.vacances
vacances = calendrier[zone] vacances = calendrier[zone]
jour0 = self.classe.jour_zero jour0 = self.jour_zero
jour = jour0 + (n-1) * timedelta(weeks=1) jour = jour0 + (n-1) * timedelta(weeks=1)

View File

@ -108,7 +108,7 @@ class PDF(FPDF):
def table_colloscope(self, periode, heading=True, est_colle=True): def table_colloscope(self, periode, heading=True, est_colle=True):
semaines = periode.range_semaines() 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) creneaux = Creneau.objects.filter(periode=periode, est_colle=est_colle)
jours = ["dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"] jours = ["dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"]
@ -182,11 +182,13 @@ def generate(periode):
pdf.output("test.pdf") pdf.output("test.pdf")
return pdf
def main(): def main():
classe = Classe.objects.get(id=1) classe = Classe.objects.get(id=1)
periode = Periode.objects.get(classe=classe, libelle="Semestre 5/2") periode = Periode.objects.get(classe=classe, libelle="Semestre 5/2")
generate(periode) return generate(periode)
if __name__ == "__main__": if __name__ == "__main__":
main() main()

View File

@ -2,5 +2,6 @@ from django.urls import path
from . import views from . import views
urlpatterns = [ urlpatterns = [
path("colloscope/", views.colloscope, name="colloscope"), path("", views.colloscope, name="colloscope"),
path("export", views.export, name="export"),
] ]

View File

@ -1,6 +1,14 @@
from django.http import HttpResponse from django.http import HttpResponse
from django.template import loader from django.template import loader
from colloscope.pdfexport import main # /!\ temporaire
def colloscope(request): def colloscope(request):
template = loader.get_template("colloscope.html") template = loader.get_template("colloscope.html")
return HttpResponse(template.render()) 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())

View File

@ -18,6 +18,6 @@ from django.contrib import admin
from django.urls import include, path from django.urls import include, path
urlpatterns = [ urlpatterns = [
path('', include('colloscope.urls')), path('colloscope/', include('colloscope.urls')),
path('admin/', admin.site.urls), path('admin/', admin.site.urls),
] ]

BIN
test.pdf

Binary file not shown.