Commit b1931c9a authored by Thomas Hamel's avatar Thomas Hamel
Browse files

Retravail de la première version : structure bdd, affichage, page de config plus complète....

parent 829cd8bd
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -90,7 +90,8 @@ return [
        'SygalApiImpl',
        'Validation',
        'HDR',
        'Candidat'
        'Candidat',
        'RNCP'
    ],
    'module_listener_options' => [
        'config_glob_paths'    => [
+222 −8
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@
-- Gestion des fiches RNCP
--

create table formation_fiche_rncp
create table rncp_fiche
(
    id                    bigserial not null
        primary key,
@@ -10,6 +10,7 @@ create table formation_fiche_rncp
    titre                 varchar(255),
    description           text,
    date_echeance timestamp,

    histo_createur_id     bigint    not null REFERENCES utilisateur (id),
    histo_creation        timestamp default ('now'::text)::timestamp without time zone not null,
    histo_modificateur_id bigint REFERENCES utilisateur (id),
@@ -18,14 +19,33 @@ create table formation_fiche_rncp
    histo_destruction     timestamp
);

create table formation_formation_competence_rncp
create table rncp_bloc_competence
(
    id                    bigserial not null
        primary key,
    fiche_rncp_id         bigint references formation_fiche_rncp (id) ON DELETE CASCADE,
    fiche_rncp_id         bigint references rncp_fiche (id) ON DELETE CASCADE,
    code                  varchar(20),
    intitule              varchar(1024),
    description           text,
    ordre int,

    histo_createur_id     bigint    not null REFERENCES utilisateur (id),
    histo_creation        timestamp default ('now'::text)::timestamp without time zone not null,
    histo_modificateur_id bigint REFERENCES utilisateur (id),
    histo_modification    timestamp,
    histo_destructeur_id  bigint REFERENCES utilisateur (id),
    histo_destruction     timestamp
);

create table rncp_sous_competence
(
    id                    bigserial not null
        primary key,
    bloc_competence_id         bigint references rncp_bloc_competence (id) ON DELETE CASCADE,
    code                  varchar(20),
    intitule              varchar(1024),
    ordre int,

    histo_createur_id     bigint    not null REFERENCES utilisateur (id),
    histo_creation        timestamp default ('now'::text)::timestamp without time zone not null,
    histo_modificateur_id bigint REFERENCES utilisateur (id),
@@ -34,12 +54,21 @@ create table formation_formation_competence_rncp
    histo_destruction     timestamp
);

create table formation_formation_competence_rncp
create table rncp_sous_competence_relation
(
    id                    bigserial not null
        primary key,
    formation_id  bigint references formation_formation (id) ON DELETE CASCADE,
    competence_id bigint references formation_competence_rncp (id) ON DELETE CASCADE
    sous_competence_id         bigint references rncp_sous_competence (id) ON DELETE CASCADE,
    entite_type           varchar(50) not null,
    entite_id             bigint not null,

    histo_createur_id     bigint    not null REFERENCES utilisateur (id),
    histo_creation        timestamp default ('now'::text)::timestamp without time zone not null,
    histo_modificateur_id bigint REFERENCES utilisateur (id),
    histo_modification    timestamp,
    histo_destructeur_id  bigint REFERENCES utilisateur (id),
    histo_destruction     timestamp,
    UNIQUE (sous_competence_id, entite_type, entite_id)
);

--
@@ -71,6 +100,48 @@ from data
         join unicaen_privilege_privilege p on p.CATEGORIE_ID = cp.id and p.code = data.priv
where not exists (select * from PROFIL_PRIVILEGE where PRIVILEGE_ID = p.id and PROFIL_ID = profil.id);


INSERT INTO unicaen_privilege_categorie (ID, CODE, LIBELLE, ORDRE)
SELECT nextval('categorie_privilege_id_seq'),
       'rncp',
       'RNCP',
       5008 WHERE NOT EXISTS (SELECT 1
                               FROM unicaen_privilege_categorie
                               WHERE CODE = 'rncp');

INSERT INTO public.unicaen_privilege_privilege (categorie_id, code, libelle, ordre)
VALUES ((SELECT id FROM unicaen_privilege_categorie WHERE code = 'rncp'), 'ajouter-competence', 'Ajouter une compétence et/ou un bloc de compétences', 1);
INSERT INTO public.unicaen_privilege_privilege (categorie_id, code, libelle, ordre)
VALUES ((SELECT id FROM unicaen_privilege_categorie WHERE code = 'rncp'), 'modifier-competence', 'Modifier une compétence et/ou un bloc de compétences', 2);
INSERT INTO public.unicaen_privilege_privilege (categorie_id, code, libelle, ordre)
VALUES ((SELECT id FROM unicaen_privilege_categorie WHERE code = 'rncp'), 'historiser-competence', 'Historiser une compétence et/ou un bloc de compétences', 3);
INSERT INTO public.unicaen_privilege_privilege (categorie_id, code, libelle, ordre)
VALUES ((SELECT id FROM unicaen_privilege_categorie WHERE code = 'rncp'), 'restaurer-competence', 'Restaurer une compétence et/ou un bloc de compétences', 3);
INSERT INTO public.unicaen_privilege_privilege (categorie_id, code, libelle, ordre)
VALUES ((SELECT id FROM unicaen_privilege_categorie WHERE code = 'rncp'), 'supprimer-competence', 'Supprimer une compétence et/ou un bloc de compétences', 4);

INSERT INTO PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID)
with data(categ, priv) as (select 'rncp', 'ajouter-competence'
                           union
                           select 'rncp', 'modifier-competence'
                           union
                           select 'rncp', 'historiser-competence'
                           union
                           select 'rncp', 'restaurer-competence'
                           union
                           select 'rncp', 'supprimer-competence'
)
select p.id as PRIVILEGE_ID, profil.id as PROFIL_ID
from data
         join PROFIL on profil.ROLE_ID in (
                                           'ADMIN_TECH',
                                           'GEST_ED',
                                            'BDD'
    )
         join unicaen_privilege_categorie cp on cp.CODE = data.categ
         join unicaen_privilege_privilege p on p.CATEGORIE_ID = cp.id and p.code = data.priv
where not exists (select * from PROFIL_PRIVILEGE where PRIVILEGE_ID = p.id and PROFIL_ID = profil.id);

insert into ROLE_PRIVILEGE (ROLE_ID, PRIVILEGE_ID)
select p2r.ROLE_ID, pp.PRIVILEGE_ID
from PROFIL_TO_ROLE p2r
@@ -78,3 +149,146 @@ from PROFIL_TO_ROLE p2r
         join PROFIL_PRIVILEGE pp on pp.PROFIL_ID = pr.id
where not exists (select * from role_privilege where role_id = p2r.role_id and privilege_id = pp.privilege_id)
;

---
-- Données
---

INSERT INTO rncp_sous_competence (bloc_competence_id, code, intitule, ordre, histo_createur_id)
SELECT id, 'RNCP40525BC01-01',
       'Disposer d’une expertise scientifique tant générale que spécifique d’un domaine de recherche et de travail déterminé',1, 1
FROM rncp_bloc_competence WHERE code = 'RNCP40525BC01';
INSERT INTO rncp_sous_competence (bloc_competence_id, code, intitule, ordre, histo_createur_id)
SELECT id, 'RNCP40525BC01-02',
       'Mobiliser réflexivité et esprit critique dans les activités de recherche',2, 1
FROM rncp_bloc_competence WHERE code = 'RNCP40525BC01';
INSERT INTO rncp_sous_competence (bloc_competence_id, code, intitule, ordre, histo_createur_id)
SELECT id, 'RNCP40525BC01-03',
       'Faire le point sur l’état et les limites des savoirs dans le champ scientifique concerné',3, 1
FROM rncp_bloc_competence WHERE code = 'RNCP40525BC01';
INSERT INTO rncp_sous_competence (bloc_competence_id, code, intitule, ordre, histo_createur_id)
SELECT id, 'RNCP40525BC01-04',
       'Identifier les problématiques pour résoudre les questions scientifiques', 4,1
FROM rncp_bloc_competence WHERE code = 'RNCP40525BC01';
INSERT INTO rncp_sous_competence (bloc_competence_id, code, intitule, ordre, histo_createur_id)
SELECT id, 'RNCP40525BC01-05',
       'Identifier les possibilités de ruptures conceptuelles et méthodologiques', 5,1
FROM rncp_bloc_competence WHERE code = 'RNCP40525BC01';
INSERT INTO rncp_sous_competence (bloc_competence_id, code, intitule, ordre, histo_createur_id)
SELECT id, 'RNCP40525BC01-06',
       'Identifier les acteurs d’un secteur d’activité déterminé et positionner ses questionnements et ses démarches dans ce système d’acteurs', 6,1
FROM rncp_bloc_competence WHERE code = 'RNCP40525BC01';
INSERT INTO rncp_sous_competence (bloc_competence_id, code, intitule, ordre, histo_createur_id)
SELECT id, 'RNCP40525BC01-07',
       'Respecter les règles de déontologie et d’éthique en relation avec l’intégrité des travaux et les impacts potentiels sur les sociétés et les planètes',7, 1
FROM rncp_bloc_competence WHERE code = 'RNCP40525BC01';


INSERT INTO rncp_sous_competence (bloc_competence_id, code, intitule, ordre, histo_createur_id)
SELECT id, 'RNCP40525BC02-01',
       'Mettre en œuvre les méthodes et les outils de la recherche, le cas échéant en lien avec l’innovation',1, 1
FROM rncp_bloc_competence WHERE code = 'RNCP40525BC02';
INSERT INTO rncp_sous_competence (bloc_competence_id, code, intitule, ordre, histo_createur_id)
SELECT id, 'RNCP40525BC02-02',
       'Mettre en œuvre les principes, outils et démarches d’évaluation des coûts et de financement d’une démarche d’innovation ou de R&D',2, 1
FROM rncp_bloc_competence WHERE code = 'RNCP40525BC02';
INSERT INTO rncp_sous_competence (bloc_competence_id, code, intitule, ordre, histo_createur_id)
SELECT id, 'RNCP40525BC02-03',
       'Garantir la qualité et la validité des travaux ainsi que leur déontologie et leur confidentialité en mettant en œuvre les dispositifs de contrôle adaptés',3, 1
FROM rncp_bloc_competence WHERE code = 'RNCP40525BC02';
INSERT INTO rncp_sous_competence (bloc_competence_id, code, intitule, ordre, histo_createur_id)
SELECT id, 'RNCP40525BC02-04',
       'Gérer les ressources financières, humaines et temporelles des activités de recherche, de R&D, d’innovation', 4,1
FROM rncp_bloc_competence WHERE code = 'RNCP40525BC02';
INSERT INTO rncp_sous_competence (bloc_competence_id, code, intitule, ordre, histo_createur_id)
SELECT id, 'RNCP40525BC02-05',
       'Mettre en œuvre les facteurs d’engagement, de gestion des risques et d’autonomie nécessaires à la finalisation d’un projet de recherche, de R&D ou d’innovation',5, 1
FROM rncp_bloc_competence WHERE code = 'RNCP40525BC02';
INSERT INTO rncp_sous_competence (bloc_competence_id, code, intitule, ordre, histo_createur_id)
SELECT id, 'RNCP40525BC02-06',
       'Mettre en œuvre et gérer la conservation des données acquises pendant le projet dans le respect des normes en vigueur',6, 1
FROM rncp_bloc_competence WHERE code = 'RNCP40525BC02';
INSERT INTO rncp_sous_competence (bloc_competence_id, code, intitule, ordre, histo_createur_id)
SELECT id, 'RNCP40525BC02-07',
       'Apporter des contributions novatrices dans le cadre d’échanges de haut niveau, et dans des contextes internationaux',7, 1
FROM rncp_bloc_competence WHERE code = 'RNCP40525BC02';

INSERT INTO rncp_sous_competence (bloc_competence_id, code, intitule, ordre, histo_createur_id)
SELECT id, 'RNCP40525BC03-01',
       'Mettre en œuvre les procédures et/ou mécanismes et/ou modalités de transfert à des fins d’exploitation et de valorisation des résultats ou des produits dans des secteurs économiques ou sociaux',1, 1
FROM rncp_bloc_competence WHERE code = 'RNCP40525BC03';
INSERT INTO rncp_sous_competence (bloc_competence_id, code, intitule, ordre, histo_createur_id)
SELECT id, 'RNCP40525BC03-02',
       'Respecter les règles déontologiques de propriété intellectuelle ou industrielle liées à un secteur', 2,1
FROM rncp_bloc_competence WHERE code = 'RNCP40525BC03';
INSERT INTO rncp_sous_competence (bloc_competence_id, code, intitule, ordre, histo_createur_id)
SELECT id, 'RNCP40525BC03-03',
       'Mettre en œuvre l’ensemble des dispositifs de publication et/ou de brevet à l’échelle nationale ou internationale permettant de valoriser les savoirs et connaissances nouvelles', 3,1
FROM rncp_bloc_competence WHERE code = 'RNCP40525BC03';
INSERT INTO rncp_sous_competence (bloc_competence_id, code, intitule, ordre, histo_createur_id)
SELECT id, 'RNCP40525BC03-04',
       'Mobiliser les techniques de communication de données en « open data » et, plus généralement les principes de la science ouverte, pour valoriser des démarches et résultats',4, 1
FROM rncp_bloc_competence WHERE code = 'RNCP40525BC03';

INSERT INTO rncp_sous_competence (bloc_competence_id, code, intitule, ordre, histo_createur_id)
SELECT id, 'RNCP40525BC04-01',
       'Acquérir, synthétiser et analyser les données et les informations scientifiques et technologiques d’avant- garde à l’échelle internationale en développant un regard critique et distancié ', 1,1
FROM rncp_bloc_competence WHERE code = 'RNCP40525BC04';
INSERT INTO rncp_sous_competence (bloc_competence_id, code, intitule, ordre, histo_createur_id)
SELECT id, 'RNCP40525BC04-02',
       'Dépasser les frontières des données et du savoir disponibles par croisement avec différents champs de la connaissance ou d’autres secteurs professionnels',2, 1
FROM rncp_bloc_competence WHERE code = 'RNCP40525BC04';
INSERT INTO rncp_sous_competence (bloc_competence_id, code, intitule, ordre, histo_createur_id)
SELECT id, 'RNCP40525BC04-03',
       'Développer des réseaux de coopération scientifiques et professionnels à l’échelle internationale', 3,1
FROM rncp_bloc_competence WHERE code = 'RNCP40525BC04';
INSERT INTO rncp_sous_competence (bloc_competence_id, code, intitule, ordre, histo_createur_id)
SELECT id, 'RNCP40525BC04-04',
       'Se former et entretenir une culture scientifique de haut niveau en disposant de la curiosité, de l’adaptabilité et de l’ouverture nécessaires',4, 1
FROM rncp_bloc_competence WHERE code = 'RNCP40525BC04';
INSERT INTO rncp_sous_competence (bloc_competence_id, code, intitule, ordre, histo_createur_id)
SELECT id, 'RNCP40525BC04-05',
       'Mobiliser de façon avertie critique et éthique les nouvelles modalités de production de savoirs notamment par l’intelligence artificielle',5, 1
FROM rncp_bloc_competence WHERE code = 'RNCP40525BC04';

INSERT INTO rncp_sous_competence (bloc_competence_id, code, intitule, ordre, histo_createur_id)
SELECT id, 'RNCP40525BC05-01',
       'Rendre compte et communiquer en direction de publics différents les résultats de travaux à caractère scientifique, à l’écrit comme à l’oral', 1,1
FROM rncp_bloc_competence WHERE code = 'RNCP40525BC05';
INSERT INTO rncp_sous_competence (bloc_competence_id, code, intitule, ordre, histo_createur_id)
SELECT id, 'RNCP40525BC05-02',
       'Enseigner et former des publics diversifiés à des concepts, outils et méthodes avancés', 2,1
FROM rncp_bloc_competence WHERE code = 'RNCP40525BC05';
INSERT INTO rncp_sous_competence (bloc_competence_id, code, intitule, ordre, histo_createur_id)
SELECT id, 'RNCP40525BC05-03',
       'S’adapter à des publics diversifiés pour communiquer et promouvoir des concepts et démarches d’avant-garde ', 3,1
FROM rncp_bloc_competence WHERE code = 'RNCP40525BC05';
INSERT INTO rncp_sous_competence (bloc_competence_id, code, intitule, ordre, histo_createur_id)
SELECT id, 'RNCP40525BC05-04',
       'Valoriser la diversité des cultures scientifiques et construire des consensus d’usage pour faciliter la compréhension individuelle et collective', 4,1
FROM rncp_bloc_competence WHERE code = 'RNCP40525BC05';
INSERT INTO rncp_sous_competence (bloc_competence_id, code, intitule, ordre, histo_createur_id)
SELECT id, 'RNCP40525BC05-05',
       'Développer et entretenir des réseaux de coopération professionnelle nationaux et internationaux, interdisciplinaires et/ou intersectoriels',5, 1
FROM rncp_bloc_competence WHERE code = 'RNCP40525BC05';

INSERT INTO rncp_sous_competence (bloc_competence_id, code, intitule, ordre, histo_createur_id)
SELECT id, 'RNCP40525BC06-01',
       'Identifier les compétences nécessaires au sein d’une équipe', 1,1
FROM rncp_bloc_competence WHERE code = 'RNCP40525BC06';
INSERT INTO rncp_sous_competence (bloc_competence_id, code, intitule, ordre, histo_createur_id)
SELECT id, 'RNCP40525BC06-02',
       'Mettre en œuvre une équipe-projet', 2,1
FROM rncp_bloc_competence WHERE code = 'RNCP40525BC06';
INSERT INTO rncp_sous_competence (bloc_competence_id, code, intitule, ordre, histo_createur_id)
SELECT id, 'RNCP40525BC06-03',
       'Identifier les ressources clés pour une équipe et préparer les évolutions en termes de formation et de développement personnel',3, 1
FROM rncp_bloc_competence WHERE code = 'RNCP40525BC06';
INSERT INTO rncp_sous_competence (bloc_competence_id, code, intitule, ordre, histo_createur_id)
SELECT id, 'RNCP40525BC06-04',
       'Évaluer le travail des personnes et de l’équipe vis à vis des projets et objectifs', 4,1
FROM rncp_bloc_competence WHERE code = 'RNCP40525BC06';
INSERT INTO rncp_sous_competence (bloc_competence_id, code, intitule, ordre, histo_createur_id)
SELECT id, 'RNCP40525BC06-05',
       'Piloter et coordonner une équipe dans le cadre de tâches complexes ou interdisciplinaires pouvant mobiliser de multiples partenaires à l’échelle nationale ou internationale', 5,1
FROM rncp_bloc_competence WHERE code = 'RNCP40525BC06';
 No newline at end of file
+3 −2
Original line number Diff line number Diff line
@@ -9,7 +9,8 @@ use Doctorant\View\Helper\MissionEnseignementViewHelper;
use Feature\View\Helper\FeatureViewHelper;
use Fichier\Entity\Db\Fichier;
use Fichier\View\Helper\Fichier\FichierViewHelper;
use Formation\View\Helper\CompetenceRNCPViewHelper;
use RNCP\Entity\Db\SousCompetence;
use RNCP\View\Helper\SousCompetenceViewHelper;
use Horodatage\Entity\Db\Horodatage;
use Horodatage\Entity\Interfaces\HasHorodatagesInterface;
use Horodatage\View\Helper\DernierHorodatageViewHelper;
@@ -177,7 +178,7 @@ use UnicaenIdref\View\Helper\IdrefLinkViewHelper;
 * @method ActualiteViewHelper actualite()
 * @method StructureViewHelper structure(Structure|Etablissement|EcoleDoctorale|UniteRecherche $structure, bool $afficherLibelle = true, bool $sansOmbre = false, $options = [])
 * @method FichierViewHelper fichier(Fichier $object, string $urlTelechargementFichier, string $urlSuppressionFichier, bool $canGererFichier, string $libelleOptionnel = "", bool $voirHistoInfo = true, bool $canVoirSuppression = true, bool $isTargetBlank = false, array $options = [])
 * @method CompetenceRNCPViewHelper competence(CompetenceRNCPViewHelper $object, array $options = [])
 * @method SousCompetenceViewHelper sousCompetences(SousCompetence $object, array $options = [])
 * @method EtatViewHelper etatHelper(mixed $etat = null, int|null $resultat = null, string|null $resultatString = "", $options = [])
 * @method MissionEnseignementViewHelper missionEnseignement(MissionEnseignement $missionEnseignement, These $these, $options = [])
 * @method IdrefLinkViewHelper idrefLink(string $ppn)
+0 −2
Original line number Diff line number Diff line
@@ -13,7 +13,6 @@ use Formation\Service\Parametre\ParametreService;
use Formation\Service\Parametre\ParametreServiceFactory;
use Formation\Service\Url\UrlService;
use Formation\Service\Url\UrlServiceFactory;
use Formation\View\Helper\CompetenceRNCPViewHelper;
use Formation\View\Helper\EtatViewHelper;
use Formation\View\Helper\FormateursViewHelper;
use Formation\View\Helper\ModaliteViewHelper;
@@ -89,7 +88,6 @@ return array(
            'formateurs' => FormateursViewHelper::class,
            'sessionInscription' => SessionInscriptionViewHelper::class,
            'sessionLibelle' => SessionLibelleViewHelper::class,
            'competence' => CompetenceRNCPViewHelper::class,
        ]
    ],

