ynh_extension_meeo/actions/AbsencesAction.php

51 lines
1.6 KiB
PHP
Raw Normal View History

2024-07-04 05:32:34 +00:00
<?php
use YesWiki\Core\YesWikiAction;
2024-07-04 07:01:12 +00:00
use YesWiki\Bazar\Service\EntryManager;
use YesWiki\Core\Service\UserManager;
2024-07-04 05:32:34 +00:00
class AbsencesAction extends YesWikiAction
{
private $formId = '6';
private $eleveIdentifier = 'listefiche5bf_eleve';
private $groupeEE = 'EquipeEducative';
2024-07-04 05:32:34 +00:00
public function formatArguments($arg)
{
return [];
}
public function run()
{
2024-07-04 07:01:12 +00:00
$entryManager = $this->getService(EntryManager::class);
$userManager = $this->getService(UserManager::class);
2024-07-04 07:01:12 +00:00
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;
2024-07-04 07:01:12 +00:00
}
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,
]);
}
2024-07-04 05:32:34 +00:00
}
}