diff --git a/actions/AbsencesAction.php b/actions/AbsencesAction.php index 803d279..fb223dc 100644 --- a/actions/AbsencesAction.php +++ b/actions/AbsencesAction.php @@ -2,9 +2,14 @@ use YesWiki\Core\YesWikiAction; use YesWiki\Bazar\Service\EntryManager; +use YesWiki\Core\Service\UserManager; class AbsencesAction extends YesWikiAction { + private $formId = '6'; + private $eleveIdentifier = 'listefiche5bf_eleve'; + private $groupeEE = 'EquipeEducative'; + public function formatArguments($arg) { return []; @@ -13,23 +18,33 @@ class AbsencesAction extends YesWikiAction public function run() { $entryManager = $this->getService(EntryManager::class); - $entries = $entryManager->search(['formsIds' => '6']); + $userManager = $this->getService(UserManager::class); - $grouped_entries = []; - foreach ($entries as $entry) { - $identifier = $entry['listefiche5bf_eleve']; - $nom = $entryManager->getOne($identifier)['bf_nom']; - if (!isset($grouped_entries[$identifier])) { - $grouped_entries[$identifier] = [ - 'nom' => $nom, - 'entries' => [] - ]; + if ( $userManager->isInGroup($this->groupeEE, admincheck: false) ) { + $entries = $entryManager->search(['formsIds' => $this->formId]); + $grouped_entries = []; + foreach ($entries as $entry) { + $identifier = $entry[$this->eleveIdentifier]; + $nom = $entryManager->getOne($identifier)['bf_nom']; + if (!isset($grouped_entries[$identifier])) { + $grouped_entries[$identifier] = [ + 'nom' => $nom, + 'entries' => [] + ]; + } + $grouped_entries[$identifier]['entries'][] = $entry; } - $grouped_entries[$identifier]['entries'][] = $entry; - } - return $this->render('@meeo/edu_absences.twig', [ - "groups" => $grouped_entries, - ]); + return $this->render('@meeo/edu_absences.twig', [ + "groups" => $grouped_entries, + ]); + } else { + $username = $userManager->getLoggedUsername(); + $entries = $entryManager->search(['formsIds' => $this->formId, 'queries' => [ $this->eleveIdentifier => $username."2"]]); + + return $this->render('@meeo/eleve_absences.twig', [ + "entries" => $entries, + ]); + } } } diff --git a/templates/edu_absences.twig b/templates/edu_absences.twig index 27d42c3..aeb9a17 100644 --- a/templates/edu_absences.twig +++ b/templates/edu_absences.twig @@ -5,7 +5,7 @@

{{ group['nom'] }}

{% endfor %} diff --git a/templates/eleve_absences.twig b/templates/eleve_absences.twig index 2d5e581..06db2bb 100644 --- a/templates/eleve_absences.twig +++ b/templates/eleve_absences.twig @@ -1,5 +1,5 @@
- {% for entry in group['entries'] %} + {% for entry in entries %}
{{ entry['bf_date_debut_evenement'] }}
{% if entry['bf_commentaire']|default %}