ynh_extension_meeo/services/NoteManager.php
2024-07-27 17:19:40 +02:00

105 lines
No EOL
3.6 KiB
PHP

<?php
namespace YesWiki\Meeo\Service;
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
use YesWiki\Bazar\Service\EntryManager;
use YesWiki\Bazar\Service\ListManager;
use YesWiki\Core\Controller\AuthController;
use YesWiki\Wiki;
use YesWiki\Meeo\Bulletin\Bulletin;
use YesWiki\Meeo\Service\EleveManager;
class NoteManager {
protected $wiki;
protected $params;
protected $entryManager;
protected $listManager;
protected $formId;
protected $eleveFormId;
protected $authController;
public function __construct( Wiki $wiki, ParameterBagInterface $params, EntryManager $entryManager, ListManager $listManager, AuthController $authController)
{
$this->wiki = $wiki;
$this->params = $params;
$this->entryManager = $entryManager;
$this->listManager = $listManager;
$this->authController = $authController;
$meeo_config = $this->params->get('meeo');
$this->formId = $meeo_config['notesFormId'];
$this->eleveFormId = $meeo_config['elevesFormId'];
}
public function viewBulletins() {
$eleveManager = $this->wiki->services->get(EleveManager::class);
$username = $this->authController->getLoggedUserName();
// echo "<p>".$username."</p>";
include 'tools/meeo/libs/bulletin/Bulletin.lib.php';
$currentEleve = $eleveManager->getCurrentEleve($username);
// echo "<p>".var_dump($currentEleve)."</p>";
// if ($currentEleve == null) {
$eleves = $eleveManager->getAll();
// $eleves = $ $this->entryManager->search(['formsIds' => $meeo_config['elevesFormId']]);
// $entries = $this->entryManager->search(['formsIds' => $this->formId]);
$bulletins = [];
foreach ( $eleves as $eleve) {
//TODO enlever "Passerelle"
$bulletin = new Bulletin($this->wiki, $eleve, "Passerelle");
if ($bulletin->isVisible())
$bulletins[] = $bulletin;
}
// echo "<p>".var_dump($eleves)."</p>";
// echo "<p>".var_dump($entries)."</p>";
// echo "<p>".var_dump($bulletins)."</p>";
return $this->wiki->render('@meeo/edu_notes.twig', [
"bulletins" => $bulletins,
]);
// } else {
// $bulletin = new Bulletin($this->wiki, $currentEleve);
// return $this->wiki->render('@meeo/eleve_notes.twig', [
// "bulletin" => $bulletin,
// ]);
// }
}
public function viewControle() {
$eleves = $this->wiki->services->get(EleveManager::class)->getAll();
// echo var_dump($eleves);
$matieres = $this->listManager->getOne('ListeMatiere');
// echo var_dump($matieres);
$classes = $this->listManager->getOne('ListeClasses');
// echo var_dump($classes);
return $this->wiki->render('@meeo/edu_controle.twig', ['matieres' => $matieres['nodes'], 'classes' => $classes['nodes'], 'eleves' => $eleves]);
}
public function createNote($intitule, $eleve, $matiere, $note, $coef) {
$note = [
'bf_titre' => "Note : ".$intitule." - ".$eleve." - ".$matiere,
'bf_intitule' => $intitule,
'listeListeMatierebf_matiere' => $matiere,
'listefiche'.$this->eleveFormId.'bf_eleve' => $eleve,
'bf_note' => $note,
'bf_coef' => $coef,
'antispam' => true
];
$this->entryManager->create($this->formId, $note);
}
public function getNotes($eleveId, $matiereId) {
echo "<p>".$eleveId."</p>";
echo "<p>".$matiereId."</p>";
$entries = $this->entryManager->search(['formsIds' => $this->formId,
'queries' =>[
'listefiche'.$this->eleveFormId.'bf_eleve' => \strtolower($eleveId),
'listeListeMatierebf_matiere' => $matiereId
]
]);
// echo "<p>".var_dump($entries)."</p>";
return $entries;
}
}