Loading data/ddl/package/OSE_WORKFLOW/body.sql +21 −1 Changes for data/ddl/package/OSE_WORKFLOW/body.sql: 21 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -663,6 +663,21 @@ CREATE OR REPLACE PACKAGE BODY OSE_WORKFLOW AS contrat := ' SELECT c.etape_code, c.intervenant_id, CASE WHEN c.avenant_mode = ''avenant_desactive'' THEN NULL ELSE c.structure_id END structure_id, c.objectif, CASE WHEN CASE WHEN c.avenant_mode = ''avenant_struct'' THEN sum(c.realisation) over (partition by c.structure_id) WHEN c.avenant_mode = ''avenant_desactive'' THEN sum(c.realisation) over (partition by c.intervenant_id) ELSE 0 END > 0 THEN c.objectif ELSE c.realisation END realisation FROM ( SELECT ''CONTRAT'' etape_code, intervenant_id intervenant_id, Loading @@ -671,14 +686,19 @@ CREATE OR REPLACE PACKAGE BODY OSE_WORKFLOW AS CASE p.valeur WHEN ''date-retour'' THEN signe ELSE edite END realisation 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'' JOIN parametre p2 on p2.nom = ''avenant'' WHERE ' || unicaen_tbl.MAKE_WHERE(param, VALUE) || ' AND actif = 1 AND nbvh > 0 ) c WHERE to_delete = 1 '; Loading data/parametres.php +1 −1 Changes for data/parametres.php: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -225,7 +225,7 @@ Cordialement, /* Contrat */ "avenant" => [ "VALEUR" => "avenant", "VALEUR" => "avenant_autorise", "DESCRIPTION" => "Permettre la création d'avenants au contrat", ], Loading module/Application/src/Controller/ContratController.php +20 −29 Changes for module/Application/src/Controller/ContratController.php: 20 added lines, 29 removed lines. Original line number Diff line number Diff line Loading @@ -110,9 +110,22 @@ class ContratController extends AbstractController $title = "Contrat/avenants <small>{$intervenant}</small>"; $sTestContrat = $this->getServiceContrat(); $qbTest = $sTestContrat->finderByIntervenant($intervenant); $contratsTest = $sTestContrat->getList($qbTest); $avenantResult = $this->getServiceParametres()->get('avenant'); switch ($avenantResult) { case Parametre::AVENANT_AUTORISE : $avenant_param = 1; break; case Parametre::AVENANT_STRUCT : $avenant_param = 0; break; default : $avenant_param = -1; } $sContrat = $this->getServiceContrat(); $qbTest = $sContrat->finderByIntervenant($intervenant); $contratsTest = $sContrat->getList($qbTest); if (empty($contratsTest)) { $hasContrat = false; } else { Loading @@ -122,14 +135,8 @@ class ContratController extends AbstractController $sContrat = $this->getServiceContrat(); $qb = $sContrat->finderByIntervenant($intervenant); if ($structure) { $qb->andWhere( new Orx([ 'c.structure IS NULL', 'c.structure = ?2', ]) )->setParameter(2, $structure); if ($structure && $avenant_param >= 0) { $sContrat->finderByStructure($structure, $qb); } $contrats = $sContrat->getList($qb); Loading @@ -145,13 +152,10 @@ class ContratController extends AbstractController 'non-contractualises' => [], ]; foreach ($contrats as $contrat) { if ($contrat->getStructure() == null) { $services['contractualises'][$contrat->getId()] = $this->getProcessusContrat()->getServices($intervenant, $contrat, null); } else { $services['contractualises'][$contrat->getId()] = $this->getProcessusContrat()->getServices($intervenant, $contrat, $role->getStructure()); } } $nc = $this->getProcessusContrat()->getServices($intervenant, null, $role->getStructure()); foreach ($nc as $service) { Loading @@ -161,17 +165,7 @@ class ContratController extends AbstractController } $services['non-contractualises'][$sid][] = $service; } $avenantResult = $this->getServiceParametres()->get('avenant'); switch ($avenantResult) { case Parametre::AVENANT_AUTORISE : $avenant_param = 1; break; case Parametre::AVENANT_STRUCT : $avenant_param = 0; break; default : $avenant_param = -1; } $contratDirectResult = $this->getServiceParametres()->get('contrat_direct'); $contratDirect = ($contratDirectResult == Parametre::CONTRAT_DIRECT); Loading @@ -192,9 +186,6 @@ class ContratController extends AbstractController /* @var $structure Structure */ $avenantResult = $this->getServiceParametres()->get('avenant'); if ($avenantResult == PARAMETRE::AVENANT_DESACTIVE) { $structure = null; } $contratDirectResult = $this->getServiceParametres()->get('contrat_direct'); $contratDirect = ($contratDirectResult == Parametre::CONTRAT_DIRECT); Loading module/Application/src/Entity/Db/Parametre.php +2 −1 Changes for module/Application/src/Entity/Db/Parametre.php: 2 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -17,8 +17,9 @@ class Parametre implements HistoriqueAwareInterface const CONTRAT_FRANCHI_DATE_RETOUR = 'date-retour'; const AVENANT_AUTORISE = 'avenant_autorise'; const AVENANT_STRUCT = 'avenant_Struct'; const AVENANT_STRUCT = 'avenant_struct'; const AVENANT_DESACTIVE = 'avenant_desactive'; const CONTRAT_DIRECT = 'contrat_direct'; const CONTRAT_DATE = 'contrat_date'; Loading module/Application/view/application/contrat/index.phtml +22 −13 Changes for module/Application/view/application/contrat/index.phtml: 22 added lines, 13 removed lines. Original line number Diff line number Diff line Loading @@ -14,21 +14,22 @@ use Application\Provider\Privilege\Privileges; */ $structList = []; $StructureNonContractToShow = []; foreach ($contrats as $contrat) { if (!$contrat->estUnProjet()) { $structList[] = $contrat->getStructure(); } } $notshow = false; $serviceNonContractToShow = []; foreach ($services['non-contractualises'] as $sid => $servicesNC) { $structure = current($servicesNC)->getElementPedagogique()->getStructure(); if (!in_array($structure, $structList) && !in_array(null, $structList)) { if ($avenant_param == 1 || (!in_array($structure, $structList) && !in_array(null, $structList) && !($avenant_param < 0 && $hasContrat))) { $serviceNonContractToShow[] = $structure; } else { $notshow = true; }; } $this->intervenant($intervenant)->renderTitle("Contrat/avenant"); echo $this->messenger()->addCurrentMessagesFromFlashMessenger(); Loading Loading @@ -57,7 +58,18 @@ $this->messenger() ?> <?php if ($contrats || $services['non-contractualises']): if ($services['non-contractualises']): if (!$hasContrat || $avenant_param > 0 || ($avenant_param == 0 && !empty($serviceNonContractToShow))): ?> if ($notshow): if ($avenant_param < 0): ?> <div class="alert alert-info"> <h2>La création d'avenant n'est pas disponible, elle a été désactivée dans les paramètres.</h2> </div> <?php else: if ($avenant_param == 0) ?> <div class="alert alert-info"> <h2>Une composante ne peut posséder qu'un seul contrat/avenant, tout avenant supplémentaire a été désactivé dans les paramètres.</h2> </div> <?php endif; endif; ?> <?php if (!$hasContrat || $avenant_param > 0 || ($avenant_param == 0 && !empty($serviceNonContractToShow))): ?> <table class="table table-bordered table-hover"> <tr> <th class="structure">Composante</th> Loading @@ -69,7 +81,9 @@ $this->messenger() ?> $contrat = new \Application\Entity\Db\Contrat(); $contrat->setIntervenant($intervenant); $contrat->setStructure($structure); if (!in_array($structure, $serviceNonContractToShow)) { continue; } $canCreer = $this->isAllowed($contrat, Privileges::CONTRAT_CREATION); ?> <tr> Loading Loading @@ -129,13 +143,8 @@ $this->messenger() ?> <?php endif; ?> </table> <?php else: ?> <div class="alert alert-info"> <h2>La création d'avenant n'est pas disponible, elle a été désactivée dans les paramètres.</h2> </div> <?php endif; ?> <?php endif; ?> <?php endif; endif; ?> <div class="well"> <h2>Contrats et avenants</h2> <?php foreach ($contrats as $contrat): ?> Loading Loading
data/ddl/package/OSE_WORKFLOW/body.sql +21 −1 Changes for data/ddl/package/OSE_WORKFLOW/body.sql: 21 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -663,6 +663,21 @@ CREATE OR REPLACE PACKAGE BODY OSE_WORKFLOW AS contrat := ' SELECT c.etape_code, c.intervenant_id, CASE WHEN c.avenant_mode = ''avenant_desactive'' THEN NULL ELSE c.structure_id END structure_id, c.objectif, CASE WHEN CASE WHEN c.avenant_mode = ''avenant_struct'' THEN sum(c.realisation) over (partition by c.structure_id) WHEN c.avenant_mode = ''avenant_desactive'' THEN sum(c.realisation) over (partition by c.intervenant_id) ELSE 0 END > 0 THEN c.objectif ELSE c.realisation END realisation FROM ( SELECT ''CONTRAT'' etape_code, intervenant_id intervenant_id, Loading @@ -671,14 +686,19 @@ CREATE OR REPLACE PACKAGE BODY OSE_WORKFLOW AS CASE p.valeur WHEN ''date-retour'' THEN signe ELSE edite END realisation 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'' JOIN parametre p2 on p2.nom = ''avenant'' WHERE ' || unicaen_tbl.MAKE_WHERE(param, VALUE) || ' AND actif = 1 AND nbvh > 0 ) c WHERE to_delete = 1 '; Loading
data/parametres.php +1 −1 Changes for data/parametres.php: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -225,7 +225,7 @@ Cordialement, /* Contrat */ "avenant" => [ "VALEUR" => "avenant", "VALEUR" => "avenant_autorise", "DESCRIPTION" => "Permettre la création d'avenants au contrat", ], Loading
module/Application/src/Controller/ContratController.php +20 −29 Changes for module/Application/src/Controller/ContratController.php: 20 added lines, 29 removed lines. Original line number Diff line number Diff line Loading @@ -110,9 +110,22 @@ class ContratController extends AbstractController $title = "Contrat/avenants <small>{$intervenant}</small>"; $sTestContrat = $this->getServiceContrat(); $qbTest = $sTestContrat->finderByIntervenant($intervenant); $contratsTest = $sTestContrat->getList($qbTest); $avenantResult = $this->getServiceParametres()->get('avenant'); switch ($avenantResult) { case Parametre::AVENANT_AUTORISE : $avenant_param = 1; break; case Parametre::AVENANT_STRUCT : $avenant_param = 0; break; default : $avenant_param = -1; } $sContrat = $this->getServiceContrat(); $qbTest = $sContrat->finderByIntervenant($intervenant); $contratsTest = $sContrat->getList($qbTest); if (empty($contratsTest)) { $hasContrat = false; } else { Loading @@ -122,14 +135,8 @@ class ContratController extends AbstractController $sContrat = $this->getServiceContrat(); $qb = $sContrat->finderByIntervenant($intervenant); if ($structure) { $qb->andWhere( new Orx([ 'c.structure IS NULL', 'c.structure = ?2', ]) )->setParameter(2, $structure); if ($structure && $avenant_param >= 0) { $sContrat->finderByStructure($structure, $qb); } $contrats = $sContrat->getList($qb); Loading @@ -145,13 +152,10 @@ class ContratController extends AbstractController 'non-contractualises' => [], ]; foreach ($contrats as $contrat) { if ($contrat->getStructure() == null) { $services['contractualises'][$contrat->getId()] = $this->getProcessusContrat()->getServices($intervenant, $contrat, null); } else { $services['contractualises'][$contrat->getId()] = $this->getProcessusContrat()->getServices($intervenant, $contrat, $role->getStructure()); } } $nc = $this->getProcessusContrat()->getServices($intervenant, null, $role->getStructure()); foreach ($nc as $service) { Loading @@ -161,17 +165,7 @@ class ContratController extends AbstractController } $services['non-contractualises'][$sid][] = $service; } $avenantResult = $this->getServiceParametres()->get('avenant'); switch ($avenantResult) { case Parametre::AVENANT_AUTORISE : $avenant_param = 1; break; case Parametre::AVENANT_STRUCT : $avenant_param = 0; break; default : $avenant_param = -1; } $contratDirectResult = $this->getServiceParametres()->get('contrat_direct'); $contratDirect = ($contratDirectResult == Parametre::CONTRAT_DIRECT); Loading @@ -192,9 +186,6 @@ class ContratController extends AbstractController /* @var $structure Structure */ $avenantResult = $this->getServiceParametres()->get('avenant'); if ($avenantResult == PARAMETRE::AVENANT_DESACTIVE) { $structure = null; } $contratDirectResult = $this->getServiceParametres()->get('contrat_direct'); $contratDirect = ($contratDirectResult == Parametre::CONTRAT_DIRECT); Loading
module/Application/src/Entity/Db/Parametre.php +2 −1 Changes for module/Application/src/Entity/Db/Parametre.php: 2 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -17,8 +17,9 @@ class Parametre implements HistoriqueAwareInterface const CONTRAT_FRANCHI_DATE_RETOUR = 'date-retour'; const AVENANT_AUTORISE = 'avenant_autorise'; const AVENANT_STRUCT = 'avenant_Struct'; const AVENANT_STRUCT = 'avenant_struct'; const AVENANT_DESACTIVE = 'avenant_desactive'; const CONTRAT_DIRECT = 'contrat_direct'; const CONTRAT_DATE = 'contrat_date'; Loading
module/Application/view/application/contrat/index.phtml +22 −13 Changes for module/Application/view/application/contrat/index.phtml: 22 added lines, 13 removed lines. Original line number Diff line number Diff line Loading @@ -14,21 +14,22 @@ use Application\Provider\Privilege\Privileges; */ $structList = []; $StructureNonContractToShow = []; foreach ($contrats as $contrat) { if (!$contrat->estUnProjet()) { $structList[] = $contrat->getStructure(); } } $notshow = false; $serviceNonContractToShow = []; foreach ($services['non-contractualises'] as $sid => $servicesNC) { $structure = current($servicesNC)->getElementPedagogique()->getStructure(); if (!in_array($structure, $structList) && !in_array(null, $structList)) { if ($avenant_param == 1 || (!in_array($structure, $structList) && !in_array(null, $structList) && !($avenant_param < 0 && $hasContrat))) { $serviceNonContractToShow[] = $structure; } else { $notshow = true; }; } $this->intervenant($intervenant)->renderTitle("Contrat/avenant"); echo $this->messenger()->addCurrentMessagesFromFlashMessenger(); Loading Loading @@ -57,7 +58,18 @@ $this->messenger() ?> <?php if ($contrats || $services['non-contractualises']): if ($services['non-contractualises']): if (!$hasContrat || $avenant_param > 0 || ($avenant_param == 0 && !empty($serviceNonContractToShow))): ?> if ($notshow): if ($avenant_param < 0): ?> <div class="alert alert-info"> <h2>La création d'avenant n'est pas disponible, elle a été désactivée dans les paramètres.</h2> </div> <?php else: if ($avenant_param == 0) ?> <div class="alert alert-info"> <h2>Une composante ne peut posséder qu'un seul contrat/avenant, tout avenant supplémentaire a été désactivé dans les paramètres.</h2> </div> <?php endif; endif; ?> <?php if (!$hasContrat || $avenant_param > 0 || ($avenant_param == 0 && !empty($serviceNonContractToShow))): ?> <table class="table table-bordered table-hover"> <tr> <th class="structure">Composante</th> Loading @@ -69,7 +81,9 @@ $this->messenger() ?> $contrat = new \Application\Entity\Db\Contrat(); $contrat->setIntervenant($intervenant); $contrat->setStructure($structure); if (!in_array($structure, $serviceNonContractToShow)) { continue; } $canCreer = $this->isAllowed($contrat, Privileges::CONTRAT_CREATION); ?> <tr> Loading Loading @@ -129,13 +143,8 @@ $this->messenger() ?> <?php endif; ?> </table> <?php else: ?> <div class="alert alert-info"> <h2>La création d'avenant n'est pas disponible, elle a été désactivée dans les paramètres.</h2> </div> <?php endif; ?> <?php endif; ?> <?php endif; endif; ?> <div class="well"> <h2>Contrats et avenants</h2> <?php foreach ($contrats as $contrat): ?> Loading