Commit 319b9404 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

WIP nouveau module rapport d'activite : le dir these peut declarer le rapport incomplet

parent 3f392265
Loading
Loading
Loading
Loading
+12 −10
Changes for module/RapportActivite/data/install_module_v2.sql: 12 added lines, 10 removed lines.
Original line number Diff line number Diff line
@@ -339,20 +339,21 @@ select t.id, v.id
from unicaen_avis_type t, unicaen_avis_valeur v
where t.code = 'AVIS_RAPPORT_ACTIVITE_DIR_THESE'
  and v.code in (
                 'AVIS_RAPPORT_ACTIVITE_VALEUR_INCOMPLET',
                 'AVIS_RAPPORT_ACTIVITE_VALEUR_POSITIF',
                 'AVIS_RAPPORT_ACTIVITE_VALEUR_NEGATIF'
    ) ;

-- insert into unicaen_avis_type_valeur_complem (avis_type_valeur_id, code, obligatoire_un_au_moins, type, libelle)
-- with tmp (code, oblig, type, libelle) as (
--     select 'PB_INFOS', false, 'information', 'Si l''avis est négatif, la balle retournera dans le camp du doctorant...'
-- )
-- select tv.id, concat(t.code,'__',v.code,'__',tmp.code), tmp.oblig, tmp.type, tmp.libelle
-- from tmp, unicaen_avis_type_valeur tv
-- join unicaen_avis_type t on t.id = tv.avis_type_id and t.code = 'AVIS_RAPPORT_ACTIVITE_DIR_THESE'
-- join unicaen_avis_valeur v on v.id = tv.avis_valeur_id and v.code in (
--     'AVIS_RAPPORT_ACTIVITE_VALEUR_NEGATIF'
-- ) ;
insert into unicaen_avis_type_valeur_complem (avis_type_valeur_id, code, obligatoire_un_au_moins, type, libelle)
with tmp (code, oblig, type, libelle) as (
    select 'PB_INFOS', false, 'information', 'Si le rapport est jugé incomplet, la balle retournera dans le camp du doctorant...'
)
select tv.id, concat(t.code,'__',v.code,'__',tmp.code), tmp.oblig, tmp.type, tmp.libelle
from tmp, unicaen_avis_type_valeur tv
              join unicaen_avis_type t on t.id = tv.avis_type_id and t.code = 'AVIS_RAPPORT_ACTIVITE_DIR_THESE'
              join unicaen_avis_valeur v on v.id = tv.avis_valeur_id and v.code in (
    'AVIS_RAPPORT_ACTIVITE_VALEUR_INCOMPLET'
    ) ;

