diff --git a/controllers/ApiController.php b/controllers/ApiController.php index 8fb413e..3ecb0f2 100644 --- a/controllers/ApiController.php +++ b/controllers/ApiController.php @@ -42,7 +42,7 @@ class ApiController extends YesWikiController /** * @Route("/api/meeo/controle",methods={"POST"},options={"acl":{"public"}}) */ - public function control(Request $request) { + public function controle(Request $request) { $noteManager = $this->getService(NoteManager::class); $content = $request->getContent(); @@ -56,6 +56,7 @@ class ApiController extends YesWikiController $controle = new Controle($parameters['intitule'], $parameters['matiere'], $parameters['coef'], $eleves); $controle->createNotes($noteManager); - return $this->wiki->redirect('?Notes', 200); + // return ApiResponse($controle); + return $this->wiki->redirect('?Bulletin', 200); } } \ No newline at end of file diff --git a/javascripts/edu_controle_filter.js b/javascripts/edu_controle_filter.js index 50a1da5..35c4239 100644 --- a/javascripts/edu_controle_filter.js +++ b/javascripts/edu_controle_filter.js @@ -1,9 +1,19 @@ -$(document).ready(function(){ - $("#classe").on("change", function() { - var value = $(this).val().toLowerCase(); - $("#eleves div.form-group").filter(function() { - var text = $(this).attr('classe').toLowerCase(); - $(this).toggle(text.indexOf(value) > -1); - }); +function filterClasse() { + var value = $("#classe").val().toLowerCase(); + $("#eleves div.form-group").filter(function() { + var text = $(this).attr('classe').toLowerCase(); + $(this).toggle(text.indexOf(value) > -1); + if (text.indexOf(value) > -1) + $(this).find('.form-control').removeAttr('required'); + else + $(this).find('.form-control').addAttr('required'); }); +} + +jQuery(function(){ + $("#classe").on("change", function() { + filterClasse(); + }); + + filterClasse(); }); \ No newline at end of file diff --git a/libs/bulletin/Bulletin.lib.php b/libs/bulletin/Bulletin.lib.php index f0aa18b..911dba0 100644 --- a/libs/bulletin/Bulletin.lib.php +++ b/libs/bulletin/Bulletin.lib.php @@ -5,34 +5,34 @@ namespace YesWiki\Meeo\Bulletin; include 'tools/meeo/libs/bulletin/Matiere.lib.php'; use YesWiki\Bazar\Service\ListManager; +use YesWiki\Meeo\Eleve\Eleve; class Bulletin { private $eleve; - private $classe; private $matieres = []; - public function __construct($wiki, $eleve, $classe) { + public function __construct($wiki, Eleve $eleve) { $this->eleve = $eleve; // echo var_dump($eleve); - $this->classe = $classe; $listManager = $wiki->services->get(ListManager::class); $matieres = $listManager->getOne('ListeMatiere'); - foreach ($matieres['label'] as $id => $nom) { - $this->matieres[] = new Matiere($wiki, $this, $id, $nom); + // echo "

".var_dump($matieres)."

"; + foreach ($matieres['nodes'] as $matiere) { + $this->matieres[] = new Matiere($wiki, $this, $matiere["id"], $matiere["label"]); } } public function getId() { - return $this->eleve['id_fiche']; + return $this->eleve->getId(); } public function getNom() { - return $this->eleve['bf_nom']; + return $this->eleve->getNom(); } public function getClass() { - return $this->classe; + return $this->eleve->classe; } public function getMoyenne() { diff --git a/libs/bulletin/Matiere.lib.php b/libs/bulletin/Matiere.lib.php index a7833a4..4ceae44 100644 --- a/libs/bulletin/Matiere.lib.php +++ b/libs/bulletin/Matiere.lib.php @@ -17,6 +17,7 @@ class Matiere { $this->nom = $nom; $eleveId = $bulletin->getId(); + // echo "

".$eleveId."

"; $noteManager = $wiki->services->get(NoteManager::class); $entries = $noteManager->getNotes($eleveId, $id); diff --git a/services/NoteManager.php b/services/NoteManager.php index df6dfaa..85a1e70 100644 --- a/services/NoteManager.php +++ b/services/NoteManager.php @@ -1,7 +1,6 @@ wiki->services->get(EleveManager::class); $username = $this->authController->getLoggedUserName(); + // echo "

".$username."

"; - $eleves = $this->wiki->services->get(EleveManager::class)->getAll(); - // $eleves = $ $this->entryManager->search(['formsIds' => $meeo_config['elevesFormId']]); - $entries = $this->entryManager->search(['formsIds' => $this->formId]); include 'tools/meeo/libs/bulletin/Bulletin.lib.php'; - $bulletins = []; - foreach ( $eleves as $eleve) { - //TODO enlever "Passerelle" - $bulletins[] = new Bulletin($this->wiki, $eleve, "Passerelle"); - } - // echo "

".var_dump($eleves)."

"; - // echo "

".var_dump($entries)."

"; - // echo "

".var_dump($bulletins)."

"; + $currentEleve = $eleveManager->getCurrentEleve($username); + // echo "

".var_dump($currentEleve)."

"; + // if ($currentEleve == null) { + $eleves = $eleveManager->getAll(); + // $eleves = $ $this->entryManager->search(['formsIds' => $meeo_config['elevesFormId']]); + // $entries = $this->entryManager->search(['formsIds' => $this->formId]); - return $this->wiki->render('@meeo/edu_notes.twig', [ - "bulletins" => $bulletins, - ]); + $bulletins = []; + foreach ( $eleves as $eleve) { + //TODO enlever "Passerelle" + $bulletin = new Bulletin($this->wiki, $eleve, "Passerelle"); + if ($bulletin->isVisible()) + $bulletins[] = $bulletin; + } + // echo "

".var_dump($eleves)."

"; + // echo "

".var_dump($entries)."

"; + // echo "

".var_dump($bulletins)."

"; + + return $this->wiki->render('@meeo/edu_notes.twig', [ + "bulletins" => $bulletins, + ]); // } else { - // $entries = $entryManager->search(['formsIds' => $this->formId]); - + // $bulletin = new Bulletin($this->wiki, $currentEleve); // return $this->wiki->render('@meeo/eleve_notes.twig', [ // "bulletin" => $bulletin, // ]); @@ -68,7 +74,7 @@ class NoteManager { // echo var_dump($matieres); $classes = $this->listManager->getOne('ListeClasses'); // echo var_dump($classes); - return $this->wiki->render('@meeo/edu_controle.twig', ['matieres' => $matieres['label'], 'classes' => $classes['label'], 'eleves' => $eleves]); + return $this->wiki->render('@meeo/edu_controle.twig', ['matieres' => $matieres['nodes'], 'classes' => $classes['nodes'], 'eleves' => $eleves]); } public function createNote($intitule, $eleve, $matiere, $note, $coef) { @@ -85,11 +91,11 @@ class NoteManager { } public function getNotes($eleveId, $matiereId) { - // echo "

".$eleveId."

"; - // echo "

".$matiereId."

"; + echo "

".$eleveId."

"; + echo "

".$matiereId."

"; $entries = $this->entryManager->search(['formsIds' => $this->formId, 'queries' =>[ - 'listefiche'.$this->eleveFormId.'bf_eleve' => $eleveId, + 'listefiche'.$this->eleveFormId.'bf_eleve' => \strtolower($eleveId), 'listeListeMatierebf_matiere' => $matiereId ] ]); diff --git a/templates/edu_controle.twig b/templates/edu_controle.twig index ca010fa..63d1db5 100644 --- a/templates/edu_controle.twig +++ b/templates/edu_controle.twig @@ -11,8 +11,8 @@
@@ -22,7 +22,7 @@
@@ -37,10 +37,10 @@

Eleves

{% for eleve in eleves %} -