+1 −9
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@ use Application\Export\Xlsx\Manager\XlsxExportManager;
use Application\Export\Xlsx\Manager\XlsxExportManagerFactory;
use Application\Export\Xlsx\Writer\ExcelDataTables\ExcelDataTablesXlsxWriter;
use Application\Navigation\ApplicationNavigationFactory;
use Fiche\FicheRNCPServiceFactory;
use Formation\Assertion\Formation\FormationAssertion;
use Formation\Assertion\Formation\FormationAssertionFactory;
use Formation\Controller\FormationController;
@@ -27,10 +28,6 @@ use Formation\Service\Formation\FormationService;
use Formation\Service\Formation\FormationServiceFactory;
use Formation\Service\Formation\Search\FormationSearchService;
use Formation\Service\Formation\Search\FormationSearchServiceFactory;
use Formation\Service\RNCP\Competence\CompetenceRNCPService;
use Formation\Service\RNCP\Competence\CompetenceRNCPServiceFactory;
use Formation\Service\RNCP\Fiche\FicheRNCPService;
use Formation\Service\RNCP\Fiche\FicheRNCPServiceFactory;
use Laminas\Router\Http\Literal;
use Laminas\Router\Http\Segment;
use UnicaenPrivilege\Guard\PrivilegeController;
@@ -379,10 +376,6 @@ return [
            XlsxExportManager::class => XlsxExportManagerFactory::class,
            FormationAssertion::class => FormationAssertionFactory::class,

            //RNCP
            CompetenceRNCPService::class => CompetenceRNCPServiceFactory::class,
            FicheRNCPService::class => FicheRNCPServiceFactory::class,

            FormationStatsXlsxExport::class => FormationStatsXlsxExportFactory::class,
            EnqueteDataProvider::class => EnqueteDataProviderFactory::class,
            EtablissementExplodeDataProcessor::class => EtablissementExplodeDataProcessorFactory::class,
@@ -404,5 +397,4 @@ return [
            FormationHydrator::class => FormationHydratorFactory::class,
        ],
    ]

];
 No newline at end of file
Loading