Uploaded image for project: 'Offre de formation'
  1. Offre de formation
  2. ODF-3674

Le calcul des droits en cas de mutualisation croisée ne fonctionne pas

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Critical Critical
    • 4.8.0
    • 4.8.0
    • None
    • None
    • 4.8.0 M11

      F1
       |-- P1
             |-- A1
                  |-- S1a
                        |-- ELP1
                               |-- ELP2
       |-- P2
             |-- A2
                  |-- S1b
                        |-- ELP1
                               |-- ELP2
      

      1er cas d'usage:

      • une ELP1 mutualisée est portée par une année A1
      • une ELP2 sous ELP1 est portée par une année A2
        A1 et A2 appartiennent à la même formation.
        Un utilisateur U1 est responsable MCC sur la formation.
        L'utilisateur n'a pas le droit sur ELP2 => KO

      Avec l'algo actuel:

      • ELP2 est porté par année A2 donc on récupère ses parents dans l'arborescence de A1 => ELP1
      • ELP1 est porté par année A1 qui ne fait pas partie de l'arbre A2 => refus du calcul des parents, retourne une liste de parent vide

      Autre cas d'usage:

      • une ELP1 mutualisée sans année porteuse identifiée (=> années porteuses multiples A1 et A2)
      • une ELP2 sous ELP1 est portée par une année A2
        A1 et A2 appartiennent à la même formation.
        Un utilisateur U1 est responsable MCC sur la formation.
        L'utilisateur n'a pas le droit sur ELP2 => KO

      Avec l'algo actuel:

      • ELP2 est porté par année A2 donc on récupère ses parents dans l'arborescence de A1 => ELP1
      • ELP1 a plusieurs années porteuses => impossible de déterminer les parents pour le calcul des droits, retourne une liste de parent vide

      Algo proposé:

      • Dès qu'une année porteuse est identifié, le calcul des parents se fait toujours dans la branche de cette année porteuse. Les années porteuses des ELPs parentes sont ignorées. De même si une ELP parente a plusieurs années porteuse, l'algo continue si une année porteuse a été identifiée

          [ODF-3674] Le calcul des droits en cas de mutualisation croisée ne fonctionne pas

          Laurence Aumeunier made changes -
          Status Original: Resolved [ 5 ] New: Closed [ 6 ]
          Laurence Aumeunier made changes -
          Resolution New: Fixed [ 1 ]
          Status Original: Code review OK [ 10206 ] New: Resolved [ 5 ]
          Magali Franchet made changes -
          Fix Version/s New: 4.8.0 [ 18045 ]
          Magali Franchet made changes -
          Affects Version/s New: 4.8.0 [ 18045 ]
          Cédric Damioli made changes -
          Status Original: Available for review [ 10005 ] New: Code review OK [ 10206 ]
          Laurence Aumeunier made changes -
          Attachment New: image-2024-05-15-19-17-23-838.png [ 29550 ]
          Laurence Aumeunier made changes -
          Assignee Original: Laurence Aumeunier [ laurence ]
          Laurence Aumeunier made changes -
          Status Original: Open [ 1 ] New: Available for review [ 10005 ]
          Laurence Aumeunier made changes -
          Link New: This issue Est référencé par ODF-3675 [ ODF-3675 ]
          Laurence Aumeunier made changes -
          Description Original: {noformat}
          F1
           |-- P1
                 |-- A1
                      |-- S1a
                            |-- ELP1
                                   |-- ELP2
           |-- P2
                 |-- A2
                      |-- S1b
                            |-- ELP1
                                   |-- ELP2
          {noformat}

          Le cas d'usage est le suivant:
          * une ELP1 mutualisée est portée par une année A1
          * une ELP2 sous ELP1 est portée par une année A2
          A1 et A2 appartiennent à la même formation.
          Un utilisateur U1 est responsable MCC sur la formation.
          L'utilisateur n'a pas le droit sur ELP2 => (x) *KO*

          Avec l'algo actuel:
          * ELP2 est porté par année A2 donc on récupère ses parents dans l'arborescence de A1 => ELP1
          * ELP1 est porté par année A1 qui ne fait pas partie de l'arbre A2 *=> refus du calcul des parents, retourne une liste de parent vide*

          Autre cas d'usage:
          * une ELP1 mutualisée sans année porteuse identifiée (=> années porteuses multiples A1 et A2)
          * une ELP2 sous ELP1 est portée par une année A2
          A1 et A2 appartiennent à la même formation.
          Un utilisateur U1 est responsable MCC sur la formation.
          L'utilisateur n'a pas le droit sur ELP2 => (x) *KO*

          Avec l'algo actuel:
          * ELP2 est porté par année A2 donc on récupère ses parents dans l'arborescence de A1 => ELP1
          * ELP1 a plusieurs années porteuses => *impossible de déterminer les parents pour le calcul des droits, retourne une liste de parent vide*

          Algo proposé:
          * Dès qu'une année porteuse est identifié, le calcul des parents se fait toujours dans la branche de cette année porteuse. Les années porteuses des ELPs parentes sont ignorées. De même si une ELP parente a plusieurs années porteuse, l'algo continue si une année porteuse a été identifiée
          New: {noformat}
          F1
           |-- P1
                 |-- A1
                      |-- S1a
                            |-- ELP1
                                   |-- ELP2
           |-- P2
                 |-- A2
                      |-- S1b
                            |-- ELP1
                                   |-- ELP2
          {noformat}
          +*1er cas d'usage:*+
           * une ELP1 mutualisée est portée par une année A1
           * une ELP2 sous ELP1 est portée par une année A2
          A1 et A2 appartiennent à la même formation.
          Un utilisateur U1 est responsable MCC sur la formation.
          L'utilisateur n'a pas le droit sur ELP2 => (x) *KO*

          *Avec l'algo actuel:*
           * ELP2 est porté par année A2 donc on récupère ses parents dans l'arborescence de A1 => ELP1
           * ELP1 est porté par année A1 qui ne fait pas partie de l'arbre A2 *=> refus du calcul des parents, retourne une liste de parent vide*

          +*Autre cas d'usage:*+
           * une ELP1 mutualisée sans année porteuse identifiée (=> années porteuses multiples A1 et A2)
           * une ELP2 sous ELP1 est portée par une année A2
          A1 et A2 appartiennent à la même formation.
          Un utilisateur U1 est responsable MCC sur la formation.
          L'utilisateur n'a pas le droit sur ELP2 => (x) *KO*

          *Avec l'algo actuel:*
           * ELP2 est porté par année A2 donc on récupère ses parents dans l'arborescence de A1 => ELP1
           * ELP1 a plusieurs années porteuses => *impossible de déterminer les parents pour le calcul des droits, retourne une liste de parent vide*

          +*Algo proposé:*+
           * Dès qu'une année porteuse est identifié, le calcul des parents se fait toujours dans la branche de cette année porteuse. Les années porteuses des ELPs parentes sont ignorées. De même si une ELP parente a plusieurs années porteuse, l'algo continue si une année porteuse a été identifiée

            Unassigned Unassigned
            laurence Laurence Aumeunier
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: