diff --git a/data/ose_schema.sql b/data/ose_schema.sql index eefdd81fb67dc4ac31de7dbbacc7d13bcdfd66eb..309ef26ecb22f2548564e4df708281b49affee5c 100644 --- a/data/ose_schema.sql +++ b/data/ose_schema.sql @@ -1,3 +1,26 @@ +create or replace view v_role_personnel as + select r.id, p.id personnel_id, p.NOM_USUEL, p.PRENOM, p.EMAIL, tr.id type_role_id, tr.CODE, tr.LIBELLE, s.id structure_id, s.LIBELLE_COURT, trpr.php_role_id + from ROLE r + inner join PERSONNEL p on r.PERSONNEL_ID = p.ID + inner join STRUCTURE s on r.STRUCTURE_ID = s.ID + inner join TYPE_ROLE tr on r.TYPE_ID = tr.ID + inner join TYPE_ROLE_PHP_ROLE trpr on r.TYPE_ID = trpr.TYPE_ROLE_ID + where s.STRUCTURE_NIV2_ID in ( + -- liste des ids des structures de niveau 2 qui possèdent, elles-mêmes ou l'une de leurs sous-structures, au moins 1 élément pédagogique + SELECT DISTINCT sniv2.ID + FROM STRUCTURE sniv2 + INNER JOIN STRUCTURE stmp ON (sniv2.ID = stmp.STRUCTURE_NIV2_ID) AND (stmp.HISTO_DESTRUCTION IS NULL AND stmp.HISTO_DESTRUCTEUR_ID IS NULL) + INNER JOIN ELEMENT_PEDAGOGIQUE ep ON (stmp.ID = ep.STRUCTURE_ID) AND (ep.HISTO_DESTRUCTION IS NULL AND ep.HISTO_DESTRUCTEUR_ID IS NULL) + WHERE (sniv2.HISTO_DESTRUCTION IS NULL AND sniv2.HISTO_DESTRUCTEUR_ID IS NULL) + ); + + + + + + + + CREATE TABLE "OSE"."DOSSIER" ( "ID" NUMBER(*,0) NOT NULL, diff --git a/data/sauv.sql b/data/sauv.sql index f86801ab8e19152f7d6f19f008c48471598f8234..d349f905b8d9320397972cfa5d02e5a2ed61da0b 100644 --- a/data/sauv.sql +++ b/data/sauv.sql @@ -1,4 +1,70 @@ +select 'insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, '||p.id||', '||s.id||');' from personnel p, structure s where p.source_code = '21255' and s.source_code = 'I11' union +select 'insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, '||p.id||', '||s.id||');' from personnel p, structure s where p.source_code = '26771' and s.source_code = 'I12' union +select 'insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, '||p.id||', '||s.id||');' from personnel p, structure s where p.source_code = '4173' and s.source_code = 'I13' union +select 'insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, '||p.id||', '||s.id||');' from personnel p, structure s where p.source_code = '65415' and s.source_code = 'M17' union +select 'insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, '||p.id||', '||s.id||');' from personnel p, structure s where p.source_code = '255' and s.source_code = 'M17' union +select 'insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, '||p.id||', '||s.id||');' from personnel p, structure s where p.source_code = '2489' and s.source_code = 'M17' union +select 'insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, '||p.id||', '||s.id||');' from personnel p, structure s where p.source_code = '63573' and s.source_code = 'M17' union +select 'insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, '||p.id||', '||s.id||');' from personnel p, structure s where p.source_code = '52917' and s.source_code = 'M17' union +select 'insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, '||p.id||', '||s.id||');' from personnel p, structure s where p.source_code = '4552' and s.source_code = 'U01' union +select 'insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, '||p.id||', '||s.id||');' from personnel p, structure s where p.source_code = '2311' and s.source_code = 'U02' union +select 'insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, '||p.id||', '||s.id||');' from personnel p, structure s where p.source_code = '5781' and s.source_code = 'U02' union +select 'insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, '||p.id||', '||s.id||');' from personnel p, structure s where p.source_code = '987' and s.source_code = 'U02' union +select 'insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, '||p.id||', '||s.id||');' from personnel p, structure s where p.source_code = '26902' and s.source_code = 'U02' union +select 'insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, '||p.id||', '||s.id||');' from personnel p, structure s where p.source_code = '26902' and s.source_code = 'U26' union +select 'insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, '||p.id||', '||s.id||');' from personnel p, structure s where p.source_code = '25236' and s.source_code = 'U03' union +select 'insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, '||p.id||', '||s.id||');' from personnel p, structure s where p.source_code = '25428' and s.source_code = 'U04' union +select 'insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, '||p.id||', '||s.id||');' from personnel p, structure s where p.source_code = '476' and s.source_code = 'U07' union +select 'insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, '||p.id||', '||s.id||');' from personnel p, structure s where p.source_code = '46070' and s.source_code = 'U09' union +select 'insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, '||p.id||', '||s.id||');' from personnel p, structure s where p.source_code = '154' and s.source_code = 'U10' union +select 'insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, '||p.id||', '||s.id||');' from personnel p, structure s where p.source_code = '5471' and s.source_code = 'U10' union +select 'insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, '||p.id||', '||s.id||');' from personnel p, structure s where p.source_code = '27' and s.source_code = 'U10' union +select 'insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, '||p.id||', '||s.id||');' from personnel p, structure s where p.source_code = '15139' and s.source_code = 'U10' union +select 'insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, '||p.id||', '||s.id||');' from personnel p, structure s where p.source_code = '26899' and s.source_code = 'U10' union +select 'insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, '||p.id||', '||s.id||');' from personnel p, structure s where p.source_code = '68179' and s.source_code = 'U26' union +select 'insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, '||p.id||', '||s.id||');' from personnel p, structure s where p.source_code = '4640' and s.source_code = 'U26' union +select 'insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, '||p.id||', '||s.id||');' from personnel p, structure s where p.source_code = '5177' and s.source_code = 'U26' union +select 'insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, '||p.id||', '||s.id||');' from personnel p, structure s where p.source_code = '4628' and s.source_code = 'U36' union +select 'insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, '||p.id||', '||s.id||');' from personnel p, structure s where p.source_code = '5170' and s.source_code = 'U36' union +select 'insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, '||p.id||', '||s.id||');' from personnel p, structure s where p.source_code = '63191' and s.source_code = 'U55' union +select 'insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, '||p.id||', '||s.id||');' from personnel p, structure s where p.source_code = '5378' and s.source_code = 'U55' +; + +insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, 1008, 8680); +insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, 1242, 8468); +insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, 1247, 8495); +insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, 1371, 8757); +insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, 1476, 8472); +insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, 1560, 8474); +insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, 1711, 8473); +insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, 2000, 8474); +insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, 2132, 8467); +insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, 221, 8529); +insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, 2515, 8498); +insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, 2599, 8529); +insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, 261, 8498); +insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, 2775, 8467); +insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, 2807, 8494); +insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, 2843, 8474); +insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, 297, 8467); +insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, 3004, 8469); +insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, 3199, 8474); +insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, 353, 8466); +insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, 357, 8529); +insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, 3766, 8493); +insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, 3853, 8467); +insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, 3853, 8529); +insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, 3866, 8498); +insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, 4030, 8498); +insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, 4057, 8474); +insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, 702, 8498); +insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, 800, 8757); +insert into role (ID , TYPE_ID , SOURCE_CODE , SOURCE_ID , HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, PERSONNEL_ID , STRUCTURE_ID) values (role_id_seq.nextval, 8, 10000+role_id_seq.currval, 2, 1, 1, 911, 8680); + + + + delete from TYPE_PIECE_JOINTE_STATUT; INSERT INTO TYPE_PIECE_JOINTE_STATUT (ID,TYPE_PIECE_JOINTE_ID,STATUT_INTERVENANT_ID,OBLIGATOIRE,SEUIL_HETD) VALUES ( diff --git a/doc/utilisateurs-ose.xls b/doc/utilisateurs-ose.xls index dda8e3840de7608cc29f50fbfff1661f6f2b5067..202f0abe1815b5ad0440790b5a571469fd303e03 100644 Binary files a/doc/utilisateurs-ose.xls and b/doc/utilisateurs-ose.xls differ diff --git a/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.VRolePersonnel.dcm.xml b/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.VRolePersonnel.dcm.xml new file mode 100644 index 0000000000000000000000000000000000000000..8298c865159ebb4e6b4da9f7c3a0d29478985ace --- /dev/null +++ b/module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.VRolePersonnel.dcm.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd"> + <entity name="Application\Entity\Db\VRolePersonnel" table="V_ROLE_PERSONNEL"> + <id name="id" type="integer" column="ID" /> + <field name="phpRoleId" type="string" column="PHP_ROLE_ID" length="64" nullable="false"/> + <many-to-one field="role" target-entity="Application\Entity\Db\Role"> + <join-columns> + <join-column name="ID" referenced-column-name="ID"/> + </join-columns> + </many-to-one> + <many-to-one field="structure" target-entity="Application\Entity\Db\Structure"> + <join-columns> + <join-column name="STRUCTURE_ID" referenced-column-name="ID"/> + </join-columns> + </many-to-one> + <many-to-one field="typeRole" target-entity="Application\Entity\Db\TypeRole"> + <join-columns> + <join-column name="TYPE_ROLE_ID" referenced-column-name="ID"/> + </join-columns> + </many-to-one> + <many-to-one field="personnel" target-entity="Application\Entity\Db\Personnel"> + <join-columns> + <join-column name="PERSONNEL_ID" referenced-column-name="ID"/> + </join-columns> + </many-to-one> + </entity> +</doctrine-mapping> diff --git a/module/Application/src/Application/Entity/Db/VRolePersonnel.php b/module/Application/src/Application/Entity/Db/VRolePersonnel.php new file mode 100644 index 0000000000000000000000000000000000000000..2614b7b828c24faa931c834d4d9a5609d3f26241 --- /dev/null +++ b/module/Application/src/Application/Entity/Db/VRolePersonnel.php @@ -0,0 +1,99 @@ +<?php + +namespace Application\Entity\Db; + +/** + * VRolePersonnel + */ +class VRolePersonnel +{ + /** + * @var integer + */ + protected $id; + + /** + * @var \Application\Entity\Db\Role + */ + protected $role; + + /** + * @var \Application\Entity\Db\Structure + */ + protected $structure; + + /** + * @var \Application\Entity\Db\TypeRole + */ + protected $typeRole; + + /** + * @var \Application\Entity\Db\Personnel + */ + protected $personnel; + + /** + * @var string + */ + protected $phpRoleId; + + /** + * Get id + * + * @return integer + */ + public function getId() + { + return $this->id; + } + + /** + * Get role + * + * @return \Application\Entity\Db\Role + */ + public function getRole() + { + return $this->role; + } + + /** + * Get structure + * + * @return \Application\Entity\Db\Structure + */ + public function getStructure() + { + return $this->structure; + } + + /** + * Get typeRole + * + * @return \Application\Entity\Db\TypeRoleVRolePersonnel + */ + public function getTypeRole() + { + return $this->typeRole; + } + + /** + * Get personnel + * + * @return \Application\Entity\Db\Personnel + */ + public function getPersonnel() + { + return $this->personnel; + } + + /** + * Get phpRoleId + * + * @return string + */ + public function getPhpRoleId() + { + return $this->phpRoleId; + } +} diff --git a/module/Application/src/Application/Provider/Role/RoleProvider.php b/module/Application/src/Application/Provider/Role/RoleProvider.php index 4667a37065fcee3882a516adae94df6113ab24b7..d61cfd774e7183bc749977dabad4426a654f018d 100644 --- a/module/Application/src/Application/Provider/Role/RoleProvider.php +++ b/module/Application/src/Application/Provider/Role/RoleProvider.php @@ -11,7 +11,6 @@ use Application\Acl\ComposanteRole; use Application\Acl\ComposanteDbRole; use Application\Entity\Db\Role as RoleEntity; use Application\Service\Role as RoleService; -use Application\Service\TypeRolePhpRole as TypeRolePhpRoleService; use Application\Service\RoleUtilisateur as RoleUtilisateurService; use Zend\Permissions\Acl\Role\GenericRole; @@ -37,19 +36,16 @@ class RoleProvider implements ProviderInterface /** * Constructeur. * - * @param TypeRolePhpRoleService $typeRolePhpRole * @param RoleService $serviceRole * @param RoleUtilisateurService $serviceRoleUtilisateur * @param array $config */ public function __construct( - TypeRolePhpRoleService $typeRolePhpRole, RoleService $serviceRole, RoleUtilisateurService $serviceRoleUtilisateur, $config = null) { $this - ->setServiceTypeRolePhpRole($typeRolePhpRole) ->setServiceRole($serviceRole) ->setServiceRoleUtilisateur($serviceRoleUtilisateur); @@ -76,14 +72,12 @@ class RoleProvider implements ProviderInterface // rôle père $roleComposante = new ComposanteRole(); // rôles métier (importés d'Harpege) correspondant au ROLE_ID PHP - $qb = $this->serviceTypeRolePhpRole->finderByPhpRole($roleComposante->getRoleId()); + $qb = $this->serviceRole->finderRolePersonnelByRole($roleComposante->getRoleId()); $rolesComposante = array(); - foreach ($qb->getQuery()->getResult() as $trpr) { /* @var $trpr \Application\Entity\Db\TypeRolePhpRole */ - $qb2 = $this->serviceRole->finderByTypeRole($trpr->getTypeRole()); - $qb2 = $this->serviceRole->finderByOffreFormationExistante($qb2); // la structure doit avoir une offre de formation - $rolesComposante += $this->serviceRole->getList($qb2); + foreach ($qb->getQuery()->getResult() as $vrp) { /* @var $vrp \Application\Entity\Db\VRolePersonnel */ + $rolesComposante[] = $vrp->getRole(); } - + /** * Rôles utilisateurs au sein de l'application (tables UTILISATEUR, ROLE_UTILISATEUR et ROLE_UTILISATEUR_LINKER) */ @@ -131,11 +125,6 @@ class RoleProvider implements ProviderInterface return new GenericRole($roleId); } - /** - * @var TypeRolePhpRoleService - */ - private $serviceTypeRolePhpRole; - /** * @var RoleService */ @@ -146,12 +135,6 @@ class RoleProvider implements ProviderInterface */ private $serviceRoleUtilisateur; - public function setServiceTypeRolePhpRole(TypeRolePhpRoleService $serviceTypeRolePhpRole) - { - $this->serviceTypeRolePhpRole = $serviceTypeRolePhpRole; - return $this; - } - public function setServiceRole(RoleService $serviceRole) { $this->serviceRole = $serviceRole; diff --git a/module/Application/src/Application/Provider/Role/RoleProviderFactory.php b/module/Application/src/Application/Provider/Role/RoleProviderFactory.php index 9b6992e2f7fb79548fe313bbbcded3a287c248d6..323e1f232b18d1af4712e9db2e4cae1a0da77abc 100644 --- a/module/Application/src/Application/Provider/Role/RoleProviderFactory.php +++ b/module/Application/src/Application/Provider/Role/RoleProviderFactory.php @@ -21,7 +21,6 @@ class RoleProviderFactory implements FactoryInterface */ public function createService(ServiceLocatorInterface $serviceLocator) { - $serviceTypeRolePhpRole = $serviceLocator->get('applicationTypeRolePhpRole'); /* @var $serviceTypeRolePhpRole \Application\Service\TypeRolePhpRole */ $serviceRole = $serviceLocator->get('applicationRole'); /* @var $serviceRole \Application\Service\Role */ $serviceUtilisateurRole = $serviceLocator->get('applicationRoleUtilisateur'); /* @var $serviceUtilisateurRole \Application\Service\RoleUtilisateur */ $config = $serviceLocator->get('BjyAuthorize\Config'); @@ -34,6 +33,6 @@ class RoleProviderFactory implements FactoryInterface $providerConfig = $config['role_providers']['ApplicationRoleProvider']; - return new RoleProvider($serviceTypeRolePhpRole, $serviceRole, $serviceUtilisateurRole, $providerConfig); + return new RoleProvider($serviceRole, $serviceUtilisateurRole, $providerConfig); } } \ No newline at end of file diff --git a/module/Application/src/Application/Service/Role.php b/module/Application/src/Application/Service/Role.php index f968169051e621c5c6d0a526da65aee322ec78ec..dcf2a5df0fc9bdf7112d6c5cc74a1ce8148ffb3c 100644 --- a/module/Application/src/Application/Service/Role.php +++ b/module/Application/src/Application/Service/Role.php @@ -70,28 +70,6 @@ class Role extends AbstractEntityService return $qb; } - /** - * - * @param QueryBuilder $qb - * @param string $alias - * @return QueryBuilder - */ - public function finderByOffreFormationExistante(QueryBuilder $qb = null, $alias = null) - { - list($qb, $alias) = $this->initQuery($qb, $alias); - - $qb - ->select("$alias, tr123, s") - ->distinct() - ->innerJoin('r.type', 'tr123') - ->innerJoin('r.structure', 's') - ->innerJoin('s.elementPedagogique', 'ep'); -// ->where('tr.code <> :code')->setParameter('code', 'IND') -// ->andWhere('s.niveau = :niv')->setParameter('niv', 2); - - return $qb; - } - /** * Retourne une liste d'entités en fonction du QueryBuilder donné * @@ -115,4 +93,26 @@ class Role extends AbstractEntityService return parent::getList($qb); } + + /** + * @param \Zend\Permissions\Acl\Role\RoleInterface|string $role + * @return QueryBuilder + */ + public function finderRolePersonnelByRole($role) + { + if ($role instanceof \Zend\Permissions\Acl\Role\RoleInterface) { + $role = $role->getRoleId(); + } + + $qb = $this->getEntityManager()->createQueryBuilder() + ->from("Application\Entity\Db\VRolePersonnel", "v") + ->select("v, tr, s, p") + ->join("v.typeRole", "tr") + ->join("v.structure", "s") + ->join("v.personnel", "p") + ->orderBy("v.structure, v.typeRole") + ->andWhere("v.phpRoleId = :roleId")->setParameter('roleId', $role); + + return $qb; + } } \ No newline at end of file