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

Possibilité d'empècher la modification de la valeur de paramètre

parent 56dd5ac1
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@
        <field name="valeurs_possibles" column="valeurs_possibles"      type="string"    length="4096"    nullable="true" />
        <field name="valeur"            column="valeur"                 type="string"    length="4096"    nullable="true" />
        <field name="ordre"             column="ordre"                  type="integer"                    nullable="true" />
        <field name="modifiable"        column="modifiable"             type="boolean"                    nullable="true" />

    </entity>
</doctrine-mapping>
 No newline at end of file
+10 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ class Parametre
    private ?string $valeur = null;
    private ?string $valeurs_possibles = null;
    private ?int $ordre = null;
    private bool $modifiable = true;

    public function getId(): int
    {
@@ -101,6 +102,15 @@ class Parametre
        return $this;
    }

    public function isModifiable(): bool
    {
        return $this->modifiable;
    }

    public function setModifiable(bool $modifiable): void
    {
        $this->modifiable = $modifiable;
    }

    public function getTemoins() : array
    {
+13 −0
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@

namespace UnicaenParametre\Form\Parametre;

use Laminas\Form\Element\Checkbox;
use UnicaenParametre\Entity\Db\Categorie;
use UnicaenParametre\Service\Parametre\ParametreServiceAwareTrait;
use Laminas\Form\Element\Button;
@@ -98,6 +99,17 @@ class ParametreForm extends Form {
                'id' => 'possibles',
            ],
        ]);
        //Modifiable
        $this->add([
            'type' => Checkbox::class,
            'name' => 'modifiable',
            'options' => [
                'label' => "Est un paramètre modifiable",
            ],
            'attributes' => [
                'id' => 'modifiable',
            ],
        ]);
        //button
        $this->add([
            'type' => Button::class,
@@ -133,6 +145,7 @@ class ParametreForm extends Form {
            'libelle'    => [     'required' => true, ],
            'possibles'  => [     'required' => false, ],
            'ordre'      => [     'required' => true, ],
            'modifiable' => [     'required' => false, ],
        ]));
    }

+3 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@ class ParametreHydrator implements HydratorInterface {
            'description' => $object->getDescription(),
            'possibles' => $object->getValeursPossibles(),
            'ordre' => $object->getOrdre(),
            'modifiable' => $object->isModifiable(),
        ];
        return $data;
    }
@@ -27,12 +28,14 @@ class ParametreHydrator implements HydratorInterface {
        $description = (isset($data['description']) and trim($data['description']) !== '')?trim($data['description']):null;
        $valeurs = (isset($data['possibles']) and trim($data['possibles']) !== '')?trim($data['possibles']):null;
        $ordre = (isset($data['ordre']) and trim($data['ordre']) !== '')?trim($data['ordre']):null;
        $modifiable = (isset($data['modifiable'])?$data['modifiable']:false);

        /** @var Parametre $object */
        $object->setCode($code);
        $object->setLibelle($libelle);
        $object->setDescription($description);
        $object->setValeursPossibles($valeurs);
        $object->setModifiable($modifiable);
        $object->setOrdre($ordre);
        return $object;
    }
+5 −3
Original line number Diff line number Diff line
@@ -115,7 +115,7 @@ if ($selection !== null) $categories = [$selection];
                        ?>
                    </td>
                    <td class="action">
                        <?php if ($canValeurParametre) : ?>
                        <?php if ($canValeurParametre AND $parametre->isModifiable()) : ?>
                            <a <?php /** @see \UnicaenParametre\Controller\ParametreController::modifierValeurAction() */ ?>
                                    href="<?php echo $this->url('parametre/modifier-valeur', ['parametre' => $parametre->getId()], [], true); ?>"
                                    title="Modifier la valeur du paramètre [<?php echo $parametre->getCode(); ?>]"
@@ -126,13 +126,15 @@ if ($selection !== null) $categories = [$selection];

                        <?php endif; ?>
                        <?php if ($canModifierParametre) : ?>
                            <?php if ($canValeurParametre AND $parametre->isModifiable()) : ?>
                                <br>
                            <?php endif; ?>
                            <a <?php /** @see \UnicaenParametre\Controller\ParametreController::modifierAction() */ ?>
                                    href="<?php echo $this->url('parametre/modifier', ['parametre' => $parametre->getId()], [], true); ?>"
                                    title="Modifier le paramètre [<?php echo $parametre->getCode(); ?>]"
                                    class="ajax-modal action primary" data-event="modification">
                                <span class="icon icon-gerer"></span>
                                Gerer
                                Gérer
                            </a>
                        <?php endif; ?>
                        <?php if ($canValeurParametre) : ?>