Commit 87c16b15 authored by Antony Le Courtes's avatar Antony Le Courtes
Browse files

Mise en place gestion complétude du dossier

parent 9a956675
......@@ -4,7 +4,6 @@ namespace Application;
use Application\Entity\Db\Service;
use Application\Provider\Privilege\Privileges;
use Application\Service\IntervenantDossierService;
use UnicaenAuth\Guard\PrivilegeController;
use UnicaenAuth\Provider\Rule\PrivilegeRuleProvider;
......@@ -317,7 +316,7 @@ return [
'default' => [
'home' => [
'pages' => [
'intervenant' => [
'intervenant' => [
'pages' => [
'dossier' => [
'label' => "Données personnelles",
......
......@@ -105,19 +105,6 @@ return [
],
'may_terminate' => true,
],
'delete' => [
'type' => 'Segment',
'options' => [
'route' => '/delete[/:dossierAutre]',
'constraints' => [
'dossierAutre' => '[0-9]*',
],
'defaults' => [
'action' => 'dossier-autre-delete',
],
],
'may_terminate' => true,
],
],
],
],
......@@ -216,12 +203,22 @@ return [
IntervenantDossierAssertion::PRIV_VIEW_ADRESSE,
IntervenantDossierAssertion::PRIV_EDIT_CONTACT,
IntervenantDossierAssertion::PRIV_VIEW_CONTACT,
IntervenantDossierAssertion::PRIV_EDIT_EMPLOYEUR,
IntervenantDossierAssertion::PRIV_VIEW_EMPLOYEUR,
IntervenantDossierAssertion::PRIV_EDIT_INSEE,
IntervenantDossierAssertion::PRIV_VIEW_INSEE,
IntervenantDossierAssertion::PRIV_EDIT_IBAN,
IntervenantDossierAssertion::PRIV_VIEW_IBAN,
IntervenantDossierAssertion::PRIV_EDIT_IBAN,
IntervenantDossierAssertion::PRIV_VIEW_EMPLOYEUR,
IntervenantDossierAssertion::PRIV_EDIT_EMPLOYEUR,
IntervenantDossierAssertion::PRIV_VIEW_AUTRE1,
IntervenantDossierAssertion::PRIV_EDIT_AUTRE1,
IntervenantDossierAssertion::PRIV_VIEW_AUTRE2,
IntervenantDossierAssertion::PRIV_EDIT_AUTRE2,
IntervenantDossierAssertion::PRIV_VIEW_AUTRE3,
IntervenantDossierAssertion::PRIV_EDIT_AUTRE3,
IntervenantDossierAssertion::PRIV_VIEW_AUTRE4,
IntervenantDossierAssertion::PRIV_EDIT_AUTRE4,
IntervenantDossierAssertion::PRIV_VIEW_AUTRE5,
IntervenantDossierAssertion::PRIV_EDIT_AUTRE5,
IntervenantDossierAssertion::PRIV_CAN_VALIDE,
IntervenantDossierAssertion::PRIV_CAN_DEVALIDE,
......@@ -242,7 +239,6 @@ return [
'service_manager' => [
'invokables' => [
Service\DossierService::class => Service\DossierService::class,
IntervenantDossierService::class => IntervenantDossierService::class,
AdresseNumeroComplService::class => AdresseNumeroComplService::class,
DossierAutreService::class => DossierAutreService::class,
DossierAutreTypeService::class => DossierAutreTypeService::class,
......
......@@ -5,12 +5,11 @@ namespace Application\Assertion;
use Application\Acl\Role;
use Application\Entity\Db\Contrat;
use Application\Entity\Db\Intervenant;
use Application\Entity\Db\IntervenantDossier;
use Application\Entity\Db\WfEtape;
use Application\Provider\Privilege\Privileges;
// sous réserve que vous utilisiez les privilèges d'UnicaenAuth et que vous ayez généré votre fournisseur
use Application\Service\Traits\IntervenantDossierServiceAwareTrait;
use Application\Service\Traits\DossierServiceAwareTrait;
use Application\Service\Traits\WorkflowServiceAwareTrait;
use UnicaenAuth\Assertion\AbstractAssertion;
use Zend\Permissions\Acl\Resource\ResourceInterface;
......@@ -34,13 +33,23 @@ class IntervenantDossierAssertion extends AbstractAssertion
const PRIV_VIEW_INSEE = 'dossier-voir-insee';
const PRIV_EDIT_EMPLOYEUR = 'dossier-edit-employeur';
const PRIV_VIEW_EMPLOYEUR = 'dossier-voir-employeur';
const PRIV_EDIT_AUTRE1 = 'dossier-edit-autre1';
const PRIV_VIEW_AUTRE1 = 'dossier-voir-autre1';
const PRIV_EDIT_AUTRE2 = 'dossier-edit-autre2';
const PRIV_VIEW_AUTRE2 = 'dossier-voir-autre2';
const PRIV_EDIT_AUTRE3 = 'dossier-edit-autre3';
const PRIV_VIEW_AUTRE3 = 'dossier-voir-autre3';
const PRIV_EDIT_AUTRE4 = 'dossier-edit-autre4';
const PRIV_VIEW_AUTRE4 = 'dossier-voir-autre4';
const PRIV_EDIT_AUTRE5 = 'dossier-edit-autre5';
const PRIV_VIEW_AUTRE5 = 'dossier-voir-autre5';
const PRIV_CAN_VALIDE = 'dossier-peut-valider';
const PRIV_CAN_DEVALIDE = 'dossier-peut-devalider';
//Constantes utiles
const CODE_TYPE_PERMANENT = 'P';
use WorkflowServiceAwareTrait;
use IntervenantDossierServiceAwareTrait;
use DossierServiceAwareTrait;
/**
* @param ResourceInterface $entity
......@@ -63,6 +72,16 @@ class IntervenantDossierAssertion extends AbstractAssertion
self::PRIV_EDIT_IBAN,
self::PRIV_VIEW_EMPLOYEUR,
self::PRIV_EDIT_EMPLOYEUR,
self::PRIV_VIEW_AUTRE1,
self::PRIV_EDIT_AUTRE1,
self::PRIV_VIEW_AUTRE2,
self::PRIV_EDIT_AUTRE2,
self::PRIV_VIEW_AUTRE3,
self::PRIV_EDIT_AUTRE3,
self::PRIV_VIEW_AUTRE4,
self::PRIV_EDIT_AUTRE4,
self::PRIV_VIEW_AUTRE5,
self::PRIV_EDIT_AUTRE5,
self::PRIV_CAN_VALIDE,
self::PRIV_CAN_DEVALIDE,
];
......@@ -95,6 +114,30 @@ class IntervenantDossierAssertion extends AbstractAssertion
return $this->assertEditIban($entity);
case self::PRIV_VIEW_IBAN:
return $this->assertViewIban($entity);
case self::PRIV_EDIT_EMPLOYEUR:
return $this->assertEditEmployeur($entity);
case self::PRIV_VIEW_EMPLOYEUR:
return $this->assertViewEmployeur($entity);
case self::PRIV_EDIT_AUTRE1:
return $this->assertEditAutre1($entity);
case self::PRIV_VIEW_AUTRE1:
return $this->assertViewAutre1($entity);
case self::PRIV_EDIT_AUTRE2:
return $this->assertEditAutre2($entity);
case self::PRIV_VIEW_AUTRE2:
return $this->assertViewAutre2($entity);
case self::PRIV_EDIT_AUTRE3:
return $this->assertEditAutre3($entity);
case self::PRIV_VIEW_AUTRE3:
return $this->assertViewAutre3($entity);
case self::PRIV_EDIT_AUTRE4:
return $this->assertEditAutre4($entity);
case self::PRIV_VIEW_AUTRE4:
return $this->assertViewAutre4($entity);
case self::PRIV_EDIT_AUTRE5:
return $this->assertEditAutre5($entity);
case self::PRIV_VIEW_AUTRE5:
return $this->assertViewAutre5($entity);
case self::PRIV_CAN_VALIDE:
return $this->assertCanValidate($entity);
case self::PRIV_CAN_DEVALIDE:
......@@ -124,7 +167,7 @@ class IntervenantDossierAssertion extends AbstractAssertion
//rajouter test si dossier valider ou non
return $this->asserts([
!$this->getServiceIntervenantDossier()->getValidation($intervenant),
!$this->getServiceDossier()->getValidation($intervenant),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_EDITION),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_IDENTITE_SUITE_VISUALISATION),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_IDENTITE_SUITE_EDITION),
......@@ -149,7 +192,7 @@ class IntervenantDossierAssertion extends AbstractAssertion
//rajouter test si dossier valider ou non
return $this->asserts([
!$this->getServiceIntervenantDossier()->getValidation($intervenant),
!$this->getServiceDossier()->getValidation($intervenant),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_EDITION),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_ADRESSE_VISUALISATION),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_ADRESSE_EDITION),
......@@ -174,7 +217,7 @@ class IntervenantDossierAssertion extends AbstractAssertion
//rajouter test si dossier valider ou non
return $this->asserts([
!$this->getServiceIntervenantDossier()->getValidation($intervenant),
!$this->getServiceDossier()->getValidation($intervenant),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_EDITION),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_CONTACT_VISUALISATION),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_CONTACT_EDITION),
......@@ -201,7 +244,7 @@ class IntervenantDossierAssertion extends AbstractAssertion
//On affiche le fieldset INSEE uniquement si on a le droit visualisation et que l'on est vacataire
return $this->asserts([
!$this->getServiceIntervenantDossier()->getValidation($intervenant),
!$this->getServiceDossier()->getValidation($intervenant),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_EDITION),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_INSEE_VISUALISATION),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_INSEE_EDITION)
......@@ -229,7 +272,7 @@ class IntervenantDossierAssertion extends AbstractAssertion
protected function assertEditIban(Intervenant $intervenant)
{
return $this->asserts([
!$this->getServiceIntervenantDossier()->getValidation($intervenant),
!$this->getServiceDossier()->getValidation($intervenant),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_EDITION),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_BANQUE_VISUALISATION),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_BANQUE_EDITION)
......@@ -253,14 +296,149 @@ class IntervenantDossierAssertion extends AbstractAssertion
protected function assertEditEmployeur(Intervenant $intervenant)
{
return $this->asserts([
!$this->getServiceDossier()->getValidation($intervenant),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_EDITION),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_EMPLOYEUR_VISUALISATION),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_EMPLOYEUR_EDITION),
]);
}
protected function assertViewEmployeur(Intervenant $intervenant)
{
$typeIntervenantCode = $intervenant->getStatut()->getTypeIntervenant()->getCode();
return $this->asserts([
$this->getRole()->hasPrivilege(Privileges::DOSSIER_VISUALISATION),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_EMPLOYEUR_VISUALISATION),
]);
}
protected function assertEditAutre1(Intervenant $intervenant)
{
return $this->asserts([
!$this->getServiceDossier()->getValidation($intervenant),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_EDITION),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_CHAMP_AUTRE_1_VISUALISATION),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_CHAMP_AUTRE_1_EDITION),
]);
}
protected function assertViewAutre1(Intervenant $intervenant)
{
return $this->asserts([
$this->getRole()->hasPrivilege(Privileges::DOSSIER_VISUALISATION),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_CHAMP_AUTRE_1_VISUALISATION),
]);
}
protected function assertEditAutre2(Intervenant $intervenant)
{
return $this->asserts([
!$this->getServiceDossier()->getValidation($intervenant),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_EDITION),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_CHAMP_AUTRE_2_VISUALISATION),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_CHAMP_AUTRE_2_EDITION),
]);
}
protected function assertViewAutre2(Intervenant $intervenant)
{
return $this->asserts([
$this->getRole()->hasPrivilege(Privileges::DOSSIER_VISUALISATION),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_CHAMP_AUTRE_2_VISUALISATION),
]);
}
protected function assertEditAutre3(Intervenant $intervenant)
{
return $this->asserts([
!$this->getServiceDossier()->getValidation($intervenant),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_EDITION),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_CHAMP_AUTRE_3_VISUALISATION),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_CHAMP_AUTRE_3_EDITION),
]);
}
protected function assertViewAutre3(Intervenant $intervenant)
{
return $this->asserts([
$this->getRole()->hasPrivilege(Privileges::DOSSIER_VISUALISATION),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_CHAMP_AUTRE_3_VISUALISATION),
]);
}
protected function assertEditAutre4(Intervenant $intervenant)
{
return $this->asserts([
!$this->getServiceDossier()->getValidation($intervenant),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_EDITION),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_CHAMP_AUTRE_4_VISUALISATION),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_CHAMP_AUTRE_4_EDITION),
]);
}
protected function assertViewAutre4(Intervenant $intervenant)
{
return $this->asserts([
$this->getRole()->hasPrivilege(Privileges::DOSSIER_VISUALISATION),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_CHAMP_AUTRE_4_VISUALISATION),
]);
}
protected function assertEditAutre5(Intervenant $intervenant)
{
return $this->asserts([
!$this->getServiceDossier()->getValidation($intervenant),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_EDITION),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_CHAMP_AUTRE_5_VISUALISATION),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_CHAMP_AUTRE_5_EDITION),
]);
}
protected function assertViewAutre5(Intervenant $intervenant)
{
return $this->asserts([
$this->getRole()->hasPrivilege(Privileges::DOSSIER_VISUALISATION),
$this->getRole()->hasPrivilege(Privileges::DOSSIER_CHAMP_AUTRE_5_VISUALISATION),
]);
}
protected function assertCanValidate(Intervenant $intervenant)
{
$isComplete = $this->getServiceIntervenantDossier()->isComplete($intervenant);
$isValidate = $this->getServiceIntervenantDossier()->getValidation($intervenant);
$completudeDossier = $this->getServiceDossier()->isComplete($intervenant);
$isValidate = $this->getServiceDossier()->getValidation($intervenant);
return $this->asserts([
$isComplete,
$completudeDossier['dossier'],
!$isValidate,
$this->getRole()->hasPrivilege(Privileges::DOSSIER_VALIDATION),
]);
......@@ -273,8 +451,8 @@ class IntervenantDossierAssertion extends AbstractAssertion
protected function assertCanDevalidate(Intervenant $intervenant)
{
$isComplete = $this->getServiceIntervenantDossier()->isComplete($intervenant);
$isValidate = $this->getServiceIntervenantDossier()->getValidation($intervenant);
$isComplete = $this->getServiceDossier()->isComplete($intervenant);
$isValidate = $this->getServiceDossier()->getValidation($intervenant);
return $this->asserts([
$isValidate,
......
......@@ -12,7 +12,6 @@ use Application\Form\Intervenant\Traits\DossierAwareTrait;
use Application\Provider\Privilege\Privileges;
use Application\Service\Traits\ContextServiceAwareTrait;
use Application\Service\Traits\DossierServiceAwareTrait;
use Application\Service\Traits\IntervenantDossierServiceAwareTrait;
use Application\Service\Traits\ServiceServiceAwareTrait;
use Application\Service\Traits\ValidationServiceAwareTrait;
use Application\Service\Traits\WorkflowServiceAwareTrait;
......@@ -33,8 +32,6 @@ class DossierController extends AbstractController
use ValidationServiceAwareTrait;
use DossierAwareTrait;
use UserContextServiceAwareTrait;
use IntervenantDossierServiceAwareTrait;
/**
......@@ -168,7 +165,10 @@ class DossierController extends AbstractController
return compact('role', 'form', 'validation', 'canValider', 'canDevalider', 'canSupprimer', 'dossier');
}
public function indexnewAction(){
public function indexnewAction()
{
$this->initFilters();
/* Initialisation */
......@@ -182,15 +182,14 @@ class DossierController extends AbstractController
$form = $this->getFormIntervenantDossier();
/* $form->bindRequestSave($intervenantDossier, $this->getRequest(), function (IntervenantDossier $id) {
try {
$this->getServiceIntervenantDossier()->save($id);
$this->flashMessenger()->addSuccessMessage('Enregistrement effectué');
} catch (\Exception $e) {
$this->flashMessenger()->addErrorMessage($this->translate($e));
}
});*/
/* $form->bindRequestSave($intervenantDossier, $this->getRequest(), function (IntervenantDossier $id) {
try {
$this->getServiceIntervenantDossier()->save($id);
$this->flashMessenger()->addSuccessMessage('Enregistrement effectué');
} catch (\Exception $e) {
$this->flashMessenger()->addErrorMessage($this->translate($e));
}
});*/
return compact('form', 'role', 'intervenant');
......
......@@ -59,6 +59,13 @@ class IntervenantDossierController extends AbstractController
public function indexAction()
{
/**
* TODO :
* Remettre en place les bon required et les validator
* Sortir la gestion des champs autres de ce controller
*
*/
$this->initFilters();
/* Initialisation */
......@@ -69,16 +76,24 @@ class IntervenantDossierController extends AbstractController
throw new \LogicException('Intervenant non précisé ou inexistant');
}
/* Récupération du dossier de l'intervenant */
$service = $this->getServiceDossier();
$intervenantDossier = $this->getServiceDossier()->getByIntervenant($intervenant);
$intervenantDossierValidation = $this->getServiceDossier()->getValidation($intervenant);
$intervenantDossierStatut = $intervenantDossier->getStatut();
$intervenantDossierCompletude = $this->getServiceDossier()->isComplete($intervenant);
/* Initialisation du formulaire */
$form = $this->getIntervenantDossierForm($intervenant);
$champsAutres = $intervenant->getStatut()->getChampsAutres();
/* Règles pour afficher ou non les fieldsets */
$fieldsetRules = [
'fieldset-identite' => $intervenant->getStatut()->getDossierIdentite(),
'fiedlset-adresse' => $intervenant->getStatut()->getDossierAdresse(),
'fiedlset-contact' => $intervenant->getStatut()->getDossierContact(),
'fiedlset-iban' => $intervenant->getStatut()->getDossierIban(),
'fiedlset-insee' => $intervenant->getStatut()->getDossierInsee(),
'fiedlset-employeur' => $intervenant->getStatut()->getDossierEmployeur(),
'fieldset-adresse' => $intervenant->getStatut()->getDossierAdresse(),
'fieldset-contact' => $intervenant->getStatut()->getDossierContact(),
'fieldset-iban' => $intervenant->getStatut()->getDossierIban(),
'fieldset-insee' => $intervenant->getStatut()->getDossierInsee(),
'fieldset-employeur' => $intervenant->getStatut()->getDossierEmployeur(),
'fieldset-autres' => (!empty($champsAutres)) ? 1 : 0,//Si le statut intervenant a au moins 1 champs autre
];
$privileges['edit'] = $this->isAllowed(Privileges::getResourceId(Privileges::DOSSIER_EDITION));
......@@ -86,10 +101,6 @@ class IntervenantDossierController extends AbstractController
$privileges['devalider'] = $this->isAllowed($intervenant, IntervenantDossierAssertion::PRIV_CAN_DEVALIDE);
$privileges['supprimer'] = $this->isAllowed(Privileges::getResourceId(Privileges::DOSSIER_SUPPRESSION));
/* Initialisation du formulaire */
$form = $this->getIntervenantDossierForm($intervenant);
$champsAutres = $this->getServiceDossierAutre()->getList();
/* Traitement du formulaire */
$form->bindRequestSave($intervenantDossier, $this->getRequest(), function (\Application\Entity\Db\IntervenantDossier $intervenantDossier) use ($intervenant) {
......@@ -119,7 +130,18 @@ class IntervenantDossierController extends AbstractController
);
}
return compact('form', 'role', 'intervenant', 'intervenantDossier', 'intervenantDossierValidation', 'privileges', 'champsAutres', 'fieldsetRules');
return compact(
['form',
'role',
'intervenant',
'intervenantDossier',
'intervenantDossierValidation',
'intervenantDossierStatut',
'intervenantDossierCompletude',
'privileges',
'champsAutres',
'fieldsetRules']
);
}
......@@ -256,10 +278,9 @@ class IntervenantDossierController extends AbstractController
public function dossierAutreSaisieAction()
{
$dossierAutreList = $this->getServiceDossierAutre()->getList();
$dossierAutre = $this->getEvent()->getParam('dossierAutre');
$form = $this->getAutresForm();
$title = 'Édition d\'un type de ressource';
$dossierAutre = $this->getEvent()->getParam('dossierAutre');
$form = $this->getAutresForm();
$title = 'Édition d\'un type de ressource';
$form->bindRequestSave($dossierAutre, $this->getRequest(), function (DossierAutre $autre) {
try {
......
......@@ -26,6 +26,7 @@ class AutresForm extends AbstractForm
$hydrator = new DossierAutreHydrator();
$this->setHydrator($hydrator);
$this->setAttribute('action', $this->getCurrentUrl());
$this->add([
'name' => 'libelle',
......
......@@ -5,6 +5,7 @@ namespace Application\Form\Intervenant\Dossier;
use Application\Form\AbstractFieldset;
use Application\Service\Traits\ContextServiceAwareTrait;
use Application\Service\Traits\DossierAutreServiceAwareTrait;
use Application\Service\Traits\StatutIntervenantServiceAwareTrait;
/**
* Description of DossierAutresFieldset
......@@ -14,6 +15,7 @@ class DossierAutresFieldset extends AbstractFieldset
{
use ContextServiceAwareTrait;
use DossierAutreServiceAwareTrait;
use StatutIntervenantServiceAwareTrait;
public function init()
{
......@@ -24,9 +26,9 @@ class DossierAutresFieldset extends AbstractFieldset
private function addElements()
{
$champsAutres = $this->getServiceDossierAutre()->getList();
foreach ($champsAutres as $champ) {
$listChampsAutres = $this->getOption('listChampsAutres');
foreach ($listChampsAutres as $champ) {
$this->add([
'name' => 'champ-autre-' . $champ->getId(),
'options' => [
......
......@@ -5,6 +5,7 @@ namespace Application\Form\Intervenant\Dossier;
use Application\Form\AbstractFieldset;
use Application\Service\Traits\ContextServiceAwareTrait;
use Application\Validator\RIBValidator;
use UnicaenApp\Validator\RIB;
/**
* Description of DossierBancaireFieldset
......@@ -19,6 +20,8 @@ class DossierBancaireFieldset extends AbstractFieldset
$this->addElements();
}
private function addElements()
{
$this->add([
......@@ -54,16 +57,17 @@ class DossierBancaireFieldset extends AbstractFieldset
]);
return $this;
}
public function getInputFilterSpecification()
{
$spec = [
'ribBic' => [
'required' => false,
'readonly' => true,
'readonly' => true,
'filters' => [
['name' => 'StringTrim'],
['name' => 'StringToUpper'],
......@@ -86,6 +90,10 @@ class DossierBancaireFieldset extends AbstractFieldset
new RIBValidator(),
],