Commit aeab9aba authored by Jean-Philippe Metivier's avatar Jean-Philippe Metivier
Browse files

ViewModel pluttttt que JsonModel

parent 6bb149d1
Loading
Loading
Loading
Loading
Loading
+24 −10
Original line number Diff line number Diff line
@@ -12,7 +12,6 @@ use UnicaenEvenement\Service\Evenement\EvenementServiceAwareTrait;
use UnicaenEvenement\Service\EvenementCollection\EvenementCollectionServiceAwareTrait;
use UnicaenEvenement\Service\EvenementGestion\EvenementGestionServiceAwareTrait;
use Laminas\Mvc\Controller\AbstractActionController;
use Laminas\View\Model\JsonModel;
use Laminas\View\Model\ViewModel;
use UnicaenEvenement\Service\Type\TypeServiceAwareTrait;

@@ -35,7 +34,7 @@ class EvenementController extends AbstractActionController {
        ]);
    }

    public function traiterAction() : JsonModel
    public function traiterAction() : ViewModel
    {
        $evenements = $this->getEvenementService()->getRequestedEvenements($this, 'ids');
        $data = [];
@@ -65,22 +64,27 @@ class EvenementController extends AbstractActionController {
                }
            }

            return new JsonModel([
            $vm = new ViewModel([
                'message' => "Traitement des événements sélectionnés",
                'status' => 'success',
                'result' => $data,
            ]);
            $vm->setTemplate('unicaen-evenement/evenement/reponse.phtml');
            return $vm;
        }
        catch (Exception $e) {
            return new JsonModel([
            $vm =  new ViewModel([
                'message' => "Une erreur est survenue lors du traitement des événements sélectionnés.",
                'status' => 'error',
                'result' => $data,
                'exception' => $e,
            ]);
            $vm->setTemplate('unicaen-evenement/evenement/reponse.phtml');
            return $vm;
        }
    }

    public function changerEtatAction() : JsonModel
    public function changerEtatAction() : ViewModel
    {
        $evenements = $this->getEvenementService()->getRequestedEvenements($this, 'ids');
        $etatId = $this->params()->fromPost('etat', 1);
@@ -94,22 +98,27 @@ class EvenementController extends AbstractActionController {
                $etat = $evenement->getEtat();
                $data[$evenement->getId()] = [$etat->getCode(), $etat->getLibelle()];
            }
            return new JsonModel([
            $vm =  new ViewModel([
                'message' => "État des événements sélectionnés modifié avec succès.",
                'status' => 'success',
                'result' => $data,
            ]);
            $vm->setTemplate('unicaen-evenement/evenement/reponse.phtml');
            return $vm;
        }
        catch (Exception $e) {
            return new JsonModel([
            $vm = new ViewModel([
                'message' => "Une erreur est survenue lors de la modification de l'état des événements sélectionnés",
                'status' => 'error',
                'result' => $data,
                'exception' => $e,
            ]);
            $vm->setTemplate('unicaen-evenement/evenement/reponse.phtml');
            return $vm;
        }
    }

    public function supprimerAction() : JsonModel
    public function supprimerAction() : ViewModel
    {
        $evenements = $this->getEvenementService()->getRequestedEvenements($this, 'ids');
        $data = [];
@@ -125,18 +134,23 @@ class EvenementController extends AbstractActionController {
            // commit
            $this->evenementService->commit();

            return new JsonModel([
            $vm = new ViewModel([
                'message' => "Événements sélectionnés supprimés avec succès.",
                'status' => 'success',
                'result' => $data,
            ]);
            $vm->setTemplate('unicaen-evenement/evenement/reponse.phtml');
            return $vm;
        }
        catch (Exception $e) {
            $this->evenementService->rollBack();
            return new JsonModel([
            $vm = new ViewModel([
                'message' => "Une erreur est survenue lors de la suppression des événements sélectionnés.",
                'status' => 'error',
                'exception' => $e,
            ]);
            $vm->setTemplate('unicaen-evenement/evenement/reponse.phtml');
            return $vm;
        }
    }

+29 −0
Original line number Diff line number Diff line
<?php

/**
 * @see \UnicaenEvenement\Controller\EvenementController::traiterAction()
 * @see \UnicaenEvenement\Controller\EvenementController::changerEtatAction()
 * @see \UnicaenEvenement\Controller\EvenementController::supprimerAction()
 * @var string $message
 * @var string $status
 * @var array $result
 * @var Exception $exception
 */

if ($status === 'error') $status = 'danger';
?>

<div class="alert alert-<?php echo $status; ?>">
    <?php echo $message; ?>
</div>


<?php if (isset($result)) : ?>
    Résultat : <br>
    <?php var_dump($result); ?>
<?php endif; ?>

<?php if (isset($exception)) : ?>
    Exception : <br>
    <?php  echo $exception->getMessage(); ?>
<?php endif; ?>