Marketplace, CSS, iCal and a lot of things... #4
|
@ -5,6 +5,16 @@ from icalendar import Calendar, Event, vCalAddress, vText
|
|||
|
||||
from colloscope.models import *
|
||||
|
||||
def emailize(nom, prenom=None):
|
||||
if prenom is not None:
|
||||
return "{}.{}@example.com" \
|
||||
.format(
|
||||
prenom.replace(" ", "_").lower(),
|
||||
nom.replace(" ", "_").lower()
|
||||
)
|
||||
else:
|
||||
return "{}@example.com" \
|
||||
.format(nom.replace(" ", "_").lower())
|
||||
|
||||
def to_calendar(etudiant, periode):
|
||||
cal = Calendar()
|
||||
|
@ -33,13 +43,13 @@ def to_calendar(etudiant, periode):
|
|||
event.add("location", f"{rotation.creneau.salle} ({rotation.creneau.periode.classe.lycee})")
|
||||
event.add("matiere", str(rotation.creneau.matiere))
|
||||
|
||||
organizer = vCalAddress("mailto:unknown@mp2i-vms.fr")
|
||||
organizer = vCalAddress(f"mailto:{emailize(rotation.creneau.colleur.nom)}")
|
||||
organizer.params["cn"] = vText(str(rotation.creneau.colleur))
|
||||
organizer.params["role"] = vText("Colleur")
|
||||
event.add("organizer", organizer)
|
||||
|
||||
for e in rotation.groupe_effectif():
|
||||
attendee = vCalAddress("mailto:unknown@mp2i-vms.fr")
|
||||
attendee = vCalAddress("mailto:{emailize(e.nom, prenom=e.prenom)}")
|
||||
attendee.params["cn"] = vText(str(e))
|
||||
attendee.params["role"] = vText("Etudiant")
|
||||
|
||||
|
|
Loading…
Reference in New Issue