insert into unicaen_avis_type_valeur_complem (avis_type_valeur_id, code, obligatoire_un_au_moins, type, libelle)
with tmp (code, oblig, type, libelle) as (
@@ -373,6 +374,7 @@ select tv.id, concat(t.code,'__',v.code,'__',tmp.code), tmp.oblig, tmp.type, tmp
from tmp, unicaen_avis_type_valeur tv
              join unicaen_avis_type t on t.id = tv.avis_type_id and t.code = 'AVIS_RAPPORT_ACTIVITE_DIR_THESE'
              join unicaen_avis_valeur v on v.id = tv.avis_valeur_id and v.code in (
                                                                                    'AVIS_RAPPORT_ACTIVITE_VALEUR_INCOMPLET',
                                                                                    'AVIS_RAPPORT_ACTIVITE_VALEUR_POSITIF',
                                                                                    'AVIS_RAPPORT_ACTIVITE_VALEUR_NEGATIF'
    ) ;
+4 −0
Changes for module/RapportActivite/src/RapportActivite/Config/ModuleConfig.php: 4 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -96,6 +96,10 @@ class ModuleConfig
                        "$rapportAlias.estFinContrat = false AND " .
                        "$rapportAlias.fichier is null";
                },
                'extra' => [
                    // Si un avis "rapport incomplet" est émis, on supprimera la validation doctorant.
                    'validation_doctorant_operation_name' => self::VALIDATION_DOCTORANT,
                ],
            ],
            /**
             * Avis du co-directeur de thèse.
+1 −0
Changes for module/RapportActivite/src/RapportActivite/Entity/Db/RapportActiviteAvis.php: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ class RapportActiviteAvis implements HistoriqueAwareInterface, ResourceInterface
    const AVIS_TYPE__CODE__AVIS_RAPPORT_ACTIVITE_DIR_ED = 'AVIS_RAPPORT_ACTIVITE_DIR_ED';

    // Codes des valeurs d'avis, issus de "UNICAEN_AVIS_VALEUR.CODE" :
    const AVIS_VALEUR__CODE__AVIS_RAPPORT_ACTIVITE_VALEUR_INCOMPLET = 'AVIS_RAPPORT_ACTIVITE_VALEUR_INCOMPLET';
    const AVIS_VALEUR__CODE__AVIS_RAPPORT_ACTIVITE_DIR_ED_VALEUR_INCOMPLET = 'AVIS_RAPPORT_ACTIVITE_DIR_ED_VALEUR_INCOMPLET';
    const AVIS_VALEUR__CODE__AVIS_RAPPORT_ACTIVITE_VALEUR_POSITIF = 'AVIS_RAPPORT_ACTIVITE_VALEUR_POSITIF';
    const AVIS_VALEUR__CODE__AVIS_RAPPORT_ACTIVITE_VALEUR_NEGATIF = 'AVIS_RAPPORT_ACTIVITE_VALEUR_NEGATIF';
+6 −4
Changes for module/RapportActivite/src/RapportActivite/Event/Avis/RapportActiviteAvisEventListener.php: 6 added lines, 4 removed lines.
Original line number Diff line number Diff line
@@ -60,8 +60,10 @@ class RapportActiviteAvisEventListener extends RapportActiviteOperationAbstractE
    private function handleSuppressionValidationDoctorant(): void
    {
        // Si un avis "rapport incomplet" est émis par la direction d'ED, on supprime la validation doctorant.
        if ($this->operationRealisee->getAvis()->getAvisValeur()->getCode() !==
            RapportActiviteAvis::AVIS_VALEUR__CODE__AVIS_RAPPORT_ACTIVITE_DIR_ED_VALEUR_INCOMPLET) {
        if (!in_array($this->operationRealisee->getAvis()->getAvisValeur()->getCode(), [
            RapportActiviteAvis::AVIS_VALEUR__CODE__AVIS_RAPPORT_ACTIVITE_VALEUR_INCOMPLET,
            RapportActiviteAvis::AVIS_VALEUR__CODE__AVIS_RAPPORT_ACTIVITE_DIR_ED_VALEUR_INCOMPLET,
        ])) {
            return;
        }

@@ -77,8 +79,8 @@ class RapportActiviteAvisEventListener extends RapportActiviteOperationAbstractE
            ));
        }

        $ripOperatioConfig = $this->rapportActiviteOperationRule->getConfigForOperationName($ripOperatioName);
        if (!$this->rapportActiviteOperationRule->isOperationEnabledForRapport($ripOperatioConfig, $rapportActivite)) {
        $ripOperationConfig = $this->rapportActiviteOperationRule->getConfigForOperationName($ripOperatioName);
        if (!$this->rapportActiviteOperationRule->isOperationEnabledForRapport($ripOperationConfig, $rapportActivite)) {
            // opération non activée pour ce rapport, rien à faire.
            return;
        }
+1 −0
Changes for module/UnicaenAvis/data/sql/schema.sql: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -83,6 +83,7 @@ create table unicaen_avis_type_valeur
create index unicaen_avis_type_valeur__idx on unicaen_avis_type_valeur (id);
create index unicaen_avis_type_valeur__unicaen_avis_type__idx on unicaen_avis_type_valeur (avis_type_id);
create index unicaen_avis_type_valeur__unicaen_avis_valeur__idx on unicaen_avis_type_valeur (avis_valeur_id);
create unique index unicaen_avis_type_valeur__uindex on unicaen_avis_type_valeur (avis_type_id, avis_valeur_id);

comment on table unicaen_avis_type_valeur is 'Valeurs d''avis autorisées par type d''avis';
comment on column unicaen_avis_type_valeur.avis_type_id is 'Identifiant du type d''avis concerné';