Loading doc/release-notes/module_hdr/01_module_hdr.sql +2 −29 Changes for doc/release-notes/module_hdr/01_module_hdr.sql: 2 added lines, 29 removed lines. Original line number Diff line number Diff line -- Attention, dans la partie Templates Renderer, -- une instruction est en commentaire, elle est à exécuter une seule fois -- et avant le reste des instructions qui concernent Renderer -- -- Single table inheritance -- Loading Loading @@ -66,25 +54,11 @@ create table fichier_hdr insert into soutenance_etat(id, code, libelle) values (nextval('soutenance_etat_id_seq'),'EN_COURS_SAISIE', 'En cours de saisie'); update soutenance_etat set code = 'EN_COURS_EXAMEN' where code = 'EN_COURS'; -- Mise à jour de l'état des propositions n'ayant pas encore de validation UPDATE soutenance_proposition sp SET etat_id = ( SELECT id FROM soutenance_etat where code = 'EN_COURS_SAISIE' ) WHERE NOT EXISTS ( SELECT 1 FROM validation_these vt WHERE vt.these_id = sp.these_id ) and type = 'SOUTENANCE_THESE_PROPOSITION' and etat_id = ( SELECT id FROM soutenance_etat where code = 'EN_COURS_EXAMEN' ); ALTER table soutenance_proposition add column type VARCHAR(255) NOT NULL default 'SOUTENANCE_THESE_PROPOSITION'; ALTER TABLE soutenance_proposition ALTER COLUMN these_id DROP NOT NULL; ALTER table soutenance_proposition add column hdr_id bigint REFERENCES hdr (id); ALTER table soutenance_proposition Loading Loading @@ -707,7 +681,6 @@ DROP COLUMN these_id; --Mise à jour du code des templates existants pour la thèse -- ATTENTION, A EXECUTER QU'UNE FOIS (code en commentaire ci-dessous) UPDATE unicaen_renderer_template SET code = REGEXP_REPLACE(code, '^SOUTENANCE_', 'SOUTENANCE_THESE_') WHERE --code LIKE 'SOUTENANCE_%'; Loading doc/release-notes/module_hdr/04_final.sql +16 −0 Changes for doc/release-notes/module_hdr/04_final.sql: 16 added lines, 0 removed lines. Original line number Diff line number Diff line -------------------- validations -------------------------- -- Mise à jour de l'état des propositions n'ayant pas encore de validation UPDATE soutenance_proposition sp SET etat_id = ( SELECT id FROM soutenance_etat where code = 'EN_COURS_SAISIE' ) WHERE NOT EXISTS ( SELECT 1 FROM validation_these vt WHERE vt.these_id = sp.these_id ) and type = 'SOUTENANCE_THESE_PROPOSITION' and etat_id = ( SELECT id FROM soutenance_etat where code = 'EN_COURS_EXAMEN' ); create or replace view v_situ_depot_vc_valid_doct(these_id, valide) as SELECT vt.these_id, Loading module/HDR/view/hdr/hdr/identite.phtml +1 −1 Changes for module/HDR/view/hdr/hdr/identite.phtml: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -154,7 +154,7 @@ switch ($hdr->getEtatHDR()){ </div> </div> <?php if ($resultat = $hdr->getResultatToString() || $hdr->getDateAbandon() || $proposition?->getSoutenanceAutorisee() || $proposition?->getDate()): ?> <?php if ($resultat = $hdr->getResultatToString() || $hdr->getDateAbandon() || $proposition?->getSoutenanceAutorisee() || ($proposition?->getEtat()->getCode() === Etat::VALIDEE && $proposition?->getDate())): ?> <div class="box card"> <div class="card-header these-card-header text-white"> <h2 class="first"> Loading module/Soutenance/src/Soutenance/Assertion/AvisSoutenanceAssertion.php +2 −0 Changes for module/Soutenance/src/Soutenance/Assertion/AvisSoutenanceAssertion.php: 2 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -130,6 +130,8 @@ class AvisSoutenanceAssertion extends AbstractAssertion implements AssertionInt * - le bdd de l'etablissement */ case AvisSoutenancePrivileges::AVIS_ANNULER : $etatObject = $object instanceof These ? $object->getEtatThese() : $object->getEtatHDR(); if($etatObject === These::ETAT_SOUTENUE || $etatObject === HDR::ETAT_SOUTENUE) return false; } return true; } Loading module/Soutenance/src/Soutenance/Assertion/EngagementImpartialiteAssertion.php +9 −3 Changes for module/Soutenance/src/Soutenance/Assertion/EngagementImpartialiteAssertion.php: 9 added lines, 3 removed lines. Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ use HDR\Entity\Db\HDR; use HDR\Service\HDRServiceAwareTrait; use Laminas\Permissions\Acl\Assertion\AssertionInterface; use Laminas\Permissions\Acl\Resource\ResourceInterface; use Soutenance\Provider\Privilege\EngagementImpartialitePrivileges; use These\Entity\Db\These; use These\Service\These\TheseServiceAwareTrait; Loading Loading @@ -67,13 +68,18 @@ class EngagementImpartialiteAssertion extends AbstractAssertion implements Asse } if($entity instanceof These){ return $this->userContextService->isStructureDuRoleRespecteeForThese($entity); if(!$this->userContextService->isStructureDuRoleRespecteeForThese($entity)) return false; }elseif($entity instanceof HDR){ return $this->userContextService->isStructureDuRoleRespecteeForHDR($entity); if(!$this->userContextService->isStructureDuRoleRespecteeForHDR($entity)) return false; } return false; switch ($privilege) { case EngagementImpartialitePrivileges::ENGAGEMENT_IMPARTIALITE_ANNULER: $etatObject = $entity instanceof These ? $entity->getEtatThese() : $entity->getEtatHDR(); if ($etatObject === These::ETAT_SOUTENUE || $etatObject === HDR::ETAT_SOUTENUE) return false; } return true; } protected function getRequestedEntity(): These|HDR|null Loading Loading
doc/release-notes/module_hdr/01_module_hdr.sql +2 −29 Changes for doc/release-notes/module_hdr/01_module_hdr.sql: 2 added lines, 29 removed lines. Original line number Diff line number Diff line -- Attention, dans la partie Templates Renderer, -- une instruction est en commentaire, elle est à exécuter une seule fois -- et avant le reste des instructions qui concernent Renderer -- -- Single table inheritance -- Loading Loading @@ -66,25 +54,11 @@ create table fichier_hdr insert into soutenance_etat(id, code, libelle) values (nextval('soutenance_etat_id_seq'),'EN_COURS_SAISIE', 'En cours de saisie'); update soutenance_etat set code = 'EN_COURS_EXAMEN' where code = 'EN_COURS'; -- Mise à jour de l'état des propositions n'ayant pas encore de validation UPDATE soutenance_proposition sp SET etat_id = ( SELECT id FROM soutenance_etat where code = 'EN_COURS_SAISIE' ) WHERE NOT EXISTS ( SELECT 1 FROM validation_these vt WHERE vt.these_id = sp.these_id ) and type = 'SOUTENANCE_THESE_PROPOSITION' and etat_id = ( SELECT id FROM soutenance_etat where code = 'EN_COURS_EXAMEN' ); ALTER table soutenance_proposition add column type VARCHAR(255) NOT NULL default 'SOUTENANCE_THESE_PROPOSITION'; ALTER TABLE soutenance_proposition ALTER COLUMN these_id DROP NOT NULL; ALTER table soutenance_proposition add column hdr_id bigint REFERENCES hdr (id); ALTER table soutenance_proposition Loading Loading @@ -707,7 +681,6 @@ DROP COLUMN these_id; --Mise à jour du code des templates existants pour la thèse -- ATTENTION, A EXECUTER QU'UNE FOIS (code en commentaire ci-dessous) UPDATE unicaen_renderer_template SET code = REGEXP_REPLACE(code, '^SOUTENANCE_', 'SOUTENANCE_THESE_') WHERE --code LIKE 'SOUTENANCE_%'; Loading
doc/release-notes/module_hdr/04_final.sql +16 −0 Changes for doc/release-notes/module_hdr/04_final.sql: 16 added lines, 0 removed lines. Original line number Diff line number Diff line -------------------- validations -------------------------- -- Mise à jour de l'état des propositions n'ayant pas encore de validation UPDATE soutenance_proposition sp SET etat_id = ( SELECT id FROM soutenance_etat where code = 'EN_COURS_SAISIE' ) WHERE NOT EXISTS ( SELECT 1 FROM validation_these vt WHERE vt.these_id = sp.these_id ) and type = 'SOUTENANCE_THESE_PROPOSITION' and etat_id = ( SELECT id FROM soutenance_etat where code = 'EN_COURS_EXAMEN' ); create or replace view v_situ_depot_vc_valid_doct(these_id, valide) as SELECT vt.these_id, Loading
module/HDR/view/hdr/hdr/identite.phtml +1 −1 Changes for module/HDR/view/hdr/hdr/identite.phtml: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -154,7 +154,7 @@ switch ($hdr->getEtatHDR()){ </div> </div> <?php if ($resultat = $hdr->getResultatToString() || $hdr->getDateAbandon() || $proposition?->getSoutenanceAutorisee() || $proposition?->getDate()): ?> <?php if ($resultat = $hdr->getResultatToString() || $hdr->getDateAbandon() || $proposition?->getSoutenanceAutorisee() || ($proposition?->getEtat()->getCode() === Etat::VALIDEE && $proposition?->getDate())): ?> <div class="box card"> <div class="card-header these-card-header text-white"> <h2 class="first"> Loading
module/Soutenance/src/Soutenance/Assertion/AvisSoutenanceAssertion.php +2 −0 Changes for module/Soutenance/src/Soutenance/Assertion/AvisSoutenanceAssertion.php: 2 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -130,6 +130,8 @@ class AvisSoutenanceAssertion extends AbstractAssertion implements AssertionInt * - le bdd de l'etablissement */ case AvisSoutenancePrivileges::AVIS_ANNULER : $etatObject = $object instanceof These ? $object->getEtatThese() : $object->getEtatHDR(); if($etatObject === These::ETAT_SOUTENUE || $etatObject === HDR::ETAT_SOUTENUE) return false; } return true; } Loading
module/Soutenance/src/Soutenance/Assertion/EngagementImpartialiteAssertion.php +9 −3 Changes for module/Soutenance/src/Soutenance/Assertion/EngagementImpartialiteAssertion.php: 9 added lines, 3 removed lines. Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ use HDR\Entity\Db\HDR; use HDR\Service\HDRServiceAwareTrait; use Laminas\Permissions\Acl\Assertion\AssertionInterface; use Laminas\Permissions\Acl\Resource\ResourceInterface; use Soutenance\Provider\Privilege\EngagementImpartialitePrivileges; use These\Entity\Db\These; use These\Service\These\TheseServiceAwareTrait; Loading Loading @@ -67,13 +68,18 @@ class EngagementImpartialiteAssertion extends AbstractAssertion implements Asse } if($entity instanceof These){ return $this->userContextService->isStructureDuRoleRespecteeForThese($entity); if(!$this->userContextService->isStructureDuRoleRespecteeForThese($entity)) return false; }elseif($entity instanceof HDR){ return $this->userContextService->isStructureDuRoleRespecteeForHDR($entity); if(!$this->userContextService->isStructureDuRoleRespecteeForHDR($entity)) return false; } return false; switch ($privilege) { case EngagementImpartialitePrivileges::ENGAGEMENT_IMPARTIALITE_ANNULER: $etatObject = $entity instanceof These ? $entity->getEtatThese() : $entity->getEtatHDR(); if ($etatObject === These::ETAT_SOUTENUE || $etatObject === HDR::ETAT_SOUTENUE) return false; } return true; } protected function getRequestedEntity(): These|HDR|null Loading