Commit 4e7a29b9 authored by Thibaut Vallee's avatar Thibaut Vallee
Browse files

appel des actions sur les events en ajax pour la gestion du rafraichissement

parent 8a1c7d15
Loading
Loading
Loading
Loading
Loading
+19 −1
Changes for src/UnicaenEvenement/Controller/EvenementController.php: 19 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@
namespace UnicaenEvenement\Controller;

use Exception;
use UnicaenEvenement\Entity\Db\Etat;
use UnicaenEvenement\Service\Etat\EtatServiceAwareTrait;
use UnicaenEvenement\Service\Evenement\EvenementServiceAwareTrait;
use UnicaenEvenement\Service\EvenementCollection\EvenementCollectionServiceAwareTrait;
@@ -10,6 +11,7 @@ use UnicaenEvenement\Service\EvenementGestion\EvenementGestionServiceAwareTrait;
use Laminas\Mvc\Controller\AbstractActionController;
use Laminas\View\Model\JsonModel;
use Laminas\View\Model\ViewModel;
use DateTime;

class EvenementController extends AbstractActionController {
    use EtatServiceAwareTrait;
@@ -36,14 +38,30 @@ class EvenementController extends AbstractActionController {
        try {
            foreach ($evenements as $evenement) {
                if ($evenement) {
                    // on ne traite que les évènements en attente
                    if ($evenement->getEtat()->getCode() == Etat::EN_ATTENTE AND $evenement->getDatePlanification() <= (new DateTime())) {
                        $evenement = $this->evenementGestionService->traiterEvent($evenement);
                        $etat = $evenement->getEtat();
                        $data[$evenement->getId()] = [
                            "evenement" => $evenement->getId(),
                            "etat" => $evenement->getEtat()->getLibelle(),
                            "log" => $evenement->getLog(),

                        ];
                        $data[$evenement->getId()] = [$etat->getCode(), $etat->getLibelle()];
                    }
                    else{
                        $data[$evenement->getId()] = [
                            "evenement" => $evenement->getId(),
                            "etat" => $evenement->getEtat()->getLibelle(),
                            "log" => "Traitement ignoré car l'événement n'est pas en attente",
                        ];
                    }
                }
            }

            return new JsonModel([
                'message' => "Évènements sélectionnés traités avec succès.",
                'message' => "Traitement des évènements sélectionnés",
                'status' => 'success',
                'result' => $data,
            ]);
+20 −55
Changes for src/UnicaenEvenement/View/Helper/partial/evenement.phtml: 20 added lines, 55 removed lines.
Original line number Diff line number Diff line
@@ -58,66 +58,31 @@ use UnicaenEvenement\Entity\Db\Evenement;
            <li class="list-group-item">
                <div class="row">
                    <div class="col-md-4 col-sm-4">
                        <strong>Paramètres</strong>
                        <strong>Créé le</strong>
                        <br/> <?php echo ($dc = $evenement->getDateCreation()) ? $dc->format('d/m/Y à H:i:s') : '-'; ?>
                    </div>
                    <div class="col-md-4 col-sm-4">
                        <strong>Planifié le</strong>
                        <br/>
                        <?php echo ($dc = $evenement->getDatePlanification()) ? $dc->format('d/m/Y à H:i:s') : '-'; ?>
                    </div>
                    <div class="col-md-4 col-sm-4">
                        <strong>Traité le</strong>
                        <br/>
                        <?php echo ($dc = $evenement->getDateTraitement()) ? $dc->format('d/m/Y à H:i:s') : '-'; ?>
                    </div>
                </div>
            </li>
            <li class="list-group-item">
                <div class="row">
                    <div class="col-md-4 col-sm-4">
                        <strong>Log</strong>
                    </div>
                    <div class="col-md-8 col-sm-8">
                        <?php $parametres = json_decode($evenement->getParametres(), true); ?>
                        <pre><?php echo json_encode($parametres, JSON_PRETTY_PRINT); ?></pre>
                        <?php echo ($log = $evenement->getLog()) ? $log : '-'; ?>
                    </div>
                </div>
            </li>
        </ul>
    </div>
</div>
 No newline at end of file
<div class="panel panel-default evenement-detail">
    <div class="panel-heading">Évènement <strong>#<?php echo $evenement->getId(); ?></strong></div>
    <table class="table" id="recap" style="table-layout: fixed;">
        <tbody>
        <tr>
            <th class="col-md-4"  colspan="1">Description</th>
            <td class="col-md-8" colspan="2"><?php echo $evenement->getDescription(); ?></td>
        </tr>
        <tr>
            <th class="col-md-4"  colspan="1">État</th>
            <td class="col-md-8" colspan="2">
                <?php echo $this->etat($evenement->getEtat()); ?>
                <?php echo $evenement->getEtat()->getLibelle(); ?>
            </td>
        </tr>
        <tr>
            <th class="col-md-4"  colspan="1">Type</th>
            <td class="col-md-8" colspan="2">
                <?php echo $this->type($evenement->getType()); ?>
                <?php echo $evenement->getType()->getLibelle(); ?>
            </td>
        </tr>
        <tr>
            <th class="col-md-4"  colspan="1">Paramètres</th>
            <td class="col-md-8" colspan="2">
                <?php $parametres = json_decode($evenement->getParametres(), true); ?>
                <pre><?php echo json_encode($parametres, JSON_PRETTY_PRINT); ?></pre>
            </td>
        </tr>
        <tr>
            <th class="col-md-4" colspan="1">Créé le</th>
            <th class="col-md-4" colspan="1">Planifié le</th>
            <th class="col-md-4" colspan="1">Traité le</th>
        </tr>
        <tr>
            <td colspan="1"><?php echo ($dc = $evenement->getDateCreation()) ? $dc->format('d/m/Y à H:i:s') : '-'; ?></td>
            <td colspan="1"><?php echo ($dp = $evenement->getDateCreation()) ? $dp->format('d/m/Y à H:i:s') : '-'; ?></td>
            <td colspan="1"><?php echo ($dt = $evenement->getDateCreation()) ? $dt->format('d/m/Y à H:i:s') : '-'; ?></td>
        </tr>
        <tr>
            <th class="col-md-4" colspan="1">Journal</th>
            <td class="col-md-8" colspan="2"><?php echo ($log = $evenement->getLog()) ? $log : '-'; ?></td>
        </tr>
        </tbody>
    </table>
</div>

<style>
    table#recap td {
        border-bottom : 1px solid #dddddd;
    }
</style>
 No newline at end of file
+2 −2
Changes for view/unicaen-evenement/default/confirmation.phtml: 2 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -16,12 +16,12 @@
    <tr><td>
<form method="post" action="<?php echo $action; ?>">
    <input type="hidden" name="reponse" value="oui">
    <input type="submit" name="reponse" class="btn btn-success action" value="Oui, je suis sûr&middot;e">
    <input type="submit" name="submit" class="btn btn-success action" value="Oui, je suis sûr&middot;e">
</form>
        </td><td>
<form method="post" action="<?php echo $action; ?>">
    <input type="hidden" name="reponse" value="non">
    <input type="submit" id="non" name="reponse" class="btn btn-danger action"  value="Non, je ne veux pas">
    <input type="submit" id="non" name="submit" class="btn btn-danger action"  value="Non, je ne veux pas">
</form>
        </td></tr>
</table>
+2 −0
Changes for view/unicaen-evenement/default/default-form.phtml: 2 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@ use Laminas\Form\Form;

<script>
    $(document).ready(function() {
        if (jQuery().tinymce) {
            tinymce.remove();
            tinymce.init({
                selector: '.type2',
@@ -31,6 +32,7 @@ use Laminas\Form\Form;
                    });
                }
            });
        }
    });

    $('select').selectpicker();
+26 −6
Changes for view/unicaen-evenement/evenement/template/liste.phtml: 26 added lines, 6 removed lines.
Original line number Diff line number Diff line
@@ -55,9 +55,15 @@ $canSupprimer = $this->isAllowed(EvenementinstancePrivileges::getResourceId(Even
                <?php endif; ?>
            </td>
            <td data-order="<?php echo $event->getEtat()->getId() ?>">  <?php echo $this->etat($event->getEtat())->render(); ?> </td>
            <td data-order=" <?php echo ($event->getDateCreation()) ? $event->getDateCreation()->getTimestamp() : PHP_INT_MAX?>"> <?php echo ($event->getDateCreation())?$event->getDateCreation()->format('d/m/Y').' <br/> '.$event->getDateCreation()->format('H:i:s'):"---"; ?> </td>
            <td data-order=" <?php echo ($event->getDatePlanification()) ?  $event->getDatePlanification()->getTimestamp() : PHP_INT_MAX ?>"> <?php echo ($event->getDatePlanification())?$event->getDatePlanification()->format('d/m/Y').' <br/> '.$event->getDatePlanification()->format('H:i:s'):"---"; ?> </td>
            <td data-order=" <?php echo ($event->getDateTraitement()) ?  $event->getDateTraitement()->getTimestamp() : PHP_INT_MAX ?>"> <?php echo ($event->getDateTraitement())?$event->getDateTraitement()->format('d/m/Y').' <br/> '.$event->getDateTraitement()->format('H:i:s'):"---"; ?> </td>
            <td data-order=" <?php echo ($event->getDateCreation()) ? $event->getDateCreation()->getTimestamp() : PHP_INT_MAX?>">
                <?php echo ($event->getDateCreation())?$event->getDateCreation()->format('d/m/Y').' <br/> '.$event->getDateCreation()->format('H:i:s'):"---"; ?>
            </td>
            <td data-order=" <?php echo ($event->getDatePlanification()) ?  $event->getDatePlanification()->getTimestamp() : PHP_INT_MAX ?>">
                <?php echo ($event->getDatePlanification())?$event->getDatePlanification()->format('d/m/Y').' <br/> '.$event->getDatePlanification()->format('H:i:s'):"---"; ?>
            </td>
            <td data-order=" <?php echo ($event->getDateTraitement()) ?  $event->getDateTraitement()->getTimestamp() : PHP_INT_MAX ?>">
                <?php echo ($event->getDateTraitement())?$event->getDateTraitement()->format('d/m/Y').' <br/> '.$event->getDateTraitement()->format('H:i:s'):"---"; ?>
            </td>
            <td>
                <?php if ($canAfficher) : ?>
                    <?php /** @see UnicaenEvenement\Controller\EvenementController::afficherAction() */ ?>
@@ -68,19 +74,19 @@ $canSupprimer = $this->isAllowed(EvenementinstancePrivileges::getResourceId(Even
                <?php if ($canTraiter) : ?>
                    <?php /** @see UnicaenEvenement\Controller\EvenementController::traiterAction() */ ?>
                    <a href="<?php echo $this->url('unicaen-evenement/evenement/traiter', ['ids' => $event->getId()], [], true); ?>"
                       class="ajax-modal">
                       class="ajax-action">
                        <span class="icon gerer" title="Lancer le traitement de l'événement" ></span></a>
                <?php endif; ?>
                <?php if ($canModifier) : ?>
                    <?php /** @see UnicaenEvenement\Controller\EvenementController::changerEtatAction() */ ?>
                    <a href="<?php echo $this->url('unicaen-evenement/evenement/changer-etat', ['ids' => $event->getId()], [], true); ?>"
                       class="ajax-modal">
                       class="ajax-action">
                        <span class="icon parametrer" title="Modifier l'état de l'événement" ></span></a>
                <?php endif; ?>
                <?php if ($canSupprimer) : ?>
                    <?php /** @see UnicaenEvenement\Controller\EvenementController::supprimerAction() */ ?>
                    <a href="<?php echo $this->url('unicaen-evenement/evenement/supprimer', ['ids' => $event->getId()], [], true); ?>"
                       class="ajax-modal">
                       class="ajax-action">
                        <span class="icon detruire" title="Modifier l'état de l'événement" ></span></a>
                <?php endif; ?>
            </td>
@@ -92,10 +98,24 @@ $canSupprimer = $this->isAllowed(EvenementinstancePrivileges::getResourceId(Even

<script>
    $(function (){
        $('.ajax-action').on('click', function(){
            url = $(this).attr('href');
            $.ajax({
                url: url,
                dataType: "json",
                complete: function(result){
                    console.log(result);;
                    window.location.reload();
                }
            })
            return false;
        })
        if (jQuery().dataTable) {
            $('#evenements').DataTable({
                "responsive": true,
                "autoWidth": false,
                "stateSave": true,
                "retrieve": true,
                "lengthMenu": [[10,50, 100, 250, -1], [10, 50, 100, 250, 250, "Tous"]],
                "order": [[5, 'desc'], [2, 'asc'], [3, 'asc']],
                "columnDefs": [
Loading