Commit ebaca4a7 authored by Laurent Lécluse's avatar Laurent Lécluse
Browse files

nouvelle entité Statut

parent acaa5c5f
<?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,8 +59,9 @@ class ServiceReferentielController extends AbstractController ...@@ -59,8 +59,9 @@ 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();
$intervenant = $this->params()->fromRoute('intervenant'); /** @var Intervenant $intervenant */
$viewModel = new \Laminas\View\Model\ViewModel(); $intervenant = $this->params()->fromRoute('intervenant');
$viewModel = new \Laminas\View\Model\ViewModel();
if (!$intervenant) { if (!$intervenant) {
$action = $this->getRequest()->getQuery('action', null); // ne pas afficher par défaut, sauf si demandé explicitement $action = $this->getRequest()->getQuery('action', null); // ne pas afficher par défaut, sauf si demandé explicitement
......
...@@ -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.
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment