Commit 48d0f952 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Nouveau rôle 'Authentifié' permettant d'accorder des privilèges aux...

Nouveau rôle 'Authentifié' permettant d'accorder des privilèges aux utilisateurs sans rôle particulier (ex : futur module Admission).
parent 7f70b3f5
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@ Journal des modifications
- Envoi vers Step-Star : le type de partenaire de recherche est désormais configurable.
- Page de recherche d'individus : suppression du bouton de modification qui ouvrait une modale n'enregistrant pas correctement 
  les modifications éventuelles de l'individu et dans laquelle l'iframe de recherche d'idref s'ouvrait dessous.
- Nouveau rôle 'Authentifié' permettant d'accorder des privilèges aux utilisateurs sans rôle particulier (ex : futur module Admission).
- [FIX] Rapports d'activité : le rôle Maison du doctorat ne pouvait pas dévalider un rapport d'activité (en cas de validation du Doctorant). 
- [FIX] Envoi vers Step-Star : faux positif pour le témoin 'contrat doctoral'. 

+3 −3
Original line number Diff line number Diff line
@@ -8586,11 +8586,11 @@
        },
        {
            "name": "unicaen/auth",
            "version": "6.0.1",
            "version": "6.0.2",
            "source": {
                "type": "git",
                "url": "https://git.unicaen.fr/lib/unicaen/auth.git",
                "reference": "05cf461133260e14fa746056734e6afcf6275fa8"
                "reference": "f2485f27d8912d8e5d0f41b1f19d4011dad505b4"
            },
            "require": {
                "jasig/phpcas": "1.5.*",
@@ -8613,7 +8613,7 @@
                ]
            },
            "description": "Module d'authentification pour les applications Unicaen",
            "time": "2023-04-07T13:58:25+00:00"
            "time": "2023-12-08T13:57:57+00:00"
        },
        {
            "name": "unicaen/auth-token",
+31 −0
Original line number Diff line number Diff line
@@ -25,4 +25,35 @@ CREATE UNIQUE INDEX soutenance_proposition_uniq_histo ON soutenance_proposition(

INSERT INTO unicaen_renderer_macro (code, description, variable_name, methode_name) VALUES
('Url#Enquete', '<p>Ajoute le lien vers l''enquête</p>', 'Url', 'getUrlEnquete');

-- 
-- Rôle 'Authentifié'
--
delete from role where source_code = 'SyGAL::user';

insert into role (id, code, libelle, source_code, source_id, role_id, is_default, attrib_auto, these_dep,
                  histo_createur_id, ordre_affichage)
select nextval('role_id_seq'),
       'user',
       'Authentifié·e',
       'user',
       1,
       'user',
       false,
       false,
       false,
       1,
       'a'
on conflict (source_code) do update
  set libelle           = excluded.libelle,
      code              = excluded.code,
      source_code       = excluded.source_code,
      source_id         = excluded.source_id,
      role_id           = excluded.role_id,
      is_default        = excluded.is_default,
      attrib_auto       = excluded.attrib_auto,
      these_dep         = excluded.these_dep,
      histo_createur_id = excluded.histo_createur_id,
      ordre_affichage   = excluded.ordre_affichage;

```
 No newline at end of file
+1 −1
Original line number Diff line number Diff line
@@ -100,7 +100,7 @@ class IdentityProvider implements ProviderInterface, ChainableProvider
            return [];
        }

        $roleAuthentifie = $this->roleService->getRepository()->findByCode('user')/*->setLibelle("coucou")*/;
        $roleAuthentifie = $this->roleService->getRepository()->findByCode('user');

        $this->roles = array_merge(
            [$roleAuthentifie],
+5 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ use Structure\Entity\Db\Structure;
use Structure\Entity\Db\TypeStructure;
use Structure\Entity\Db\UniteRecherche;
use UnicaenApp\Exception\RuntimeException;
use UnicaenAuth\Entity\Db\RoleInterface;

/**
 * Class RoleService
@@ -343,6 +344,10 @@ class RoleService extends BaseService
            ->leftJoinStructureSubstituante('s')
            ->andWhereStructureEstNonSubstituee('s');

        $qb
            ->andWhere('r.roleId <> :roleCode')
            ->setParameter('roleCode', 'user'); // rôle 'Authentifié' écarté

        return $qb->getQuery()->getResult();
    }