Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
open-source
OSE
Commits
87c16b15
Commit
87c16b15
authored
Jun 30, 2020
by
Antony Le Courtes
Browse files
Mise en place gestion complétude du dossier
parent
9a956675
Changes
28
Hide whitespace changes
Inline
Side-by-side
module/Application/config/dossier-pieces.config.php
View file @
87c16b15
...
...
@@ -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"
,
...
...
module/Application/config/intervenant-dossier.config.php
View file @
87c16b15
...
...
@@ -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
,
...
...
module/Application/src/Application/Assertion/IntervenantDossierAssertion.php
View file @
87c16b15
...
...
@@ -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\
Intervenant
DossierServiceAwareTrait
;
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
Intervenant
DossierServiceAwareTrait
;
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
->
getService
Intervenant
Dossier
()
->
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
->
getService
Intervenant
Dossier
()
->
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
->
getService
Intervenant
Dossier
()
->
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
->
getService
Intervenant
Dossier
()
->
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
->
getService
Intervenant
Dossier
()
->
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
([
$
isC
omplet
e
,
$
c
omplet
udeDossier
[
'dossier'
]
,
!
$isValidate
,
$this
->
getRole
()
->
hasPrivilege
(
Privileges
::
DOSSIER_VALIDATION
),
]);
...
...
@@ -273,8 +451,8 @@ class IntervenantDossierAssertion extends AbstractAssertion
protected
function
assertCanDevalidate
(
Intervenant
$intervenant
)
{
$isComplete
=
$this
->
getService
Intervenant
Dossier
()
->
isComplete
(
$intervenant
);
$isValidate
=
$this
->
getService
Intervenant
Dossier
()
->
getValidation
(
$intervenant
);
$isComplete
=
$this
->
getServiceDossier
()
->
isComplete
(
$intervenant
);
$isValidate
=
$this
->
getServiceDossier
()
->
getValidation
(
$intervenant
);
return
$this
->
asserts
([
$isValidate
,
...
...
module/Application/src/Application/Controller/DossierController.php
View file @
87c16b15
...
...
@@ -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'
);
...
...
module/Application/src/Application/Controller/IntervenantDossierController.php
View file @
87c16b15
...
...
@@ -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
{
...
...
module/Application/src/Application/Form/Intervenant/AutresForm.php
View file @
87c16b15
...
...
@@ -26,6 +26,7 @@ class AutresForm extends AbstractForm
$hydrator
=
new
DossierAutreHydrator
();
$this
->
setHydrator
(
$hydrator
);
$this
->
setAttribute
(
'action'
,
$this
->
getCurrentUrl
());
$this
->
add
([
'name'
=>
'libelle'
,
...
...
module/Application/src/Application/Form/Intervenant/Dossier/DossierAutresFieldset.php
View file @
87c16b15
...
...
@@ -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'
=>
[
...
...
module/Application/src/Application/Form/Intervenant/Dossier/DossierBancaireFieldset.php
View file @
87c16b15
...
...
@@ -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
(),
],