Image du projet 'Socle K-Sup' téléversée
  1. Socle K-Sup
  2. CORE-5267

Droits - mauvaise gestion des codesde rattachement autres

XMLWordImprimable

    • Icon: Bug Bug
    • Résolution: Résolu
    • Icon: Majeur Majeur
    • 6.07.35, 7.0.0-ALPHA-3
    • 6.07.33
    • Aucune

      Hello,

      Contexte

      Un client souhaite autoriser la modification d'une fiche à des personnes membres de plusieurs structures. Il renseigne donc plusieurs structures dans le champ Autre(s) Structure(s).

      Anomalie

      Un utilisateur rattaché à l'une des structures ne peut pas, en apparence, modifier la structure : le bouton modifier n'est pas présent dans la liste des structures.

      Cependant, si l'utilisateur possède l'URL de modification de la fiche, il peut la modifier.

      Analyse

      Le même code est exécuté pour vérifier si un utilisateur possède suffisamment de droit pour modifier une fiche : com.univ.objetspartages.om.AutorisationBean#getAutorisation(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, int, java.lang.String)

      Par contre, le paramètre codeRattachementAutre de la méthode est renseigné avec deux sources différentes :

      • METATAG.META_CODE_RATTACHEMENT_AUTRE
      • <FICHE>.CODE_RATTACHEMENT_AUTRE

      Or, un format différent est utilisé pour représenter la liste de structures autres :

      • Pour une table de fiche : code1;code2
      • Pour la table METATAG : [code] [code2]

      Pour gérer cet écart, une conversion est réalisé ici : https://git.kosmos.fr/projects/KORE/repos/koreparent/browse/core/src/main/java/com/univ/datagrid/processus/FicheUnivDatagrid.java#114

      com.univ.datagrid.processus.FicheUnivDatagrid#instancierFicheUniv
      if (ficheUniv instanceof FicheRattachementsSecondaires) {
          ((FicheRattachementsSecondaires) ficheUniv).setCodeRattachementAutres(Chaine.convertirPointsVirgulesEnAccolades(meta.getMetaCodeRattachementAutres()));
      } 

       Elle ne fonctionne pas car le format attendu est code1;code2:

      com.univ.objetspartages.om.AutorisationBean#getStructuresPerimetreFiche(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
      final Enumeration<String> e = Chaine.getVecteurPointsVirgules(codeRattachementAutre).elements();
       

       

        Il n'y a aucune sous-tâche pour ce ticket.

            francois-xavier.lebastard François-xavier LEBASTARD [X] (Inactif)
            francois-xavier.lebastard François-xavier LEBASTARD [X] (Inactif)
            Votes:
            0 Voter pour ce ticket
            Gérer les observateurs:
            2 Démarre l'observation de ce ticket

              Création:
              Mise à jour:
              Résolue: