Commit 6540d6a1 authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files
parent b7e1bd1e
Loading
Loading
Loading
Loading
+17 −7
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@ use RuntimeException;
use Service\Entity\Db\MotifModificationServiceDu;
use Service\Form\ModificationServiceDuFormAwareTrait;
use Service\Service\ModificationServiceDuServiceAwareTrait;
use Service\Service\MotifModificationServiceDuServiceAwareTrait;
use UnicaenApp\View\Model\CsvModel;

class ModificationServiceDuController extends AbstractController
@@ -20,6 +21,7 @@ class ModificationServiceDuController extends AbstractController
    use ContextServiceAwareTrait;
    use ModificationServiceDuFormAwareTrait;
    use ModificationServiceDuServiceAwareTrait;
    use MotifModificationServiceDuServiceAwareTrait;
    use WorkflowServiceAwareTrait;


@@ -57,10 +59,18 @@ class ModificationServiceDuController extends AbstractController
        $form->setAttribute('action', $this->getRequest()->getRequestUri());
        $form->bind($intervenant);

        /** @var MotifModificationServiceDu[] $mds */
        $mds = $this->getServiceMotifModificationServiceDu()->getList();
        $multiplicateurs = [];
        foreach( $mds as $md ){
            $multiplicateurs[$md->getId()] = $md->getMultiplicateur();
        }

        $variables = [
            'form'            => $form,
            'intervenant'     => $intervenant,
            'title'           => "Modifications de service dû",
            'multiplicateurs' => $multiplicateurs,
            'canEdit'         => $canEdit,
        ];

+40 −23
Original line number Diff line number Diff line
<?= $this->intervenant($intervenant)->renderTitle($title); ?>
<?php
/**
 * @var $this                      \Application\View\Renderer\PhpRenderer
 * @var $multiplicateurs array
 */

<?= $this->messenger()->addMessagesFromFlashMessenger() ?>
echo $this->intervenant($intervenant)->renderTitle($title);
echo $this->messenger()->addMessagesFromFlashMessenger();

?>
<style>
    form.modification-service-du .form-group {
        float: left;
@@ -78,21 +84,18 @@ echo $this->form()->closeTag();
    var formId = "<?= $form->getAttribute('id') ?>";
    var form = $("#" + formId);

    $("body").on('click', "#" + formId + " button.modification-service-du-ajouter", function ()
    {
    $("body").on('click', "#" + formId + " button.modification-service-du-ajouter", function () {
        addLigne();
        return false;
    });
    $("body").on('click', "#" + formId + " button.modification-service-du-supprimer", function ()
    {
    $("body").on('click', "#" + formId + " button.modification-service-du-supprimer", function () {
        if (getLigneCurrentCount() > 0) {
            removeLigne($(this));
        }
        return false;
    });

    $(function ()
    {
    $(function () {
        <?php if (!$canEdit): ?>
        form.find('input').attr('readonly', "readonly");
        form.find('select').attr('disabled', "disabled");
@@ -101,16 +104,13 @@ echo $this->form()->closeTag();

        updateLigneCounter();
        $(":input").tooltip();
        $('body')
            .on('change', "#" + formId + " select.modification-service-du-motif", function ()
            {
        $('body').on('change', "#" + formId + " select.modification-service-du-motif", function () {
            var select = $(this); // select de référence, dont la valeur a changé
            if (select.val() === '') {
                return;
            }
            })
            .on('change', "#" + formId + " input.modification-service-du-heures", function ()
            {
            updateLigneCounter();
        }).on('change', "#" + formId + " input.modification-service-du-heures", function () {
            updateLigneCounter();
        });
    });
@@ -145,7 +145,14 @@ echo $this->form()->closeTag();
    function getLigneCurrentTotal()
    {
        var total = 0;
        $.each(getLignes(), function (index, ligne) { total = total + Formatter.stringToFloat($(".modification-service-du-heures", ligne).val()); });
        $.each(getLignes(), function (index, ligne) {
            var multiplicateurs = <?= json_encode($multiplicateurs) ?>;

            var heures = Formatter.stringToFloat($(".modification-service-du-heures", ligne).val());
            var motifId = $(".modification-service-du-motif", ligne).val();

            total += (heures * multiplicateurs[motifId]);
        });
        return total;
    }

@@ -154,8 +161,18 @@ echo $this->form()->closeTag();
        var msg = "Aucune modification de service dû.";
        var currentCount = getLigneCurrentCount();
        if (currentCount) {
            var total = getLigneCurrentTotal();
            msg = currentCount + " modification(s) de service dû (total = " + Formatter.floatToString(total) + ").";
            var sstat = <?= (int)$intervenant->getStatut()->getServiceStatutaire() ?>;
            var modifs = getLigneCurrentTotal();
            var s = currentCount > 1 ? 's' : '';

            msg = currentCount + " modification" + s + ", soient " + sstat;
            if (modifs >= 0) {
                msg += " + " + modifs;
            } else {
                msg += " - " + (modifs * -1);
            }

            msg += ' = ' + (sstat + modifs) + " heures de service dû";
        }
        $("#modification-service-du-comptage").html(msg);
    }