Cas d’usage : on affecte des enseignants pour surveiller des examens sur certains créneaux.
On veut éviter d’attribuer un même enseignant sur 2 créneaux, donc on veut une formule qui permet d’afficher les enseignants qui ont déjà été affectés à un créneau.
Une solution : une formule qui affiche les profs en doublons / déjà affectés.
Voici une formule possible (il y a très probablement plus simple / mieux) :
# Lignes pour le même horaire
lignes_horaire = Attribution_salles.lookupRecords(horaires=$horaires)
agents = []
# On parcourt les mails des agents de chaque ligne
for l in lignes_horaire:
for mail in l.agent.mail:
# on crée la liste de tous les agents pour cet horaire
agents.append(mail)
# Trouver les doublons
doublons = [x for x in agents if agents.count(x) > 1]
return list(set(doublons))
Oh, en fait il nous faudrait juste une condition sur liste déroulante disant que si l’enseignant est déjà sur le créneau alors il n’apparaît pas dans la liste… imonit
Le petit défaut : la formule avec la liste de tous les mails est appliquée à toute la colonne - on ne peut pas la faire dans une autre table car la formule de la condition sur liste déroulante n’a pas accès aux autres tables
Petite question: pourquoi tu ne filtres pas ton lookupRecords sur la session ?
Si les sessions sont à des horaires différentes, rien n’empêche l’inscription de la personne à cette session ?