Corection de bug -

maj de l'ordre lors de l'ajout d'énigme et lors de la suppression
ServeurDeTest
Noé GARNIER 2 years ago
parent cc90d0d202
commit 67b1e931e3

@ -16,7 +16,7 @@ class AdminModel
public function addNewEnigmeSolo(string $nom,string $enonce,string $aide,string $rappel,string $exemple,string $test,string $solution, string $prompt) : Enigme public function addNewEnigmeSolo(string $nom,string $enonce,string $aide,string $rappel,string $exemple,string $test,string $solution, string $prompt) : Enigme
{ {
$last = $this->enigme_gateway->findLastEnigma(); $last = $this->enigme_gateway->findLastEnigmaByOrdre();
if ($last != null){ if ($last != null){
$ordre = $last[0]->getOrdre() + 1; $ordre = $last[0]->getOrdre() + 1;
} else { } else {
@ -44,11 +44,32 @@ async function submit(){
return $tabEnigme[0]; return $tabEnigme[0];
} }
private function majOrdreAfterDelete(int $ordre){
$lesEnigmes = $this->enigme_gateway->findSoloEnigma();
if ($lesEnigmes == null) {
return;
}
$lastOrdre = $this->enigme_gateway->findLastEnigmaByOrdre()[0]->getOrdre();
if ($ordre > $lastOrdre) {
return;
}
foreach ($lesEnigmes as $enigme) {
if ($enigme->getOrdre() <= $ordre) {
continue;
}
$enigme->setOrdre($enigme->getOrdre()-1);
$this->enigme_gateway->update($enigme);
}
}
public function deleteEnigme(int $id) : void public function deleteEnigme(int $id) : void
{ {
$nom = $this->enigme_gateway->findById($id)[0]->getNom(); $enigme = $this->enigme_gateway->findById($id)[0];
$nom = $enigme->getNom();
$ordre = $enigme->getOrdre();
$this->enigme_gateway->delete($id); $this->enigme_gateway->delete($id);
unlink('View/src/JS/'.$nom.'.js'); unlink('View/src/JS/'.$nom.'.js');
$this->majOrdreAfterDelete($ordre);
} }
public function getEnigmesSolo() : array public function getEnigmesSolo() : array

Loading…
Cancel
Save