Marketplace, CSS, iCal and a lot of things... #4

Closed
valentin wants to merge 59 commits from dev into main
6 changed files with 19 additions and 8 deletions
Showing only changes of commit 545555aae4 - Show all commits

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.