Skip to content
Snippets Groups Projects
Commit ebaca4a7 authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

nouvelle entité Statut

parent acaa5c5f
No related branches found
No related tags found
No related merge requests found
Showing
with 1235 additions and 428 deletions
<?php
//@formatter:off
return [
'name' => 'STATUT_ANNEE_FK',
'unique' => FALSE,
'table' => 'STATUT',
'columns' => [
'ANNEE_ID',
],
];
//@formatter:on
<?php
//@formatter:off
return [
'name' => 'STATUT_ANNEE_FK',
'table' => 'STATUT',
'rtable' => 'ANNEE',
'delete_rule' => NULL,
'index' => NULL,
'columns' => [
'ANNEE_ID' => 'ID',
],
];
//@formatter:on
This diff is collapsed.
...@@ -1328,11 +1328,11 @@ return [ ...@@ -1328,11 +1328,11 @@ return [
'REFERENTIEL', 'REFERENTIEL',
'REFERENTIEL_VISUALISATION', 'REFERENTIEL_VISUALISATION',
'REFERENTIEL_EDITION', 'REFERENTIEL_EDITION',
'MOTIF_NON_PAIEMENT',
'CLOTURE', 'CLOTURE',
'MODIF_SERVICE_DU', 'MODIF_SERVICE_DU',
'MODIF_SERVICE_DU_VISUALISATION', 'MODIF_SERVICE_DU_VISUALISATION',
'PAIEMENT_VISUALISATION', 'PAIEMENT_VISUALISATION',
'MOTIF_NON_PAIEMENT',
'FORMULE_VISUALISATION', 'FORMULE_VISUALISATION',
'CODES_CORRESP_1', 'CODES_CORRESP_1',
'CODES_CORRESP_2', 'CODES_CORRESP_2',
......
...@@ -52,6 +52,6 @@ class ModificationServiceDuAssertion extends AbstractAssertion ...@@ -52,6 +52,6 @@ class ModificationServiceDuAssertion extends AbstractAssertion
protected function assertIntervenant(Intervenant $intervenant) protected function assertIntervenant(Intervenant $intervenant)
{ {
return $intervenant->getStatut()->hasPrivilege(Privileges::MODIF_SERVICE_DU_ASSOCIATION); return $intervenant->getStatut()->getModificationServiceDu();
} }
} }
\ No newline at end of file
...@@ -360,7 +360,7 @@ class ServiceAssertion extends AbstractAssertion ...@@ -360,7 +360,7 @@ class ServiceAssertion extends AbstractAssertion
protected function assertCloture(Role $role, Intervenant $intervenant) protected function assertCloture(Role $role, Intervenant $intervenant)
{ {
if ($intervenant->getStatut()->getPeutCloturerSaisie()) { if ($intervenant->getStatut()->getCloture()) {
$softPassCloture = $role->hasPrivilege(Privileges::CLOTURE_EDITION_SERVICES); $softPassCloture = $role->hasPrivilege(Privileges::CLOTURE_EDITION_SERVICES);
$hardPassCloture = $role->hasPrivilege(Privileges::CLOTURE_EDITION_SERVICES_AVEC_MEP); $hardPassCloture = $role->hasPrivilege(Privileges::CLOTURE_EDITION_SERVICES_AVEC_MEP);
...@@ -477,7 +477,7 @@ class ServiceAssertion extends AbstractAssertion ...@@ -477,7 +477,7 @@ class ServiceAssertion extends AbstractAssertion
{ {
// filtrer pour la structure ? ? // filtrer pour la structure ? ?
return $this->asserts([ return $this->asserts([
$intervenant->getStatut()->getPeutSaisirMotifNonPaiement(), $intervenant->getStatut()->getMotifNonPaiement(),
$this->assertIntervenant($role, $intervenant), $this->assertIntervenant($role, $intervenant),
]); ]);
} }
......
...@@ -209,7 +209,7 @@ class IntervenantController extends AbstractController ...@@ -209,7 +209,7 @@ class IntervenantController extends AbstractController
$this->getServiceLocalContext()->setIntervenant($intervenant); // passage au contexte pour le présaisir dans le formulaire de saisie $this->getServiceLocalContext()->setIntervenant($intervenant); // passage au contexte pour le présaisir dans le formulaire de saisie
$recherche = new Recherche($typeVolumeHoraire, $etatVolumeHoraire); $recherche = new Recherche($typeVolumeHoraire, $etatVolumeHoraire);
if ($intervenant->getStatut()->getPeutSaisirService() && $this->isAllowed($intervenant, Privileges::ENSEIGNEMENT_VISUALISATION)) { if ($intervenant->getStatut()->getService() && $this->isAllowed($intervenant, Privileges::ENSEIGNEMENT_VISUALISATION)) {
$services = $this->getProcessusService()->getServices($intervenant, $recherche); $services = $this->getProcessusService()->getServices($intervenant, $recherche);
} else { } else {
$services = false; $services = false;
...@@ -231,7 +231,7 @@ class IntervenantController extends AbstractController ...@@ -231,7 +231,7 @@ class IntervenantController extends AbstractController
if ($widget) $vm->addChild($widget, 'formuleTotauxHetd'); if ($widget) $vm->addChild($widget, 'formuleTotauxHetd');
/* Clôture de saisie (si nécessaire) */ /* Clôture de saisie (si nécessaire) */
if ($typeVolumeHoraire->isRealise() && $intervenant->getStatut()->getPeutCloturerSaisie()) { if ($typeVolumeHoraire->isRealise() && $intervenant->getStatut()->getCloture()) {
$cloture = $this->getServiceValidation()->getValidationClotureServices($intervenant); $cloture = $this->getServiceValidation()->getValidationClotureServices($intervenant);
} else { } else {
$cloture = null; $cloture = null;
......
...@@ -91,7 +91,7 @@ class PieceJointeController extends AbstractController ...@@ -91,7 +91,7 @@ class PieceJointeController extends AbstractController
$messages = $this->makeMessages($demandees, $fournies); $messages = $this->makeMessages($demandees, $fournies);
$alertContrat = $role->getIntervenant() && $intervenant->getStatut()->hasContrat(); $alertContrat = $role->getIntervenant() && $intervenant->getStatut()->getContrat();
return compact('intervenant', 'title', 'heuresPourSeuil', 'demandees', 'synthese', 'fournies', 'messages', 'alertContrat', 'annee'); return compact('intervenant', 'title', 'heuresPourSeuil', 'demandees', 'synthese', 'fournies', 'messages', 'alertContrat', 'annee');
} }
......
...@@ -59,6 +59,7 @@ class ServiceReferentielController extends AbstractController ...@@ -59,6 +59,7 @@ class ServiceReferentielController extends AbstractController
$typeVolumeHoraireCode = $this->params()->fromRoute('type-volume-horaire-code', 'PREVU'); $typeVolumeHoraireCode = $this->params()->fromRoute('type-volume-horaire-code', 'PREVU');
$viewHelperParams = $this->params()->fromPost('params', $this->params()->fromQuery('params')); $viewHelperParams = $this->params()->fromPost('params', $this->params()->fromQuery('params'));
$role = $this->getServiceContext()->getSelectedIdentityRole(); $role = $this->getServiceContext()->getSelectedIdentityRole();
/** @var Intervenant $intervenant */
$intervenant = $this->params()->fromRoute('intervenant'); $intervenant = $this->params()->fromRoute('intervenant');
$viewModel = new \Laminas\View\Model\ViewModel(); $viewModel = new \Laminas\View\Model\ViewModel();
......
...@@ -63,7 +63,7 @@ class DossierStatutFieldset extends AbstractFieldset ...@@ -63,7 +63,7 @@ class DossierStatutFieldset extends AbstractFieldset
} }
} }
//Si statut intervenant n'est pas selectionnable dans la liste alors liste en lecture seule //Si statut intervenant n'est pas selectionnable dans la liste alors liste en lecture seule
if ($statut->isDossierSelectionnable() || $statut->getCode() == Statut::CODE_AUTRES) { if ($statut->getDossierSelectionnable() || $statut->isAutres()) {
$this->get('statut') $this->get('statut')
->setValueOptions(['' => '(Sélectionnez un statut)'] + \UnicaenApp\Util::collectionAsOptions($statutSelectable)); ->setValueOptions(['' => '(Sélectionnez un statut)'] + \UnicaenApp\Util::collectionAsOptions($statutSelectable));
} else { } else {
......
...@@ -123,7 +123,7 @@ class DossierService extends AbstractEntityService ...@@ -123,7 +123,7 @@ class DossierService extends AbstractEntityService
$iPrec = $this->getServiceIntervenant()->getPrecedent($intervenant, -$i); $iPrec = $this->getServiceIntervenant()->getPrecedent($intervenant, -$i);
if ($iPrec && $iPrec->getStatut()->estVacataire() && $iPrec->getStatut()->getPeutSaisirService()) { if ($iPrec && $iPrec->getStatut()->estVacataire() && $iPrec->getStatut()->getService()) {
return $iPrec; return $iPrec;
} }
} }
......
...@@ -23,7 +23,7 @@ class ExportRhHydrator implements HydratorInterface ...@@ -23,7 +23,7 @@ class ExportRhHydrator implements HydratorInterface
{ {
//On mappe automatiquement le bon statut RH selon le statut OSE //On mappe automatiquement le bon statut RH selon le statut OSE
$statut = $object->getStatut(); $statut = $object->getStatut();
$statutRh = $statut->getCodeRh(); $statutRh = $statut->getCodeCorresp2();
$typeEmploi = ($statut->getTemVa()) ? 'UCNVA' : 'UCNVCE'; $typeEmploi = ($statut->getTemVa()) ? 'UCNVA' : 'UCNVCE';
$data['connecteurForm'] = [ $data['connecteurForm'] = [
......
...@@ -6,64 +6,103 @@ ...@@ -6,64 +6,103 @@
<id name="id" type="integer" column="ID"> <id name="id" type="integer" column="ID">
<generator strategy="SEQUENCE"/> <generator strategy="SEQUENCE"/>
</id> </id>
<field name="histoCreation" type="datetime" column="HISTO_CREATION" nullable="false"/> <unique-constraints>
<field name="histoDestruction" type="datetime" column="HISTO_DESTRUCTION" nullable="true"/> <unique-constraint name="STATUT_UN" columns="CODE,ANNEE_ID,HISTO_DESTRUCTION"/>
<field name="histoModification" type="datetime" column="HISTO_MODIFICATION" nullable="false"/> </unique-constraints>
<field name="code" type="string" column="CODE" length="50" nullable="false"/>
<field name="libelle" type="string" column="LIBELLE" length="128" nullable="false"/> <field name="libelle" type="string" column="LIBELLE" length="128" nullable="false"/>
<many-to-one field="typeIntervenant" target-entity="Application\Entity\Db\TypeIntervenant">
<join-column name="TYPE_INTERVENANT_ID" referenced-column-name="ID"/>
</many-to-one>
<many-to-one field="annee" target-entity="Application\Entity\Db\Annee">
<join-column name="ANNEE_ID" referenced-column-name="ID"/>
</many-to-one>
<field name="ordre" type="integer" column="ORDRE" nullable="false"/>
<field name="prioritaireIndicateurs" type="boolean" column="PRIORITAIRE_INDICATEURS" nullable="false"/>
<field name="serviceStatutaire" type="float" column="SERVICE_STATUTAIRE" precision="126" scale="0" nullable="false"/> <field name="serviceStatutaire" type="float" column="SERVICE_STATUTAIRE" precision="126" scale="0" nullable="false"/>
<field name="depassementServiceDuSansHC" type="boolean" column="DEPASSEMENT_SERVICE_DU_SANS_HC" nullable="false"/>
<field name="tauxChargesPatronales" type="float" column="TAUX_CHARGES_PATRONALES" precision="126" scale="0" nullable="false"/> <field name="tauxChargesPatronales" type="float" column="TAUX_CHARGES_PATRONALES" precision="126" scale="0" nullable="false"/>
<field name="code" type="string" column="CODE" length="50" nullable="false"/>
<field name="ordre" type="integer" column="ORDRE" nullable="false"/>
<field name="peutSaisirService" type="boolean" column="SERVICE" nullable="false"/>
<field name="referentiel" type="boolean" column="REFERENTIEL" nullable="false"/>
<field name="dossierSelectionnable" type="boolean" column="DOSSIER_SELECTIONNABLE" nullable="false"/>
<field name="dossier" type="boolean" column="DOSSIER" nullable="false"/> <field name="dossier" type="boolean" column="DOSSIER" nullable="false"/>
<field name="peutAvoirContrat" type="boolean" column="CONTRAT" nullable="false"/> <field name="dossierVisualisation" type="boolean" column="DOSSIER_VISUALISATION" nullable="false"/>
<field name="peutCloturerSaisie" type="boolean" column="CLOTURE" nullable="false"/> <field name="dossierEdition" type="boolean" column="DOSSIER_EDITION" nullable="false"/>
<field name="peutSaisirMotifNonPaiement" type="boolean" column="MOTIF_NON_PAIEMENT" nullable="false"/> <field name="dossierSelectionnable" type="boolean" column="DOSSIER_SELECTIONNABLE" nullable="false"/>
<field name="peutSaisirServiceExt" type="boolean" column="SERVICE_EXTERIEUR" nullable="false"/>
<field name="depassementSDSHC" type="boolean" column="DEPASSEMENT_SERVICE_DU_SANS_HC" nullable="false"/>
<field name="dossierIdentiteComplementaire" type="boolean" column="DOSSIER_IDENTITE_COMP" nullable="false"/> <field name="dossierIdentiteComplementaire" type="boolean" column="DOSSIER_IDENTITE_COMP" nullable="false"/>
<field name="dossierAdresse" type="boolean" column="DOSSIER_ADRESSE" nullable="false"/>
<field name="dossierContact" type="boolean" column="DOSSIER_CONTACT" nullable="false"/> <field name="dossierContact" type="boolean" column="DOSSIER_CONTACT" nullable="false"/>
<field name="dossierInsee" type="boolean" column="DOSSIER_INSEE" nullable="false"/> <field name="dossierTelPerso" type="boolean" column="DOSSIER_TEL_PERSO" nullable="false"/>
<field name="dossierEmailPerso" type="boolean" column="DOSSIER_EMAIL_PERSO" nullable="false"/>
<field name="dossierAdresse" type="boolean" column="DOSSIER_ADRESSE" nullable="false"/>
<field name="dossierBanque" type="boolean" column="DOSSIER_BANQUE" nullable="false"/> <field name="dossierBanque" type="boolean" column="DOSSIER_BANQUE" nullable="false"/>
<field name="dossierInsee" type="boolean" column="DOSSIER_INSEE" nullable="false"/>
<field name="dossierEmployeur" type="boolean" column="DOSSIER_EMPLOYEUR" nullable="false"/> <field name="dossierEmployeur" type="boolean" column="DOSSIER_EMPLOYEUR" nullable="false"/>
<field name="dossierEmailPerso" type="boolean" column="DOSSIER_EMAIL_PERSO" nullable="false"/> <field name="dossierAutre1" type="boolean" column="DOSSIER_AUTRE_1" nullable="false"/>
<field name="dossierTelPerso" type="boolean" column="DOSSIER_TEL_PERSO" nullable="false"/> <field name="dossierAutre1Visualisation" type="boolean" column="DOSSIER_AUTRE_1_VISUALISATION" nullable="false"/>
<field name="prioritaireIndicateurs" type="boolean" column="PRIORITAIRE_INDICATEURS" nullable="false"/> <field name="dossierAutre1Edition" type="boolean" column="DOSSIER_AUTRE_1_EDITION" nullable="false"/>
<many-to-many field="champsAutres" target-entity="Application\Entity\Db\DossierAutre" fetch="EXTRA_LAZY"> <field name="dossierAutre2" type="boolean" column="DOSSIER_AUTRE_2" nullable="false"/>
<join-table name="DOSSIER_CHAMP_AUTRE_PAR_STATUT"> <field name="dossierAutre2Visualisation" type="boolean" column="DOSSIER_AUTRE_2_VISUALISATION" nullable="false"/>
<join-columns> <field name="dossierAutre2Edition" type="boolean" column="DOSSIER_AUTRE_2_EDITION" nullable="false"/>
<join-column name="STATUT_ID" referenced-column-name="ID"/> <field name="dossierAutre3" type="boolean" column="DOSSIER_AUTRE_3" nullable="false"/>
</join-columns> <field name="dossierAutre3Visualisation" type="boolean" column="DOSSIER_AUTRE_3_VISUALISATION" nullable="false"/>
<inverse-join-columns> <field name="dossierAutre3Edition" type="boolean" column="DOSSIER_AUTRE_3_EDITION" nullable="false"/>
<join-column name="DOSSIER_CHAMP_AUTRE_ID" referenced-column-name="ID"/> <field name="dossierAutre4" type="boolean" column="DOSSIER_AUTRE_4" nullable="false"/>
</inverse-join-columns> <field name="dossierAutre4Visualisation" type="boolean" column="DOSSIER_AUTRE_4_VISUALISATION" nullable="false"/>
</join-table> <field name="dossierAutre4Edition" type="boolean" column="DOSSIER_AUTRE_4_EDITION" nullable="false"/>
</many-to-many> <field name="dossierAutre5" type="boolean" column="DOSSIER_AUTRE_5" nullable="false"/>
<many-to-one field="typeIntervenant" target-entity="Application\Entity\Db\TypeIntervenant"> <field name="dossierAutre5Visualisation" type="boolean" column="DOSSIER_AUTRE_5_VISUALISATION" nullable="false"/>
<join-columns> <field name="dossierAutre5Edition" type="boolean" column="DOSSIER_AUTRE_5_EDITION" nullable="false"/>
<join-column name="TYPE_INTERVENANT_ID" referenced-column-name="ID"/>
</join-columns> <field name="pieceJustificativeVisualisation" type="boolean" column="PJ_VISUALISATION" nullable="false"/>
<field name="pieceJustificativeTelechargement" type="boolean" column="PJ_TELECHARGEMENT" nullable="false"/>
<field name="pieceJustificativeEdition" type="boolean" column="PJ_EDITION" nullable="false"/>
<field name="pieceJustificativeArchivage" type="boolean" column="PJ_ARCHIVAGE" nullable="false"/>
<field name="conseilRestreint" type="boolean" column="CONSEIL_RESTREINT" nullable="false"/>
<field name="conseilRestreintVisualisation" type="boolean" column="CONSEIL_RESTREINT_VISUALISATION" nullable="false"/>
<field name="conseilRestreintDureeVie" type="boolean" column="CONSEIL_RESTREINT_DUREE_VIE" nullable="false"/>
<field name="conseilAcademique" type="boolean" column="CONSEIL_ACA" nullable="false"/>
<field name="conseilAcademiqueVisualisation" type="boolean" column="CONSEIL_ACA_VISUALISATION" nullable="false"/>
<field name="conseilAcademiqueDureeVie" type="boolean" column="CONSEIL_ACA_DUREE_VIE" nullable="false"/>
<field name="contrat" type="boolean" column="CONTRAT" nullable="false"/>
<field name="contratVisualisation" type="boolean" column="CONTRAT_VISUALISATION" nullable="false"/>
<field name="contratDepot" type="boolean" column="CONTRAT_DEPOT" nullable="false"/>
<field name="service" type="boolean" column="SERVICE" nullable="false"/>
<field name="serviceVisualisation" type="boolean" column="SERVICE_VISUALISATION" nullable="false"/>
<field name="serviceEdition" type="boolean" column="SERVICE_EDITION" nullable="false"/>
<field name="serviceExterieur" type="boolean" column="SERVICE_EXTERIEUR" nullable="false"/>
<field name="referentiel" type="boolean" column="REFERENTIEL" nullable="false"/>
<field name="referentielVisualisation" type="boolean" column="REFERENTIEL_VISUALISATION" nullable="false"/>
<field name="referentielEdition" type="boolean" column="REFERENTIEL_EDITION" nullable="false"/>
<field name="cloture" type="boolean" column="CLOTURE" nullable="false"/>
<field name="modificationServiceDu" type="boolean" column="MODIF_SERVICE_DU" nullable="false"/>
<field name="modificationServiceDuVisualisation" type="boolean" column="MODIF_SERVICE_DU_VISUALISATION" nullable="false"/>
<field name="paiementVisualisation" type="boolean" column="PAIEMENT_VISUALISATION" nullable="false"/>
<field name="motifNonPaiement" type="boolean" column="MOTIF_NON_PAIEMENT" nullable="false"/>
<field name="formuleVisualisation" type="boolean" column="FORMULE_VISUALISATION" nullable="false"/>
<field name="codesCorresp1" type="string" column="CODES_CORRESP_1" length="1000" nullable="true"/>
<field name="codesCorresp2" type="string" column="CODES_CORRESP_2" length="1000" nullable="true"/>
<field name="codesCorresp3" type="string" column="CODES_CORRESP_3" length="1000" nullable="true"/>
<field name="codesCorresp4" type="string" column="CODES_CORRESP_4" length="1000" nullable="true"/>
<field name="histoCreation" type="datetime" column="HISTO_CREATION" nullable="false"/>
<many-to-one field="histoCreateur" target-entity="Application\Entity\Db\Utilisateur">
<join-column name="HISTO_CREATEUR_ID" referenced-column-name="ID"/>
</many-to-one> </many-to-one>
<field name="histoModification" type="datetime" column="HISTO_MODIFICATION" nullable="false"/>
<many-to-one field="histoModificateur" target-entity="Application\Entity\Db\Utilisateur"> <many-to-one field="histoModificateur" target-entity="Application\Entity\Db\Utilisateur">
<join-columns>
<join-column name="HISTO_MODIFICATEUR_ID" referenced-column-name="ID"/> <join-column name="HISTO_MODIFICATEUR_ID" referenced-column-name="ID"/>
</join-columns>
</many-to-one> </many-to-one>
<field name="histoDestruction" type="datetime" column="HISTO_DESTRUCTION" nullable="true"/>
<many-to-one field="histoDestructeur" target-entity="Application\Entity\Db\Utilisateur"> <many-to-one field="histoDestructeur" target-entity="Application\Entity\Db\Utilisateur">
<join-columns> <join-columns>
<join-column name="HISTO_DESTRUCTEUR_ID" referenced-column-name="ID"/> <join-column name="HISTO_DESTRUCTEUR_ID" referenced-column-name="ID"/>
</join-columns> </join-columns>
</many-to-one> </many-to-one>
<many-to-one field="histoCreateur" target-entity="Application\Entity\Db\Utilisateur">
<join-columns>
<join-column name="HISTO_CREATEUR_ID" referenced-column-name="ID"/>
</join-columns>
</many-to-one>
<one-to-many field="typePieceJointeStatut" target-entity="Application\Entity\Db\TypePieceJointeStatut"
mapped-by="statut" fetch="EXTRA_LAZY"/>
</entity> </entity>
</doctrine-mapping> </doctrine-mapping>
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment