diff --git a/data/ddl/package/FORMULE_ULHN/body.sql b/data/ddl/package/FORMULE_ULHN/body.sql index 82e4e6b5fb588b42f1cf7be302285553eb3496cb..fb1e00835902d58709d59837bf65b82cdf822585 100644 --- a/data/ddl/package/FORMULE_ULHN/body.sql +++ b/data/ddl/package/FORMULE_ULHN/body.sql @@ -474,7 +474,12 @@ CREATE OR REPLACE PACKAGE BODY FORMULE_ULHN AS HORAIRE_FIN, TYPE_INTERVENTION_CODE, TAUX_SERVICE_DU, - TAUX_SERVICE_COMPL + TAUX_SERVICE_COMPL, + NULL param_1, + NULL param_2, + NULL param_3, + NULL param_4, + NULL param_5 FROM v_formule_volume_horaire ORDER BY diff --git a/data/ddl/package/OSE_WORKFLOW/body.sql b/data/ddl/package/OSE_WORKFLOW/body.sql index e7c25f56af2e3d0e62d2f2f249121628909b68ec..7c3cc2942bfc62f2f1ab5bd9672793231ea81cb0 100644 --- a/data/ddl/package/OSE_WORKFLOW/body.sql +++ b/data/ddl/package/OSE_WORKFLOW/body.sql @@ -688,7 +688,6 @@ CREATE OR REPLACE PACKAGE BODY OSE_WORKFLOW AS ELSE edite END realisation, p2.valeur avenant_mode, - CASE WHEN p2.valeur = ''avenant_desactive'' THEN rownum ELSE 1 END to_delete FROM tbl_contrat c JOIN parametre p on p.nom = ''contrat_regle_franchissement'' @@ -698,7 +697,6 @@ CREATE OR REPLACE PACKAGE BODY OSE_WORKFLOW AS AND actif = 1 AND nbvh > 0 ) c - WHERE to_delete = 1 '; @@ -885,4 +883,4 @@ CREATE OR REPLACE PACKAGE BODY OSE_WORKFLOW AS END LOOP; END; -END OSE_WORKFLOW; \ No newline at end of file +END OSE_WORKFLOW; diff --git a/data/ddl/view/V_ETAT_PAIEMENT.sql b/data/ddl/view/V_ETAT_PAIEMENT.sql index 3dc2b47451c6e4d5b20e08441b6208a0c36f3eee..d91948751b9026cb5602f150ef5a4c335e4d0fb7 100644 --- a/data/ddl/view/V_ETAT_PAIEMENT.sql +++ b/data/ddl/view/V_ETAT_PAIEMENT.sql @@ -2,6 +2,7 @@ CREATE OR REPLACE FORCE VIEW V_ETAT_PAIEMENT AS SELECT annee_id, type_intervenant_id, + statut_id, structure_id, periode_id, intervenant_id, @@ -14,6 +15,7 @@ SELECT date_mise_en_paiement, periode, statut, + statut_libelle, intervenant_code, intervenant_nom, intervenant_numero_insee, @@ -47,6 +49,7 @@ SELECT periode_id, structure_id, type_intervenant_id, + statut_id, intervenant_id, annee_id, centre_cout_id, @@ -56,6 +59,7 @@ SELECT date_mise_en_paiement, periode, statut, + statut_libelle, intervenant_code, intervenant_nom, intervenant_numero_insee, @@ -84,6 +88,7 @@ SELECT p.id periode_id, s.id structure_id, i.id intervenant_id, + si.id statut_id, i.annee_id annee_id, cc.id centre_cout_id, df.id domaine_fonctionnel_id, @@ -97,6 +102,7 @@ SELECT mep.date_mise_en_paiement date_mise_en_paiement, s.libelle_court composante, ti.libelle statut, + si.libelle statut_libelle, i.source_code intervenant_code, i.nom_usuel || ' ' || i.prenom intervenant_nom, i.numero_insee intervenant_numero_insee, @@ -129,6 +135,7 @@ SELECT periode_id, structure_id, type_intervenant_id, + statut_id, intervenant_id, annee_id, centre_cout_id, @@ -138,6 +145,7 @@ SELECT composante, date_mise_en_paiement, statut, + statut_libelle, intervenant_code, intervenant_nom, intervenant_numero_insee, @@ -156,6 +164,7 @@ SELECT periode_id, structure_id, type_intervenant_id, + statut_id, intervenant_id, annee_id, centre_cout_id, @@ -165,6 +174,7 @@ SELECT composante, date_mise_en_paiement, statut, + statut_libelle, intervenant_code, intervenant_nom, intervenant_numero_insee, @@ -183,6 +193,7 @@ SELECT ORDER BY annee_id, type_intervenant_id, + statut_id, structure_id, periode_id, intervenant_nom \ No newline at end of file diff --git a/data/ddl/view/V_INTERVENANT_HISTORIQUE.sql b/data/ddl/view/V_INTERVENANT_HISTORIQUE.sql index fb44b0d1d568fcf1a154c7c8a08d0648cdb14b86..ceb44a97bdf7bcbd78d3a3b78d00bd22288b81c2 100644 --- a/data/ddl/view/V_INTERVENANT_HISTORIQUE.sql +++ b/data/ddl/view/V_INTERVENANT_HISTORIQUE.sql @@ -278,7 +278,6 @@ SELECT C.intervenant_id intervenant_id, 5 ordre FROM fichier f JOIN contrat_fichier cf ON cf.fichier_id = f.id AND histo_destruction IS NULL - JOIN fichier f ON f.id = cf.fichier_id AND f.histo_destruction IS NULL JOIN contrat C ON C.id = cf.contrat_id JOIN type_contrat tc ON tc.id = C.type_contrat_id JOIN STRUCTURE s ON s.id = C.structure_id diff --git a/data/ddl/view/V_TBL_PIECE_JOINTE_DEMANDE.sql b/data/ddl/view/V_TBL_PIECE_JOINTE_DEMANDE.sql index b8b4714b4b629b193778a5e0de771179fe5c8aee..7b53dc99a7a5f04f12d1f2901bc1382436fc037a 100644 --- a/data/ddl/view/V_TBL_PIECE_JOINTE_DEMANDE.sql +++ b/data/ddl/view/V_TBL_PIECE_JOINTE_DEMANDE.sql @@ -1,10 +1,12 @@ -CREATE OR REPLACE FORCE VIEW V_TBL_PIECE_JOINTE_DEMANDE AS +CREATE +OR REPLACE FORCE VIEW V_TBL_PIECE_JOINTE_DEMANDE AS WITH i_h AS ( SELECT s.intervenant_id, SUM(CASE WHEN vh.MOTIF_NON_PAIEMENT_ID IS NULL THEN vh.heures ELSE 0 END) heures, SUM(CASE WHEN vh.MOTIF_NON_PAIEMENT_ID IS NOT NULL THEN vh.heures ELSE 0 END) heures_non_payables, - SUM(ep.taux_fc) fc + --SUM(ep.taux_fc) fc + SUM(CASE WHEN ep.taux_fc > 0 THEN vh.heures ELSE 0 END) fc FROM service s JOIN type_volume_horaire tvh ON tvh.code = 'PREVU' diff --git a/module/Application/src/Controller/ContratController.php b/module/Application/src/Controller/ContratController.php index 88b297915ebfe514a46bbc4ea5e2db270bc57ccd..3f80a3a8203760f6143d52c32bd475e76c4fdeb5 100755 --- a/module/Application/src/Controller/ContratController.php +++ b/module/Application/src/Controller/ContratController.php @@ -437,8 +437,13 @@ class ContratController extends AbstractController //Ajout pour transformer les sauts de lignes en html <br/> $html = nl2br($html); //Personnalisation des variables - $vIntervenant = $contrat->getIntervenant()->getCivilite()->getLibelleCourt() . " " . $contrat->getIntervenant()->getNomUsuel(); - $vUtilisateur = $this->getServiceContext()->getUtilisateur()->getDisplayName(); + if ($contrat->getIntervenant()->getCivilite() != null) { + $vIntervenant = $contrat->getIntervenant()->getCivilite()->getLibelleCourt() . " " . $contrat->getIntervenant()->getNomUsuel(); + } elseif ($dossierIntervenant != null && $dossierIntervenant->getCivilite() != null) { + $vIntervenant = $dossierIntervenant->getCivilite()->getLibelleCourt() . " " . $contrat->getIntervenant()->getNomUsuel(); + } else { + $vIntervenant = $contrat->getIntervenant()->getNomUsuel(); + } $vUtilisateur = $this->getServiceContext()->getUtilisateur()->getDisplayName(); $vAnnee = $this->getServiceContext()->getAnnee()->getLibelle(); $html = str_replace([':intervenant', ':utilisateur', ':annee'], [$vIntervenant, $vUtilisateur, $vAnnee], $html); $subject = $this->getServiceParametres()->get('contrat_modele_mail_objet'); diff --git a/module/Application/src/Controller/OffreFormation/EtapeController.php b/module/Application/src/Controller/OffreFormation/EtapeController.php index 6b9f5d22600c22ba07623db6df0b3796e4e57d4c..78b3b004f80cc2b10ad0152fecf3cd430c1092f0 100755 --- a/module/Application/src/Controller/OffreFormation/EtapeController.php +++ b/module/Application/src/Controller/OffreFormation/EtapeController.php @@ -37,8 +37,13 @@ class EtapeController extends AbstractController Structure::class, ]); - $structure = $this->em()->find(Structure::class, $this->params()->fromRoute('structure')); - $etape = $this->getEvent()->getParam('etape'); + $structureId = $this->params()->fromRoute('structure'); + if ($structureId) { + $structure = $this->em()->find(Structure::class, $structureId); + } else { + $structure = null; + } + $etape = $this->getEvent()->getParam('etape'); $title = $etape ? "Modification d'une formation" : "Création d'une nouvelle formation"; $form = $this->getFormOffreFormationEtapeSaisie(); diff --git a/module/Application/src/Controller/PieceJointeController.php b/module/Application/src/Controller/PieceJointeController.php index 18ec7a2ff259d1c7a2a8cb3df40d664cfb077557..a525cf28ca8c38c138a1038d37eaa34793c6c9d6 100755 --- a/module/Application/src/Controller/PieceJointeController.php +++ b/module/Application/src/Controller/PieceJointeController.php @@ -10,6 +10,7 @@ use Application\Entity\Db\TblPieceJointeDemande; use Application\Entity\Db\TypePieceJointe; use Application\Entity\Db\TypePieceJointeStatut; use Application\Entity\Db\Validation; +use Application\Entity\Db\WfEtape; use Application\Form\PieceJointe\Traits\ModifierTypePieceJointeStatutFormAwareTrait; use Application\Service\Traits\IntervenantServiceAwareTrait; use Application\Service\Traits\PieceJointeServiceAwareTrait; @@ -97,7 +98,7 @@ class PieceJointeController extends AbstractController $annee = $this->getServiceContext()->getAnnee(); - $messages = $this->makeMessages($demandees, $fournies); + $messages = $this->makeMessages($intervenant); $alertContrat = $role->getIntervenant() && $intervenant->getStatut()->getContrat(); @@ -119,51 +120,29 @@ class PieceJointeController extends AbstractController $demandees = $this->getServicePieceJointe()->getTypesPiecesDemandees($intervenant); $fournies = $this->getServicePieceJointe()->getPiecesFournies($intervenant); - $messages = $this->makeMessages($demandees, $fournies); + $messages = $this->makeMessages($intervenant); return compact('messages'); } /** - * @param TblPieceJointeDemande[] $demandees - * @param TblPieceJointeFournie[] $fournies + * @param Intervenant $intervenant * * @return array */ - protected function makeMessages(array $demandees, array $fournies) + protected function makeMessages(Intervenant $intervenant) { - $role = $this->getServiceContext()->getSelectedIdentityRole(); - $isIntervenant = (boolean)$role->getIntervenant(); - $nbDemandees = 0; - $nbFournies = 0; - $nbValidees = 0; - $nbObligatoiresNonFournis = 0; - - foreach ($demandees as $demandee) { - if ($demandee->isObligatoire()) { - $nbDemandees++; - if (isset($fournies[$demandee->getTypePieceJointe()->getId()])) { - $pj = $fournies[$demandee->getTypePieceJointe()->getId()]; - if (!$pj->getFichier()->isEmpty()) { - $nbFournies++; - if ($pj->getValidation()) { - $nbValidees++; - } - } - } - } - } + $workflowEtapePjSaisie = $this->getServiceWorkflow()->getEtape(WfEtape::CODE_PJ_SAISIE, $intervenant); + $workflowEtapePjValide = $this->getServiceWorkflow()->getEtape(WfEtape::CODE_PJ_VALIDATION, $intervenant); $msgs = []; - if (0 == $nbDemandees) { - $msgs['info'][] = 'Aucune pièce justificative obligatoire n\'est à fournir'; - } elseif ($nbFournies < $nbDemandees) { + if ($workflowEtapePjSaisie->getFranchie() != 1) { $msgs['danger'][] = "Des pièces justificatives obligatoires n'ont pas été fournies."; - } elseif ($nbFournies == $nbDemandees && $nbValidees == $nbDemandees) { + } elseif ($workflowEtapePjSaisie->getFranchie() == 1 && $workflowEtapePjValide->getFranchie() == 1) { $msgs['success'][] = "Toutes les pièces justificatives obligatoires ont été fournies et validées."; - } elseif ($nbFournies == $nbDemandees && $nbValidees < $nbFournies) { + } elseif ($workflowEtapePjSaisie->getFranchie() == 1 && $workflowEtapePjValide->getFranchie() != 1) { $msgs['success'][] = "Toutes les pièces justificatives obligatoires ont été fournies."; $msgs['warning'][] = "Mais certaines doivent encore être validées par un gestionnaire."; } diff --git a/module/Application/src/Controller/ServiceController.php b/module/Application/src/Controller/ServiceController.php index 3b1acc7aba5d95fca3692bb756241ff35eac793a..90301fa2f179dd2d97941d71d4b6c876053b5b8d 100755 --- a/module/Application/src/Controller/ServiceController.php +++ b/module/Application/src/Controller/ServiceController.php @@ -605,7 +605,7 @@ class ServiceController extends AbstractController } $this->flashMessenger()->addSuccessMessage($message); } - + $this->updateTableauxBord($intervenant); return compact('title', 'typeVolumeHoraire', 'intervenant', 'validations', 'services'); } @@ -648,6 +648,7 @@ class ServiceController extends AbstractController $this->flashMessenger()->addErrorMessage('Vous n\'avez pas le droit de valider ces enseignements.'); } + $this->updateTableauxBord($intervenant); return new MessengerViewModel(); } diff --git a/module/Application/src/Form/ServiceReferentiel/SaisieFieldset.php b/module/Application/src/Form/ServiceReferentiel/SaisieFieldset.php index cc50cdb977ece2c3eb36ddf538249276f89fd63e..1b17b70dd76d3e675bf305425bed3f73669069ee 100755 --- a/module/Application/src/Form/ServiceReferentiel/SaisieFieldset.php +++ b/module/Application/src/Form/ServiceReferentiel/SaisieFieldset.php @@ -170,6 +170,7 @@ class SaisieFieldset extends AbstractFieldset $filles = []; foreach ($fonction->getFille() as $fille) { $filles[$fille->getId()] = (string)$fille; + asort($filles); } $fonctions[$fonction->getId()] = ['label' => (string)$fonction, 'options' => $filles]; } elseif (!$fonction->getParent()) { @@ -177,12 +178,6 @@ class SaisieFieldset extends AbstractFieldset } } asort($fonctions); - foreach ($fonctions as $key => $fonction) { - if (isset($fonction['options']) && is_array($fonction['options'])) { - asort($fonctions[$key]['options']); - } - } - return $fonctions; } diff --git a/module/Application/src/View/Helper/Service/Ligne.php b/module/Application/src/View/Helper/Service/Ligne.php index 93058345e3be74d2d5b163c5ebacbcd68ea2a535..69ab4ebae560801f72e5c072e14e07986ee744e1 100755 --- a/module/Application/src/View/Helper/Service/Ligne.php +++ b/module/Application/src/View/Helper/Service/Ligne.php @@ -261,11 +261,11 @@ class Ligne extends AbstractViewHelper $display = $this->getListe()->getTypeInterventionVisibility($liste->getTypeIntervention()) ? '' : ';display:none'; $attribs = [ - 'class' => 'heures type-intervention ' . $liste->getTypeIntervention()->getCode(), - 'style' => 'text-align:right' . $display, - 'id' => 'service-' . $liste->getService()->getId() . '-ti-' . $liste->getTypeIntervention()->getId(), - 'data-value' => $heures, - 'data-type-intervention-code' => $liste->getTypeIntervention()->getCode(), + 'class' => 'heures type-intervention ti' . $liste->getTypeIntervention()->getId(), + 'style' => 'text-align:right' . $display, + 'id' => 'service-' . $liste->getService()->getId() . '-ti-' . $liste->getTypeIntervention()->getId(), + 'data-value' => $heures, + 'data-type-intervention-id' => $liste->getTypeIntervention()->getId(), ]; $out = '<td ' . $this->htmlAttribs($attribs) . '>'; if ($hasForbiddenPeriodes) $out .= '<abbr class="bg-danger" title="Des heures sont renseignées sur une période non conforme à la période de l\'enseignement">'; diff --git a/module/Application/src/View/Helper/Service/Liste.php b/module/Application/src/View/Helper/Service/Liste.php index a17bd41fde26695fd5126c6f2ff06966783d43b4..3ce7eb4040a485fa96c95d4cb866a51791bb6753 100755 --- a/module/Application/src/View/Helper/Service/Liste.php +++ b/module/Application/src/View/Helper/Service/Liste.php @@ -204,7 +204,7 @@ class Liste extends AbstractViewHelper foreach ($typesIntervention as $ti) { $display = $this->getTypeInterventionVisibility($ti) ? '' : ';display:none'; $colspan++; - $out .= "<th class=\"heures type-intervention " . $ti->getCode() . "\" style=\"width:8%$display\"><abbr title=\"" . $ti->getLibelle() . "\">" . $ti->getCode() . "</abbr></th>\n"; + $out .= "<th class=\"heures type-intervention ti" . $ti->getId() . "\" style=\"width:8%$display\"><abbr title=\"" . $ti->getLibelle() . "\">" . $ti->getCode() . "</abbr></th>\n"; } $out .= "<th> </th>\n"; $out .= "</tr>\n"; @@ -431,7 +431,7 @@ class Liste extends AbstractViewHelper } else { $display = ';display:none'; } - $out .= "<td id=\"" . $ti->getCode() . "\" class=\"type-intervention " . $ti->getCode() . "\" style=\"text-align:right$display\">" . \UnicaenApp\Util::formattedNumber($data[$ti->getCode()]) . "</td>\n"; + $out .= "<td id=\"" . $ti->getCode() . "\" class=\"type-intervention ti" . $ti->getId() . "\" style=\"text-align:right$display\">" . \UnicaenApp\Util::formattedNumber($data[$ti->getCode()]) . "</td>\n"; } $out .= "<td> </td>\n"; $out .= "</tr>\n"; diff --git a/module/ExportRh/src/Connecteur/Siham/SihamConnecteur.php b/module/ExportRh/src/Connecteur/Siham/SihamConnecteur.php index 2054aaf3c61180640a81ec6aeb2d6af41d5a1e5a..3ec3dcffc158c49d035f3f16dc0a8c4bab233f22 100644 --- a/module/ExportRh/src/Connecteur/Siham/SihamConnecteur.php +++ b/module/ExportRh/src/Connecteur/Siham/SihamConnecteur.php @@ -487,13 +487,25 @@ class SihamConnecteur implements ConnecteurRhInterface $paysNaissance = ''; } + //Traitement du départmenent + $valueDepartement = ''; + if (!empty($dossierIntervenant->getDepartementNaissance())) { + $departementCode = $dossierIntervenant->getDepartementNaissance()->getCode(); + if (substr($departementCode, 0, 1) == '9') { + $valueDepartement = $departementCode; + } else { + $valueDepartement = substr($departementCode, 1, 2); + } + } + + $params = [ 'categorieEntree' => 'ACTIVE', 'civilite' => ($dossierIntervenant->getCivilite() == 'M.') ? '1' : '2', 'dateEmbauche' => $dateEffet, 'dateNaissance' => $dossierIntervenant->getDateNaissance()->format('Y-m-d'), 'villeNaissance' => $dossierIntervenant->getCommuneNaissance(), - 'departementNaissance' => (!empty($dossierIntervenant->getDepartementNaissance())) ? substr($dossierIntervenant->getDepartementNaissance()->getCode(), 1, 2) : '', + 'departementNaissance' => $valueDepartement, 'paysNaissance' => $paysNaissance, 'emploi' => $datas['connecteurForm']['emploi'], 'listeCoordonneesPostales' => $coordonneesPostales, diff --git a/module/Intervenant/view/intervenant/statut/saisie.phtml b/module/Intervenant/view/intervenant/statut/saisie.phtml index 3726daaa45702fa97efba958f055bc6b71ca1886..33791785f416c7f4e44c6af9f43ff2d2adc0cd21 100755 --- a/module/Intervenant/view/intervenant/statut/saisie.phtml +++ b/module/Intervenant/view/intervenant/statut/saisie.phtml @@ -31,7 +31,7 @@ $canAdd = $this->isAllowed(Privileges::getResourceId(Privileges::INTERVENANT_STA echo $this->tag('div', ['class' => 'list-group']); foreach ($statuts as $s) { if ($s->getTypeIntervenant() == $typeIntervenant) { - $url = $this->url('statut/saisie', ['statut' => $s->getId()]); + $url = $this->url('statut/saisie', ['statut' => $s->getId()]); $active = $s == $statut ? ' active' : ''; echo $this->tag('a', ['class' => 'list-group-item' . $active, 'href' => $url])->html($s) . "\n"; } @@ -49,9 +49,9 @@ $canAdd = $this->isAllowed(Privileges::getResourceId(Privileges::INTERVENANT_STA <h1><?= $title ?></h1> <!-- Informations générales --> - <div class="panel panel-default"> - <div class="panel-heading">Informations générales</div> - <div class="panel-body"> + <div class="card bg-default"> + <div class="card-header">Informations générales</div> + <div class="card-body"> <div class="row"> <div class="col-md-4"> <?= $this->formControlGroup($form->get('typeIntervenant')); ?> @@ -67,6 +67,9 @@ $canAdd = $this->isAllowed(Privileges::getResourceId(Privileges::INTERVENANT_STA <div class="col-md-4"> <?= $this->formControlGroup($form->get('tauxChargesPatronales')); ?> </div> + <div class="col-md-4"> + <?= $this->formControlGroup($form->get('tauxChargesTTC')); ?> + </div> </div> <div class="row"> <?php for ($i = 1; $i <= 4; $i++): if ($form->has('codesCorresp' . $i)): ?> @@ -81,9 +84,9 @@ $canAdd = $this->isAllowed(Privileges::getResourceId(Privileges::INTERVENANT_STA <!-- Données personnelles --> - <div class="panel panel-default"> - <div class="panel-heading">Données personnelles</div> - <div class="panel-body"> + <div class="card bg-default"> + <div class="card-header">Données personnelles</div> + <div class="card-body"> <div class="row"> <div class="col-md-12"> <?= $this->formControlGroup($form->get('dossier')); ?> @@ -150,9 +153,9 @@ $canAdd = $this->isAllowed(Privileges::getResourceId(Privileges::INTERVENANT_STA <!-- Pièces justificatives --> - <div class="panel panel-default"> - <div class="panel-heading">Pièces justificatives</div> - <div class="panel-body"> + <div class="card bg-default"> + <div class="card-header">Pièces justificatives</div> + <div class="card-body"> <div class="row"> <div class="col-md-12"> <?= $this->formControlGroup($form->get('pieceJustificative')); ?> @@ -169,9 +172,9 @@ $canAdd = $this->isAllowed(Privileges::getResourceId(Privileges::INTERVENANT_STA <!-- Services --> - <div class="panel panel-default"> - <div class="panel-heading">Services d'enseignement</div> - <div class="panel-body"> + <div class="card bg-default"> + <div class="card-header">Services d'enseignement</div> + <div class="card-body"> <div class="row"> <div class="col-md-6"> <?= $this->formControlGroup($form->get('servicePrevu')); ?> @@ -190,9 +193,9 @@ $canAdd = $this->isAllowed(Privileges::getResourceId(Privileges::INTERVENANT_STA <!-- Référentiel --> - <div class="panel panel-default"> - <div class="panel-heading">Référentiel</div> - <div class="panel-body"> + <div class="card bg-default"> + <div class="card-header">Référentiel</div> + <div class="card-body"> <div class="row"> <div class="col-md-6"> <?= $this->formControlGroup($form->get('referentielPrevu')); ?> @@ -206,9 +209,9 @@ $canAdd = $this->isAllowed(Privileges::getResourceId(Privileges::INTERVENANT_STA <!-- Agréments --> - <div class="panel panel-default"> - <div class="panel-heading">Agréments</div> - <div class="panel-body"> + <div class="card bg-default"> + <div class="card-header">Agréments</div> + <div class="card-body"> <div class="row"> <div class="col-md-6"> <?= $this->formControlGroup($form->get('conseilRestreint')); ?> @@ -230,15 +233,19 @@ $canAdd = $this->isAllowed(Privileges::getResourceId(Privileges::INTERVENANT_STA <!-- Contrat --> - <div class="panel panel-default"> - <div class="panel-heading">Contrat de travail et avenants</div> - <div class="panel-body"> + <div class="card bg-default"> + <div class="card-header">Contrat de travail et avenants</div> + <div class="card-body"> <div class="row"> <div class="col-md-12"> <?= $this->formControlGroup($form->get('contrat')); ?> - <?php if ($this->isAllowed(Privileges::getResourceId(Privileges::CONTRAT_MODELES_VISUALISATION))): ?> - <a target="_blank" href="<?= $this->url('contrat/modeles'); ?>">Page d'administration des modèles de contrats de travail</a> - <?php endif; ?> + <div class="contratDetails"> + <?= $this->formControlGroup($form->get('contratEtatSortie')); ?> + <?php if ($this->isAllowed(Privileges::getResourceId(Privileges::ETAT_SORTIE_ADMINISTRATION_VISUALISATION))): ?> + <a target="_blank" href="<?= $this->url('etat-sortie'); ?>">Page d'administration des + états de sortie</a> + <?php endif; ?> + </div> </div> </div> </div> @@ -246,9 +253,9 @@ $canAdd = $this->isAllowed(Privileges::getResourceId(Privileges::INTERVENANT_STA <!-- Calcul des heures complémentaires et mises en paiement --> - <div class="panel panel-default"> - <div class="panel-heading">Calcul des heures complémentaires et mises en paiement</div> - <div class="panel-body"> + <div class="card bg-default"> + <div class="card-header">Calcul des heures complémentaires et mises en paiement</div> + <div class="card-body"> <div class="row"> <div class="col-md-6"> <?= $this->formControlGroup($form->get('serviceStatutaire')); ?> @@ -267,11 +274,11 @@ $canAdd = $this->isAllowed(Privileges::getResourceId(Privileges::INTERVENANT_STA <!-- Plafonds --> - <div class="panel panel-default"> - <div class="panel-heading">Plafonds</div> + <div class="card bg-default"> + <div class="card-header">Plafonds</div> <?= $this->plafondConfig()->afficher($statut, $canEdit); ?> <?php if ($this->isAllowed(Privileges::getResourceId(Privileges::PLAFONDS_VISUALISATION))): ?> - <div class="panel panel-body"><a target="_blank" href="<?= $this->url('plafond'); ?>"> + <div class="card-body"><a target="_blank" href="<?= $this->url('plafond'); ?>"> Page d'administration des plafonds </a> </div> @@ -280,7 +287,7 @@ $canAdd = $this->isAllowed(Privileges::getResourceId(Privileges::INTERVENANT_STA <!-- Boutons d'actions --> - <a href="<?= $this->url('statut') ?>" class="btn btn-default"> + <a href="<?= $this->url('statut') ?>" class="btn btn-secondary"> <i class="fas fa-rotate-left"></i> Retour à la liste des statuts </a> <?php if ($canEdit): ?> @@ -299,7 +306,8 @@ $canAdd = $this->isAllowed(Privileges::getResourceId(Privileges::INTERVENANT_STA title="Dupliquer le statut d'intervenant"> <i class="fas fa-rotate-right"></i> Dupliquer</a> <?php endif; ?> - <a href="<?= $this->url('plafond/construire-calculer') ?>" class="btn btn-info pop-ajax">Construction & calcul de tous les plafonds</a> + <a href="<?= $this->url('plafond/construire-calculer') ?>" class="btn btn-info pop-ajax">Construction & + calcul de tous les plafonds</a> <?php endif; ?> <?= $this->form()->closeTag(); ?> @@ -310,53 +318,52 @@ $canAdd = $this->isAllowed(Privileges::getResourceId(Privileges::INTERVENANT_STA <script type="text/javascript"> $(function () { - $("body").on("statut_delete", function (event, popAjax) - { + $("body").on("statut_delete", function (event, popAjax) { window.location.href = '<?= (string)$this->url('statut'); ?>'; }); WidgetInitializer.add('statut', { - donneesVisu: function () - { + donneesVisu: function () { var visible = this.el('dossier').val() != 'desactive'; this.element.find('.donneesDetails').toggle(visible); }, - donneesContactVisu: function () - { + donneesContactVisu: function () { var visible = this.el('dossierContact').is(':checked'); this.element.find('.donneesContactDetails').toggle(visible); }, - servicesVisu: function () - { + servicesVisu: function () { var visible = !(this.el('servicePrevu').val() == 'desactive' && this.el('serviceRealise').val() == 'desactive'); this.element.find('.servicesDetails').toggle(visible); }, - agrementCRVisu: function () - { + agrementCRVisu: function () { var visible = this.el('conseilRestreint').val() != 'desactive'; this.element.find('.agrementCRDetails').toggle(visible); }, - agrementCAVisu: function () - { + agrementCAVisu: function () { var visible = this.el('conseilAcademique').val() != 'desactive'; this.element.find('.agrementCADetails').toggle(visible); }, - _create: function () - { + contratVisu: function () { + var visible = this.el('contrat').val() != 'desactive'; + + this.element.find('.contratDetails').toggle(visible); + }, + + _create: function () { var that = this; that.donneesVisu(); @@ -364,18 +371,33 @@ $canAdd = $this->isAllowed(Privileges::getResourceId(Privileges::INTERVENANT_STA that.servicesVisu(); that.agrementCRVisu(); that.agrementCAVisu(); - - that.el('dossier').change(function () {that.donneesVisu()}); - that.el('dossierContact').change(function () {that.donneesContactVisu()}); - that.el('servicePrevu').change(function () {that.servicesVisu()}); - that.el('serviceRealise').change(function () {that.servicesVisu()}); - that.el('conseilRestreint').change(function () {that.agrementCRVisu()}); - that.el('conseilAcademique').change(function () {that.agrementCAVisu()}); + that.contratVisu(); + + that.el('dossier').change(function () { + that.donneesVisu() + }); + that.el('dossierContact').change(function () { + that.donneesContactVisu() + }); + that.el('servicePrevu').change(function () { + that.servicesVisu() + }); + that.el('serviceRealise').change(function () { + that.servicesVisu() + }); + that.el('conseilRestreint').change(function () { + that.agrementCRVisu() + }); + that.el('conseilAcademique').change(function () { + that.agrementCAVisu() + }); + that.el('contrat').change(function () { + that.contratVisu() + }); }, - el: function (name) - { + el: function (name) { return this.element.find('[name=' + name + ']'); } }); diff --git a/public/js/service.js b/public/js/service.js index 71e26a606d6c88838e1b4cb749ac68c00fc7335d..6d59375c0dddf3cce744b4b81f3b4f8c29b63b2c 100755 --- a/public/js/service.js +++ b/public/js/service.js @@ -11,17 +11,18 @@ $.widget("ose.serviceListe", { for (var i in this.totaux) { if (this.totaux[i] != 0) { count++; - this.element.find("table.service tr th." + i).show(); // entête - this.element.find("table.service tr.service-ligne td.type-intervention." + i).show(); - this.element.find("table.service tfoot tr td." + i).show(); // total + this.element.find("table.service tr th.ti" + i).show(); // entête + this.element.find("table.service tr.service-ligne td.type-intervention.ti" + i).show(); + this.element.find("table.service tfoot tr td.ti" + i).show(); // total } else { - this.element.find("table.service tr th." + i).hide(); // entête - this.element.find("table.service tr.service-ligne td.type-intervention." + i).hide(); - this.element.find("table.service tfoot tr td." + i).hide(); // total + this.element.find("table.service tr th.ti" + i).hide(); // entête + this.element.find("table.service tr.service-ligne td.type-intervention.ti" + i).hide(); + this.element.find("table.service tfoot tr td.ti" + i).hide(); // total } } this.element.find("table.service #total-general").attr('colspan', count); if (count == 0) { + this.element.find("table.service tr th.type-intervention").hide(); // entête this.element.find("table.service tfoot").hide(); } else { this.element.find("table.service tfoot").show(); @@ -35,19 +36,19 @@ $.widget("ose.serviceListe", { this.total = 0; this.element.find("table.service tr.service-ligne td.type-intervention").each(function () { - var typeInterventionCode = $(this).data('type-intervention-code'); + var typeInterventionId = $(this).data('type-intervention-id'); var value = $(this).data('value'); - if (that.totaux[typeInterventionCode] == undefined) that.totaux[typeInterventionCode] = 0; + if (that.totaux[typeInterventionId] == undefined) that.totaux[typeInterventionId] = 0; - that.totaux[typeInterventionCode] += value; + that.totaux[typeInterventionId] += value; that.total += value; }); // on met à jour aussi les entêtes et les totaux for (var ti in this.totaux) { var heures = this.totaux[ti]; - this.element.find("table.service tfoot tr td." + ti).html(Util.formattedHeures(heures)); + this.element.find("table.service tfoot tr td.ti" + ti).html(Util.formattedHeures(heures)); } this.element.find("table.service #total-general").html(Util.formattedHeures(this.total)); },