Commit 478c63fe authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

[FIX] Formulaire d'association d'individu à un membre de jury : plantage dû à...

[FIX] Formulaire d'association d'individu à un membre de jury : plantage dû à un bug dans la validation permettant d'enregistrer sans fournir l'établissement requis.
parent 1d7e1d09
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@ Journal des modifications
13.1.0
------
- [FIX] Plantage lors de la suppression d'une association d'individu à un membre de jury en l'absence de directeur de thèse.
- [FIX] Formulaire d'association d'individu à un membre de jury : plantage dû à un bug dans la validation permettant d'enregistrer sans fournir l'établissement requis.

13.0.0
------
+10 −5
Original line number Diff line number Diff line
@@ -166,7 +166,16 @@ abstract class AbstractActeurFieldset extends Fieldset implements InputFilterPro

    public function getInputFilterSpecification(): array
    {
        $spec = [
        $spec = $this->createInputFilterSpec();

        $this->acteurRule->setActeur($this->object);

        return $this->acteurRule->prepareActeurInputFilterSpecification($spec);
    }

    protected function createInputFilterSpec(): array
    {
        return [
            'role' => [
                'filters' => [
                    ['name' => ToNull::class],
@@ -202,9 +211,5 @@ abstract class AbstractActeurFieldset extends Fieldset implements InputFilterPro
                ],
            ],
        ];

        $this->acteurRule->setActeur($this->object);

        return $this->acteurRule->prepareActeurInputFilterSpecification($spec);
    }
}
 No newline at end of file
+13 −13
Original line number Diff line number Diff line
@@ -5,12 +5,12 @@ namespace Acteur\Fieldset\ActeurThese;
use Acteur\Fieldset\AbstractActeurFieldset;
use Acteur\Rule\ActeurThese\ActeurTheseRule;
use Laminas\Filter\ToNull;
use Laminas\Stdlib\ArrayUtils;
use UnicaenApp\Filter\SearchAndSelectFilter;
use UnicaenApp\Form\Element\SearchAndSelect;

/**
 * @property \Acteur\Entity\Db\ActeurThese $object
 * @property \Acteur\Rule\ActeurThese\ActeurTheseRule $acteurRule
 */
class ActeurTheseFieldset extends AbstractActeurFieldset
{
@@ -35,19 +35,19 @@ class ActeurTheseFieldset extends AbstractActeurFieldset
        $this->add($etablissementForce);
    }

    public function getInputFilterSpecification(): array
    protected function createInputFilterSpec(): array
    {
        $spec = [
        return ArrayUtils::merge(
            parent::createInputFilterSpec(),
            [
                'etablissementForce' => [
                    'filters' => [
                        ['name' => SearchAndSelectFilter::class],
                        ['name' => ToNull::class],
                    ],
            ]
        ];

        $this->acteurRule->setActeur($this->object);

        return $this->acteurRule->prepareActeurInputFilterSpecification($spec);
                ],
            ],
            true
        );
    }
}
 No newline at end of file
+24 −19
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@ namespace Acteur\Rule;
use Acteur\Entity\Db\ActeurHDR;
use Acteur\Entity\Db\ActeurThese;
use Laminas\Form\Fieldset;
use Laminas\Stdlib\ArrayUtils;

abstract class AbstractActeurRule implements ActeurRuleInterface
{
@@ -66,7 +67,9 @@ abstract class AbstractActeurRule implements ActeurRuleInterface

    public function prepareActeurInputFilterSpecification(array $spec): array
    {
        return array_merge_recursive($spec, [
        return ArrayUtils::merge(
            $spec,
            [
                'role' => [
                    'required' => false,
                ],
@@ -85,6 +88,8 @@ abstract class AbstractActeurRule implements ActeurRuleInterface
                'qualite' => [
                    'required' => false,
                ],
        ]);
            ],
            true
        );
    }
}
 No newline at end of file