Commit c2911832 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

[FIX] Soutenance : correction des messages indiquant un jury invalide pour le...

[FIX] Soutenance : correction des messages indiquant un jury invalide pour le ratio de rang A et le ratio d'extérieurs.
parent fab0d265
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ Journal des modifications
- [FIX] Module HDR : désactivation du comptage des rapporteurs de rang B sans HDR (les gestionnaires vérifieront manuellement).
- [FIX] Le rôle Observateur Structure étais éjecté des pages Soutenances (thèses et HDR).
- [FIX] Soutenance : la révocation d'un avis de soutenance est impossible dès lors que le dossier de soutenance est passé à l'état 'Dossier complet'.
- [FIX] Soutenance : correction des messages indiquant un jury invalide pour le ratio de rang A et le ratio d'extérieurs.

10.2.1
------
+7 −15
Original line number Diff line number Diff line
@@ -93,7 +93,7 @@ class PropositionJuryRule implements RuleInterface
            $indicateurs["parité"]["valide"] = true;
        }

        /** entre 4 et 8 membres */
        /** Règle du genre "entre 4 et 8 membres" */
        $indicateurs["membre"] = ["Nombre" => $nbMembre, "Ratio" => ($nbMembre) ? $nbMembre / 10 : 0];

        if (!$forcerValidite && ($nbMembre < $membre_min || $nbMembre > $membre_max)) {
@@ -103,7 +103,7 @@ class PropositionJuryRule implements RuleInterface
            $indicateurs["membre"]["valide"] = true;
        }

        /** Au moins deux rapporteurs */
        /** Règle du genre "Au moins deux rapporteurs" */
        $indicateurs["rapporteur"] = ["Nombre" => $nbRapporteur, "Ratio" => ($nbMembre) ? $nbRapporteur / $nbMembre : 0];

        if (!$forcerValidite && $nbRapporteur < $rapporteur_min) {
@@ -113,35 +113,27 @@ class PropositionJuryRule implements RuleInterface
            $indicateurs["rapporteur"]["valide"] = true;
        }

        /** Au moins la motié du jury de rang A */
        /** Règle du genre "Au moins la motié du jury de rang A" */
        $ratioRangA = ($nbMembre) ? ($nbRangA / $nbMembre) : 0;
        $indicateurs["rang A"] = ["Nombre" => $nbRangA, "Ratio" => $ratioRangA];
        if (!$forcerValidite && ($ratioRangA < $rangA_min || !$nbMembre)) {
            $indicateurs["rang A"]["valide"] = false;
            if($ratioRangA === 0){
                $indicateurs["rang A"]["alerte"] = "Le nombre de membres de rang A doit représenter au moins la moitié du jury";
            }else{
                $indicateurs["rang A"]["alerte"] = "Le nombre de membres de rang A doit représenter au minimum " . ($ratioRangA * 100) . '%';
            }
            $indicateurs["rang A"]["alerte"] = "Le nombre de membres de rang A doit représenter au minimum " . ($rangA_min * 100) . '%';
        } else {
            $indicateurs["rang A"]["valide"] = true;
        }

        /** Au moins la motié du jury exterieur*/
        /** Règle du genre "Au moins la motié du jury exterieur" */
        $ratioExterieur = ($nbMembre) ? ($nbExterieur / $nbMembre) : 0;
        $indicateurs["exterieur"] = ["Nombre" => $nbExterieur, "Ratio" => $ratioExterieur];
        if (!$forcerValidite && ($ratioExterieur < $exterieur_min || !$nbMembre)) {
            $indicateurs["exterieur"]["valide"] = false;
            if($ratioExterieur === 0){
                $indicateurs["exterieur"]["alerte"] = "Le nombre de membres extérieurs doit représenter au moins la moitié du jury";
            }else{
                $indicateurs["exterieur"]["alerte"] = "Le nombre de membres extérieurs doit représenter au minimum " . ($ratioRangA * 100) . '%';
            }
            $indicateurs["exterieur"]["alerte"] = "Le nombre de membres extérieurs doit représenter au minimum " . ($exterieur_min * 100) . '%';
        } else {
            $indicateurs["exterieur"]["valide"] = true;
        }

        /** ratio minimum d'émérites */
        /** Règle du genre "ratio minimum d'émérites" */
        $ratioEmerites = $nbMembre ? ($nbEmerites / $nbMembre) : 0;
        $indicateurs["emerites"] = ["Nombre" => $nbEmerites, "Ratio" => $ratioEmerites];
        if (!$forcerValidite && $ratioEmerites > $emerites_max) {