diff --git a/commands/CreateFormsCommand.php b/commands/CreateFormsCommand.php index ee0ae04..4323bc9 100644 --- a/commands/CreateFormsCommand.php +++ b/commands/CreateFormsCommand.php @@ -163,7 +163,7 @@ EOT, "bn_sem_type" => "", "bn_sem_use_template" => "1", "bn_template" => <<yunohostFormId***Liste déroulante*** *** *** ***bf_nom*** ***1*** *** *** * *** * *** *** *** *** liste***ListeClasses***Classe*** *** ***aucune***bf_classe*** ***1*** *** *** * *** * *** *** *** *** EOT, diff --git a/commands/UpdateElevesFromYunohostCommand.php b/commands/UpdateElevesFromYunohostCommand.php index 1ed3921..dd0e871 100644 --- a/commands/UpdateElevesFromYunohostCommand.php +++ b/commands/UpdateElevesFromYunohostCommand.php @@ -62,7 +62,7 @@ class UpdateElevesFromYunohostCommand extends Command { if ($eleveEntry == null) { $entryManager->create($elevesFormId, [ 'bf_titre' => $yunohostEntry['id_fiche'], - 'listefiche'.$this->yunohostFormId.'Listebf_nom' => $yunohostEntry['id_fiche'], + 'listefiche'.$yunohostFormId.'Listebf_nom' => $yunohostEntry['id_fiche'], 'antispam' => 1 ]); } diff --git a/controllers/ApiController.php b/controllers/ApiController.php index 7523b81..8fb413e 100644 --- a/controllers/ApiController.php +++ b/controllers/ApiController.php @@ -25,13 +25,17 @@ class ApiController extends YesWikiController foreach ($parameters as $cle => $valeur) { $clef_action = explode('_', $cle); if ($clef_action[1] == 'classe' && $valeur != 'aucune') { - $datas[] = $eleveController->updateClasse($clef_action[0], $valeur); + $eleve = $eleveController->getEleve($clef_action[0]); + // echo var_dump($valeur); + $eleve->setClasse($valeur); + echo var_dump($eleve); + $datas[] = $eleveController->updateEleve($eleve); } if ($clef_action[1] == 'del') { $eleveController->del($clef_action[0]); } } - + // return ApiResponse($data); return $this->wiki->redirect('?Eleves', 200); } diff --git a/libs/eleves/eleve.lib.php b/libs/eleves/eleve.lib.php index bf76a77..904f2af 100644 --- a/libs/eleves/eleve.lib.php +++ b/libs/eleves/eleve.lib.php @@ -5,14 +5,20 @@ namespace YesWiki\Meeo\Eleve; use YesWiki\Bazar\Service\EntryManager; class Eleve { - public $data; - public $classe; - public $user; + private $data; + private $user; public function __construct(EntryManager $entryManager, $data) { $this->data = $data; - $this->classe = $data['listeListeClassesbf_classe']; - $this->user = $entryManager->getOne($data['listeficheListebf_nom']); + // echo "

".var_dump($data)."

"; + //TODO récupérer le bon numéro de liste + + if (empty($data['listefiche5Listebf_nom'])) + $userId = $data['listefichebf_nom']; + else + $userId = $data['listefiche5Listebf_nom']; + + $this->user = $entryManager->getOne($userId); // echo "

".var_dump($this)."

"; } @@ -27,4 +33,19 @@ class Eleve { return $this->user['bf_nom']; } } + + public function getClasse() { + if (empty($this->data['listeListeClassesbf_classe'])) { + return $this->data['bf_classe']; + } + return $this->data['listeListeClassesbf_classe']; + } + + public function setClasse(string $classe) { + $this->data['listeListeClassesbf_classe'] = $classe; + } + + public function getData() { + return $this->data; + } } \ No newline at end of file diff --git a/services/EleveManager.php b/services/EleveManager.php index 0f5f5d0..8bcbaf8 100644 --- a/services/EleveManager.php +++ b/services/EleveManager.php @@ -2,6 +2,8 @@ namespace YesWiki\Meeo\Service; +include 'tools/meeo/libs/eleves/eleve.lib.php'; + use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface; use YesWiki\Bazar\Service\EntryManager; use YesWiki\Bazar\Service\ListManager; @@ -28,13 +30,15 @@ class EleveManager { $this->entryManager->delete($id); } - public function updateClasse($id, $classe) { - return $this->entryManager->update($id, ['listeListeClassesbf_classe' => $classe, 'antispam' => true]); + public function updateEleve(Eleve $eleve) { + $id = $eleve->getId(); + $data = $eleve->getData(); + $data['antispam'] = true; + echo var_dump($data); + return $this->entryManager->update($id, $data); } public function getAll() { - include 'tools/meeo/libs/eleves/eleve.lib.php'; - $eleves = []; foreach ($this->entryManager->search(['formsIds' => $this->formId]) as $data) { @@ -46,6 +50,10 @@ class EleveManager { return $eleves; } + public function getEleve(string $id) { + return new Eleve($this->entryManager, $this->entryManager->getOne($id)); + } + public function getCurrentEleve(string $username) { return $this->entryManager->getOne(str_replace(".","", $username)); }