Loading doc/release-notes/8.1.0/03_domaine_hal.sql +30 −0 Changes for doc/release-notes/8.1.0/03_domaine_hal.sql: 30 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -111,3 +111,33 @@ CREATE TABLE IF NOT EXISTS public.domaine_hal_these these_id bigint NOT NULL, domaine_id bigint NOT NULL ); insert into PRIVILEGE(ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) with d(ordre, code, lib) as ( select 3100, 'modification-domaines-hal-these', 'Modifier les domaines HAL de sa thèse' ) select nextval('privilege_id_seq'), cp.id, d.code, d.lib, d.ordre from d join CATEGORIE_PRIVILEGE cp on cp.CODE = 'these'; INSERT INTO PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) with data(categ, priv) as (select 'these', 'modification-domaines-hal-these') select p.id as PRIVILEGE_ID, profil.id as PROFIL_ID from data join PROFIL on profil.ROLE_ID in ( 'ADMIN_TECH', 'BDD', 'GEST_ED', 'DOCTORANT' ) join CATEGORIE_PRIVILEGE cp on cp.CODE = data.categ join PRIVILEGE p on p.CATEGORIE_ID = cp.id and p.code = data.priv where not exists (select * from PROFIL_PRIVILEGE where PRIVILEGE_ID = p.id and PROFIL_ID = profil.id); insert into ROLE_PRIVILEGE (ROLE_ID, PRIVILEGE_ID) select p2r.ROLE_ID, pp.PRIVILEGE_ID from PROFIL_TO_ROLE p2r join profil pr on pr.id = p2r.PROFIL_ID join PROFIL_PRIVILEGE pp on pp.PROFIL_ID = pr.id where not exists (select * from role_privilege where role_id = p2r.role_id and privilege_id = pp.privilege_id) ; No newline at end of file module/Depot/view/depot/depot/partial/description.phtml +15 −7 Changes for module/Depot/view/depot/depot/partial/description.phtml: 15 added lines, 7 removed lines. Original line number Diff line number Diff line Loading @@ -7,6 +7,7 @@ use Application\Entity\Db\DomaineHal; use Depot\Entity\Db\MetadonneeThese; use Doctrine\ORM\PersistentCollection; use These\Entity\Db\These; use Depot\Filter\MotsClesFormatter; Loading Loading @@ -39,14 +40,21 @@ $langueAutreTitre = function () use ($metadonnee) { <dd><?php echo $motsClesFormatter->filter($metadonnee->getMotsClesLibresAnglais()) ?: "(Non renseignés)" ?></dd> <dt>Domaine(s) HAL</dt> <dd><?php $domaines = []; foreach ($these->getDomainesHal() as $domaineHal) { /** @var DomaineHal $domaineHal */ $domaines[] = $domaineHal->getFrDomainS() . " (<i>" . $domaineHal->getEnDomainS() . "</i>)"; } echo implode(' <br> ', $domaines); echo empty($domaines) ? "(Non renseignés)" : null; if ($these->getDomainesHal() instanceof PersistentCollection && $these->getDomainesHal()->isEmpty()){ ?> <em> Aucun domaine HAL de renseigné </em><br> <?php }else{ ?> <ul> <?php foreach($these->getDomainesHal() as $domaine){ ?> <li> <?php /** @var DomaineHal $domaine */ echo $domaine->getFrDomainS(); ?> (<i><?= $domaine->getEnDomainS() ?>)</i> </li> <?php } ?> </ul> <?php } ?> </dd> </dl> </div> Loading module/Formation/src/Formation/Controller/EnqueteQuestionController.php +1 −1 Changes for module/Formation/src/Formation/Controller/EnqueteQuestionController.php: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -308,7 +308,7 @@ class EnqueteQuestionController extends AbstractController { foreach ($reponses as $reponse) $dictionnaireReponse[$reponse->getQuestion()->getId()] = $reponse; $enquete = new ArrayCollection(); foreach ($dictionnaireQuestion as $id => $question) { $reponse = $dictionnaireReponse[$id]; $reponse = $dictionnaireReponse[$id] ?? null; if ($reponse === null) { $reponse = new EnqueteReponse(); $reponse->setInscription($inscription); Loading module/These/config/others/domaine-hal.config.php +4 −3 Changes for module/These/config/others/domaine-hal.config.php: 4 added lines, 3 removed lines. Original line number Diff line number Diff line Loading @@ -11,6 +11,7 @@ use These\Form\DomaineHalSaisie\Fieldset\DomaineHalFieldset; use These\Form\DomaineHalSaisie\Fieldset\DomaineHalFieldsetFactory; use These\Form\DomaineHalSaisie\Fieldset\DomaineHalHydrator; use These\Form\DomaineHalSaisie\Fieldset\DomaineHalHydratorFactory; use These\Provider\Privilege\ThesePrivileges; use UnicaenAuth\Guard\PrivilegeController; use UnicaenAuth\Provider\Rule\PrivilegeRuleProvider; Loading @@ -23,9 +24,9 @@ return [ 'action' => [ 'saisie-domaine-hal', ], // 'privileges' => [ // AdmissionPrivileges::ADMISSION_CONVENTION_FORMATION_MODIFIER, // ], 'privileges' => [ ThesePrivileges::THESE_MODIFICATION_DOMAINES_HAL_THESE, ], ] ], ], Loading module/These/src/These/Provider/Privilege/ThesePrivileges.php +1 −0 Changes for module/These/src/These/Provider/Privilege/ThesePrivileges.php: 1 added line, 0 removed lines. Original line number Diff line number Diff line Loading @@ -36,4 +36,5 @@ class ThesePrivileges extends Privileges const THESE_CONSULTATION_SES_THESES = 'these-consultation-de-ses-theses'; const THESE_MODIFICATION_TOUTES_THESES = 'these-modification-de-toutes-les-theses'; const THESE_MODIFICATION_SES_THESES = 'these-modification-de-ses-theses'; const THESE_MODIFICATION_DOMAINES_HAL_THESE = 'these-modification-domaines-hal-these'; } No newline at end of file Loading
doc/release-notes/8.1.0/03_domaine_hal.sql +30 −0 Changes for doc/release-notes/8.1.0/03_domaine_hal.sql: 30 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -111,3 +111,33 @@ CREATE TABLE IF NOT EXISTS public.domaine_hal_these these_id bigint NOT NULL, domaine_id bigint NOT NULL ); insert into PRIVILEGE(ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) with d(ordre, code, lib) as ( select 3100, 'modification-domaines-hal-these', 'Modifier les domaines HAL de sa thèse' ) select nextval('privilege_id_seq'), cp.id, d.code, d.lib, d.ordre from d join CATEGORIE_PRIVILEGE cp on cp.CODE = 'these'; INSERT INTO PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) with data(categ, priv) as (select 'these', 'modification-domaines-hal-these') select p.id as PRIVILEGE_ID, profil.id as PROFIL_ID from data join PROFIL on profil.ROLE_ID in ( 'ADMIN_TECH', 'BDD', 'GEST_ED', 'DOCTORANT' ) join CATEGORIE_PRIVILEGE cp on cp.CODE = data.categ join PRIVILEGE p on p.CATEGORIE_ID = cp.id and p.code = data.priv where not exists (select * from PROFIL_PRIVILEGE where PRIVILEGE_ID = p.id and PROFIL_ID = profil.id); insert into ROLE_PRIVILEGE (ROLE_ID, PRIVILEGE_ID) select p2r.ROLE_ID, pp.PRIVILEGE_ID from PROFIL_TO_ROLE p2r join profil pr on pr.id = p2r.PROFIL_ID join PROFIL_PRIVILEGE pp on pp.PROFIL_ID = pr.id where not exists (select * from role_privilege where role_id = p2r.role_id and privilege_id = pp.privilege_id) ; No newline at end of file
module/Depot/view/depot/depot/partial/description.phtml +15 −7 Changes for module/Depot/view/depot/depot/partial/description.phtml: 15 added lines, 7 removed lines. Original line number Diff line number Diff line Loading @@ -7,6 +7,7 @@ use Application\Entity\Db\DomaineHal; use Depot\Entity\Db\MetadonneeThese; use Doctrine\ORM\PersistentCollection; use These\Entity\Db\These; use Depot\Filter\MotsClesFormatter; Loading Loading @@ -39,14 +40,21 @@ $langueAutreTitre = function () use ($metadonnee) { <dd><?php echo $motsClesFormatter->filter($metadonnee->getMotsClesLibresAnglais()) ?: "(Non renseignés)" ?></dd> <dt>Domaine(s) HAL</dt> <dd><?php $domaines = []; foreach ($these->getDomainesHal() as $domaineHal) { /** @var DomaineHal $domaineHal */ $domaines[] = $domaineHal->getFrDomainS() . " (<i>" . $domaineHal->getEnDomainS() . "</i>)"; } echo implode(' <br> ', $domaines); echo empty($domaines) ? "(Non renseignés)" : null; if ($these->getDomainesHal() instanceof PersistentCollection && $these->getDomainesHal()->isEmpty()){ ?> <em> Aucun domaine HAL de renseigné </em><br> <?php }else{ ?> <ul> <?php foreach($these->getDomainesHal() as $domaine){ ?> <li> <?php /** @var DomaineHal $domaine */ echo $domaine->getFrDomainS(); ?> (<i><?= $domaine->getEnDomainS() ?>)</i> </li> <?php } ?> </ul> <?php } ?> </dd> </dl> </div> Loading
module/Formation/src/Formation/Controller/EnqueteQuestionController.php +1 −1 Changes for module/Formation/src/Formation/Controller/EnqueteQuestionController.php: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -308,7 +308,7 @@ class EnqueteQuestionController extends AbstractController { foreach ($reponses as $reponse) $dictionnaireReponse[$reponse->getQuestion()->getId()] = $reponse; $enquete = new ArrayCollection(); foreach ($dictionnaireQuestion as $id => $question) { $reponse = $dictionnaireReponse[$id]; $reponse = $dictionnaireReponse[$id] ?? null; if ($reponse === null) { $reponse = new EnqueteReponse(); $reponse->setInscription($inscription); Loading
module/These/config/others/domaine-hal.config.php +4 −3 Changes for module/These/config/others/domaine-hal.config.php: 4 added lines, 3 removed lines. Original line number Diff line number Diff line Loading @@ -11,6 +11,7 @@ use These\Form\DomaineHalSaisie\Fieldset\DomaineHalFieldset; use These\Form\DomaineHalSaisie\Fieldset\DomaineHalFieldsetFactory; use These\Form\DomaineHalSaisie\Fieldset\DomaineHalHydrator; use These\Form\DomaineHalSaisie\Fieldset\DomaineHalHydratorFactory; use These\Provider\Privilege\ThesePrivileges; use UnicaenAuth\Guard\PrivilegeController; use UnicaenAuth\Provider\Rule\PrivilegeRuleProvider; Loading @@ -23,9 +24,9 @@ return [ 'action' => [ 'saisie-domaine-hal', ], // 'privileges' => [ // AdmissionPrivileges::ADMISSION_CONVENTION_FORMATION_MODIFIER, // ], 'privileges' => [ ThesePrivileges::THESE_MODIFICATION_DOMAINES_HAL_THESE, ], ] ], ], Loading
module/These/src/These/Provider/Privilege/ThesePrivileges.php +1 −0 Changes for module/These/src/These/Provider/Privilege/ThesePrivileges.php: 1 added line, 0 removed lines. Original line number Diff line number Diff line Loading @@ -36,4 +36,5 @@ class ThesePrivileges extends Privileges const THESE_CONSULTATION_SES_THESES = 'these-consultation-de-ses-theses'; const THESE_MODIFICATION_TOUTES_THESES = 'these-modification-de-toutes-les-theses'; const THESE_MODIFICATION_SES_THESES = 'these-modification-de-ses-theses'; const THESE_MODIFICATION_DOMAINES_HAL_THESE = 'these-modification-domaines-hal-these'; } No newline at end of file