mirror of
https://gitlab.easter-eggs.com/ee/ldapsaisie.git
synced 2024-12-18 14:33:49 +01:00
LSaddon :: supann : redesign and improve this addon
This commit is contained in:
parent
391018e492
commit
53ef8436d4
28 changed files with 4366 additions and 2874 deletions
|
@ -45,8 +45,41 @@ define('LS_SUPANN_ETABLISSEMENT_DN','supannCodeEntite=XXX,ou=structures,dc=univ,
|
||||||
// Exemple : 0753742K
|
// Exemple : 0753742K
|
||||||
define('LS_SUPANN_ETABLISSEMENT_UAI','0753742K');
|
define('LS_SUPANN_ETABLISSEMENT_UAI','0753742K');
|
||||||
|
|
||||||
// Table de données des roles generiques
|
/*
|
||||||
$GLOBALS['supannRoleGenerique'] = array (
|
* Nomenclatures SUPANN
|
||||||
|
*
|
||||||
|
* Tableau stockant les nomenclautures utilisées.
|
||||||
|
*
|
||||||
|
* Doc SUPANN :
|
||||||
|
* https://services.renater.fr/documentation/supann/2009/documentcomplet#nomenclatures
|
||||||
|
*
|
||||||
|
* $GLOBALS['supannNomenclatures'] = array (
|
||||||
|
* '[ETIQUETTE]' => array (
|
||||||
|
* '[table1] => array (
|
||||||
|
* '[key1]' => '[label1],
|
||||||
|
* '[key2]' => '[label2],
|
||||||
|
* [...]
|
||||||
|
* )
|
||||||
|
* ),
|
||||||
|
* );
|
||||||
|
*
|
||||||
|
* [ETIQUETTE] : l'étiquette de la valeur
|
||||||
|
* [table] : le nom de la table :
|
||||||
|
* - roleGenerique : les rôles génériques
|
||||||
|
* - typeEntite : les types d'entités
|
||||||
|
* - empCorps : les corps d'appartenances des personnels
|
||||||
|
* - codeEtablissement : les codes d'établissement
|
||||||
|
* - etuRegimeInscription : les régimes d'inscription étudiant
|
||||||
|
* - etuSecteurDisciplinaire : les secteurs disciplinaires de dîplomes ou d'enseignements
|
||||||
|
* - etuTypeDiplome : les types de diplôme
|
||||||
|
* - etuDiplome : les diplômes
|
||||||
|
* - etuEtape : les étapes des enseignements
|
||||||
|
* - etuElementPedagogique : les éléments pédagogiques
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
$GLOBALS['supannNomenclatures'] = array (
|
||||||
|
'SUPANN' => array (
|
||||||
|
'roleGenerique' => array (
|
||||||
"D00" => "MINISTRE",
|
"D00" => "MINISTRE",
|
||||||
"D01" => "DIRECTEUR DU CABINET",
|
"D01" => "DIRECTEUR DU CABINET",
|
||||||
"D02" => "DIRECTEUR ADJOINT DU CABINET",
|
"D02" => "DIRECTEUR ADJOINT DU CABINET",
|
||||||
|
@ -237,9 +270,8 @@ $GLOBALS['supannRoleGenerique'] = array (
|
||||||
"X70" => "ACMO H&S",
|
"X70" => "ACMO H&S",
|
||||||
"X71" => "Chargé de service de prévention H&S",
|
"X71" => "Chargé de service de prévention H&S",
|
||||||
"X80" => "Assesseur"
|
"X80" => "Assesseur"
|
||||||
);
|
),
|
||||||
|
'typeEntite' => array (
|
||||||
$GLOBALS['supannTypeEntite'] = array (
|
|
||||||
"C000" => "Bureau du président",
|
"C000" => "Bureau du président",
|
||||||
"C010" => "Groupement d'Intérêt Scientifique (GIS)",
|
"C010" => "Groupement d'Intérêt Scientifique (GIS)",
|
||||||
"C020" => "Aide à la conception de produits pédagogiques",
|
"C020" => "Aide à la conception de produits pédagogiques",
|
||||||
|
@ -329,25 +361,10 @@ $GLOBALS['supannTypeEntite'] = array (
|
||||||
"S312" => "Centre de recherche",
|
"S312" => "Centre de recherche",
|
||||||
"S330" => "Campus",
|
"S330" => "Campus",
|
||||||
"S340" => "Plate-forme de recherche ou plateau technique",
|
"S340" => "Plate-forme de recherche ou plateau technique",
|
||||||
);
|
|
||||||
|
|
||||||
// Table de tranduction des roles dans les entites
|
|
||||||
$GLOBALS['supannTranslateRoleEntiteValueDirectory'] = array(
|
|
||||||
"SUPANN" => array (
|
|
||||||
"role" => $GLOBALS['supannRoleGenerique'],
|
|
||||||
"type" => $GLOBALS['supannTypeEntite']
|
|
||||||
)
|
)
|
||||||
);
|
),
|
||||||
|
'UAI' => array (
|
||||||
// Table des fonctions de tranduction des roles dans les entites
|
'codeEtablissement' => array (
|
||||||
$GLOBALS['supannTranslateFunctionDirectory'] = array(
|
|
||||||
"no" => array(
|
|
||||||
"code" => "supanGetEntiteNameById"
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
// Table des code UAI
|
|
||||||
$GLOBALS['tableCodeUAI'] = array(
|
|
||||||
"0133774G" => "Ecole Centrale de Marseille",
|
"0133774G" => "Ecole Centrale de Marseille",
|
||||||
"0840985P" => "Ecole de Gestion et de Commerce d'Avignon",
|
"0840985P" => "Ecole de Gestion et de Commerce d'Avignon",
|
||||||
"0130230E" => "ECOLE DE L'AIR",
|
"0130230E" => "ECOLE DE L'AIR",
|
||||||
|
@ -707,9 +724,746 @@ $GLOBALS['tableCodeUAI'] = array(
|
||||||
"0911975C" => "UNIVERSITE EVRY VAL D ESSONNE",
|
"0911975C" => "UNIVERSITE EVRY VAL D ESSONNE",
|
||||||
"0921204J" => "UNIVERSITE PARIS 10",
|
"0921204J" => "UNIVERSITE PARIS 10",
|
||||||
"0911101C" => "UNIVERSITE PARIS 11",
|
"0911101C" => "UNIVERSITE PARIS 11",
|
||||||
|
)
|
||||||
|
),
|
||||||
|
'SISE' => array (
|
||||||
|
'etuRegimeInscription' => array (
|
||||||
|
'01' => "PARENTS ELEVANT 3 ENFANTS",
|
||||||
|
'02' => "SPORTIFS DE HAUT NIVEAU",
|
||||||
|
'03' => "CADRES PLUS DE 5 ANS",
|
||||||
|
'04' => "BAC +2 & 5 ANS PRATIQUE PROF",
|
||||||
|
'09' => "AUTRES DISPENSES",
|
||||||
|
'10' => "FORMATION INITIALE HORS APPRENTISSAGE",
|
||||||
|
'11' => "REPRISE ETUDES NON FINANCEE SANS CONV",
|
||||||
|
'12' => "CONTRAT APPRENTISSAGE",
|
||||||
|
'20' => "FORMATION CONTINUE HORS CONTRAT PROF",
|
||||||
|
'21' => "FORMATION CONTINUE DIPLOMANTE",
|
||||||
|
'22' => "CONTRAT DE PROFESSIONNALISATION",
|
||||||
|
'51' => "PARENTS AYANT 3 ENFANTS",
|
||||||
|
'52' => "SPORTIFS HAUT NIVEAU",
|
||||||
|
'53' => "CADRES PLUS DE 5 ANS",
|
||||||
|
'54' => "BAC+2 ET 5A PRATIQUE PROFESSIONNELLE",
|
||||||
|
'55' => "BAC PROFESSIONNEL ET 7A PRTIQUE PROF",
|
||||||
|
'56' => "CAP-BEP ET 8A PRATIQUE PROFESSIONNELLE",
|
||||||
|
'57' => "CONTRAT DRT PRIV +5A ANCIEN (3 CONCOURS)",
|
||||||
|
'59' => "AUTRES DISPENSES",
|
||||||
|
'61' => "FORM PERMANENTE - FEMMES ELEVANT 3 ENFTS",
|
||||||
|
'62' => "FORM PERMANENTE - SPORTIFS HAUT NIVEAU",
|
||||||
|
'63' => "FORM PERMANENTE - CADRES PLUS DE 5 ANS",
|
||||||
|
'64' => "FORM PERMANENTE - BAC+2 & 5A PRAT PROF",
|
||||||
|
'69' => "FORM PERMANENTE - AUTRES DISPENSES",
|
||||||
|
'71' => "FORM CONTINUE - FEMMES ELEVANT 3 ENFTS",
|
||||||
|
'72' => "FORM CONTINUE - SPORTIFS HAUT NIVEAU",
|
||||||
|
'73' => "FORM CONTINUE - CADRES PLUS DE 5 ANS",
|
||||||
|
'74' => "FORM CONTINUE - BAC+2 & 5A PRAT PROF",
|
||||||
|
'79' => "FORM CONTINUE - AUTRES DISPENSES",
|
||||||
|
'90' => "STAGIAIRES EN SITUATION",
|
||||||
|
),
|
||||||
|
'etuSecteurDisciplinaire' => array (
|
||||||
|
'01' => "MATHEMATIQUES",
|
||||||
|
'02' => "PHYSIQUE",
|
||||||
|
'03' => "CHIMIE",
|
||||||
|
'04' => "MATHEMATIQUES APPLIQUEES ET SCIENCES SOCIALES (M.A.S.S.)",
|
||||||
|
'05' => "SCIENCES DE L'UNIVERS",
|
||||||
|
'06' => "SCIENCES DE LA VIE",
|
||||||
|
'07' => "MEDECINE",
|
||||||
|
'08' => "ODONTOLOGIE",
|
||||||
|
'09' => "PHARMACIE",
|
||||||
|
'10' => "S.T.A.P.S.",
|
||||||
|
'11' => "MECANIQUE, GENIE MECANIQUE",
|
||||||
|
'12' => "GENIE CIVIL",
|
||||||
|
'13' => "GENIE DES PROCEDES",
|
||||||
|
'14' => "INFORMATIQUE",
|
||||||
|
'15' => "ELECTRONIQUE, GENIE ELECTRIQUE",
|
||||||
|
'16' => "SCIENCES ET TECHNOLOGIE INDUSTRIELLES",
|
||||||
|
'17' => "SCIENCES DU LANGAGE - LINGUISTIQUE",
|
||||||
|
'18' => "LANGUES ET LITTERATURES ANCIENNES",
|
||||||
|
'19' => "LANGUES ET LITTERATURES FRANCAISES",
|
||||||
|
'20' => "LITTERATURE GENERALE ET COMPAREE",
|
||||||
|
'21' => "ARTS",
|
||||||
|
'22' => "FRANCAIS, LANGUE ETRANGERE",
|
||||||
|
'23' => "LANGUES ET LITTERATURES ETRANGERES",
|
||||||
|
'24' => "LANGUES ETRANGERES APPLIQUEES",
|
||||||
|
'25' => "CULTURES ET LANGUES REGIONALES",
|
||||||
|
'26' => "PHILOSOPHIE, EPISTEMOLOGIE",
|
||||||
|
'27' => "HISTOIRE",
|
||||||
|
'28' => "GEOGRAPHIE",
|
||||||
|
'29' => "AMENAGEMENT",
|
||||||
|
'30' => "ARCHEOLOGIE, ETHNOLOGIE, PREHISTOIRE",
|
||||||
|
'31' => "SCIENCES RELIGIEUSES",
|
||||||
|
'32' => "PSYCHOLOGIE",
|
||||||
|
'33' => "SOCIOLOGIE, DEMOGRAPHIE",
|
||||||
|
'34' => "SCIENCES DE L'EDUCATION",
|
||||||
|
'35' => "SCIENCES DE L'INFORMATION ET LA COMMUNICATION",
|
||||||
|
'36' => "SCIENCES JURIDIQUES",
|
||||||
|
'37' => "SCIENCES POLITIQUES",
|
||||||
|
'38' => "SCIENCES ECONOMIQUES",
|
||||||
|
'39' => "SCIENCES DE GESTION",
|
||||||
|
'40' => "ADMINISTRATION ECONOMIQUE ET SOCIALE (A.E.S.)",
|
||||||
|
'41' => "FORMATION GENERALE AUX METIERS DE L'INGENIEUR",
|
||||||
|
'42' => "MATHEMATIQUE ET INFORMATIQUE",
|
||||||
|
'43' => "PHYSIQUE ET CHIMIE",
|
||||||
|
'50' => "THEOLOGIE CATHOLIQUE",
|
||||||
|
'61' => "PLURI DROIT - SCIENCES POLITIQUES",
|
||||||
|
'62' => "PLURI SCIENCES ECONOMIQUES ET GESTION",
|
||||||
|
'63' => "PLURI DROIT - SCIENCES ECONOMIQUES - AES",
|
||||||
|
'64' => "PLURI LETTRES - SCIENCES DU LANGAGE - ARTS",
|
||||||
|
'65' => "PLURI LANGUES",
|
||||||
|
'66' => "PLURI SCIENCES HUMAINES ET SOCIALES",
|
||||||
|
'67' => "PLURI LETTRES - LANGUES - SC HUMAINES",
|
||||||
|
'68' => "PLURI SCIENCES FONDAMENTALES ET APPLICATIONS",
|
||||||
|
'69' => "PLURI SC DE LA VIE, DE LA SANTE, DE LA TERRE ET DE L'UNIVERS",
|
||||||
|
'70' => "PLURI SCIENCES",
|
||||||
|
'71' => "PLURI SANTE",
|
||||||
|
'80' => "VETERINAIRE",
|
||||||
|
'90' => "INTERDISCIPLINAIRE",
|
||||||
|
'AA' => "En attente d'attribution",
|
||||||
|
'-' => "SANS OBJET",
|
||||||
|
),
|
||||||
|
'etuTypeDiplome' => array (
|
||||||
|
'01' => "DIPLOME UNIVERSITE GENERIQUE",
|
||||||
|
'02' => "CERTIFICAT D'ECOLE",
|
||||||
|
'03' => "HABILITATION A DIRIGER DES RECHERCHES",
|
||||||
|
'04' => "DU TYPE DOCTORAT (INST CATHOLIQUES)",
|
||||||
|
'05' => "DIPLOME INTERNATIONAL",
|
||||||
|
'06' => "POST-DUT",
|
||||||
|
'07' => "MASTERE SPECIALISE",
|
||||||
|
'08' => "MASTERS OF",
|
||||||
|
'09' => "AUTRES DIPLOMES",
|
||||||
|
'AC' => "CAPACITE EN DROIT",
|
||||||
|
'CA' => "DEUG RENOVE",
|
||||||
|
'CB' => "DUT",
|
||||||
|
'CC' => "DEUG",
|
||||||
|
'CD' => "DEUST",
|
||||||
|
'CI' => "DEUST IUP",
|
||||||
|
'CJ' => "DEUP",
|
||||||
|
'CK' => "DEUG IUP",
|
||||||
|
'CL' => "DIPLOME NAT DE TECHN SPECIAL (DNTS)",
|
||||||
|
'CP' => "DEUG INTERMEDIAIRE LMD",
|
||||||
|
'CX' => "PREMIER CYCLE DES ETUDES MEDICALES PCEM",
|
||||||
|
'CY' => "1ERE ANNEE COMMUNE AUX ETUDES DE SANTE",
|
||||||
|
'CZ' => "DIPLOME DE FORMATION GENERALE SANTE",
|
||||||
|
'DA' => "LICENCE RENOVEE",
|
||||||
|
'DB' => "LIC BI-DISCIPLINAIRE",
|
||||||
|
'DC' => "LICENCE",
|
||||||
|
'DJ' => "LICENCE IUP",
|
||||||
|
'DK' => "PREPARATION CAPEPS",
|
||||||
|
'DP' => "LICENCE PROFESSIONNELLE",
|
||||||
|
'DU' => "PREPARATION CPE",
|
||||||
|
'DV' => "PREPARATION CRPE",
|
||||||
|
'DW' => "PREPARATION CAPES",
|
||||||
|
'DX' => "PREPARATION CAPLP",
|
||||||
|
'DY' => "PREPARATION CAPET",
|
||||||
|
'DZ' => "PREPARATION CAPES",
|
||||||
|
'EA' => "MAITRISE RENOVEE",
|
||||||
|
'EB' => "MAITRISE BI-DISCIPLINAIRE",
|
||||||
|
'EC' => "MAITRISE",
|
||||||
|
'ED' => "MST",
|
||||||
|
'EE' => "MAITRISE DE SCIENCES ET GESTION (MSG)",
|
||||||
|
'EF' => "MAIT. INFOR. APPL. GESTION ENTR. (MIAGE)",
|
||||||
|
'EJ' => "MAITRISE IUP",
|
||||||
|
'EK' => "CERTIFICATION CAPEPS",
|
||||||
|
'EL' => "MSBM - C1",
|
||||||
|
'EM' => "MSBM - C2",
|
||||||
|
'EN' => "MAITRISE DE SCIENCES BIOL. ET MEDICALE",
|
||||||
|
'EP' => "MAITRISE INTERMEDIAIRE LMD",
|
||||||
|
'ER' => "DIP PREP RECH BIOMEDICALE (DPRB) - C1",
|
||||||
|
'ES' => "PREPARATION SPECIALISATION ENS TITULAIRE",
|
||||||
|
'ET' => "CERTIFICATION AGREGATION",
|
||||||
|
'EU' => "CERTIFICATION CPE",
|
||||||
|
'EV' => "CERTIFICATION CRPE",
|
||||||
|
'EW' => "CERTIFICATION CAPES",
|
||||||
|
'EX' => "CERTIFICATION CAPLP",
|
||||||
|
'EY' => "CERTIFICATION CAPET",
|
||||||
|
'EZ' => "PREPARATION AGREGATION",
|
||||||
|
'FC' => "DIPLOME D'ETUDE APPROFONDIE (DEA)",
|
||||||
|
'FD' => "DESS",
|
||||||
|
'FE' => "MAGISTERE",
|
||||||
|
'FF' => "DIPLOME DE RECHERCHE TECHNOLOGIQUE (DRT)",
|
||||||
|
'FH' => "DE DOCTEUR EN PHARMACIE",
|
||||||
|
'FI' => "FORMATION D'INGENIEUR CLASSIQUE",
|
||||||
|
'FJ' => "DE DOCTEUR EN CHIRURGIE DENTAIRE",
|
||||||
|
'FK' => "DIPL FIN 2 CYCLE ETUDES PHARMACEUTIQUES",
|
||||||
|
'FL' => "DIPL FIN 2 CYCLE ETUDES ODONTOLOGIQUES",
|
||||||
|
'FM' => "DIPLÔME INGENIEUR CONJOINT",
|
||||||
|
'FN' => "FORM D'INGENIEUR EN PARTENARIAT(EX NFI)",
|
||||||
|
'FX' => "DEUX. CYCLE DES ETUDES MEDICALES (DCEM)",
|
||||||
|
'GD' => "DE DOCTEUR EN PHARMACIE",
|
||||||
|
'GF' => "CES (CHIR. DENT. A)",
|
||||||
|
'GG' => "CES CHIRURGIE DENTAIRE",
|
||||||
|
'HH' => "CES (CHIR. DENT.B)",
|
||||||
|
'IB' => "DE DOCTEUR EN MEDECINE",
|
||||||
|
'IC' => "DIPL FIN 2 CYCLE ETUDES MEDICALES",
|
||||||
|
'IX' => "QUALIFICATION MEDECINE GENERALE",
|
||||||
|
'JB' => "C.E.C.S.M.O.",
|
||||||
|
'JC' => "DES PHARMACIE",
|
||||||
|
'JD' => "DES MEDECINE",
|
||||||
|
'JF' => "DES ODONTOLOGIE",
|
||||||
|
'KG' => "CAPACITE MEDECINE",
|
||||||
|
'LP' => "LICENCE PLURIDISCIPLINAIRE",
|
||||||
|
'MA' => "DESC MEDECINE GROUPE 1",
|
||||||
|
'MB' => "DESC MEDECINE GROUPE 2",
|
||||||
|
'MC' => "DESC MEDECINE",
|
||||||
|
'MD' => "DESC BIOLOGIE MEDICALE",
|
||||||
|
'NA' => "AUTRES DIPL. NATIONAUX NIV. FORM. BAC",
|
||||||
|
'NB' => "AUTRES DIPL. NATIONAUX NIV. FORM. BAC+1",
|
||||||
|
'NC' => "AUTRES DIPL. NATIONAUX NIV. FORM. BAC+2",
|
||||||
|
'ND' => "AUTRES DIPL. NATIONAUX NIV. FORM. BAC+3",
|
||||||
|
'NE' => "AUTRES DIPL. NATIONAUX NIV. FORM. BAC+4",
|
||||||
|
'NF' => "AUTRES DIPL. NATIONAUX NIV. FORM. BAC+5",
|
||||||
|
'PA' => "CERTIFICAT CAPACITE ORTHOPHONISTE",
|
||||||
|
'PB' => "CERTIFICAT CAPACITE ORTHOPTISTE",
|
||||||
|
'PC' => "DIPLOME D'ETAT AUDIO-PROTHESISTE",
|
||||||
|
'PD' => "DIPLOME D'ETAT PSYCHOMOTRICIEN",
|
||||||
|
'PE' => "DIPLOME D'ETAT SAGE-FEMME",
|
||||||
|
'PF' => "DIPL ETAT DE MASSEUR-KINESATHERAPEUTE",
|
||||||
|
'PG' => "DIPLOME ETAT ERGOTHERAPEUTE",
|
||||||
|
'PH' => "DIPLOME ETAT TECHN ANALYSES BIOMEDICALES",
|
||||||
|
'PJ' => "DIPLÔME D'ETAT INFIRMIER",
|
||||||
|
'PK' => "DIPL ETAT MANIPULATEUR ELECTRADIOL MEDIC",
|
||||||
|
'RA' => "DIPLOME VISE NIVEAU BAC+5 GRADE MASTER",
|
||||||
|
'RB' => "DIPLOME VISE NIVEAU BAC+5",
|
||||||
|
'RC' => "DIPLOME VISE NIVEAU BAC+4",
|
||||||
|
'RD' => "DIPLOME VISE NIVEAU BAC+3",
|
||||||
|
'RE' => "DIPLOME VISE NIVEAU BAC+2",
|
||||||
|
'RF' => "CYCLE PREPARATOIRE MANAGEMENT",
|
||||||
|
'SA' => "DOCTORAT VETERINAIRE",
|
||||||
|
'SB' => "DIPL ETUDES FONDAMENTALES VETERINAIRES",
|
||||||
|
'SC' => "INTERNAT VETERINAIRE",
|
||||||
|
'SD' => "DIPL ETUDES SPECIALISEES VETERINAIRES",
|
||||||
|
'SE' => "CERTIF ETUDES APPROFONDIES VETERINAIRES",
|
||||||
|
'TA' => "BAC CANONIQUE THEOLOGIE",
|
||||||
|
'TB' => "LIC CANONIQUE THEOLOGIE",
|
||||||
|
'TC' => "DOCT CANONIQUE THEOLOGIE",
|
||||||
|
'TD' => "BAC CANONIQUE PHILOSOPHIE",
|
||||||
|
'TE' => "LIC CANONIQUE PHILOSOPHIE",
|
||||||
|
'TF' => "DOCT CANONIQUE PHILOSOPHIE",
|
||||||
|
'TG' => "LIC CANONIQUE DROIT CANONIQUE",
|
||||||
|
'TH' => "DOCT CANONIQUE DROIT CANONIQUE",
|
||||||
|
'TJ' => "BAC CANONIQUE SCIENCES SOCIALES",
|
||||||
|
'TK' => "LIC CANONIQUE SCIENCES SOCIALES",
|
||||||
|
'TL' => "DOCT CANONIQUE SCIENCES SOCIALES",
|
||||||
|
'TM' => "BAC CANONIQUE DROIT CANONIQUE",
|
||||||
|
'TN' => "CERTIFICAT EN THEOLOGIE",
|
||||||
|
'TP' => "MASTER CANONIQUE",
|
||||||
|
'UA' => "DIPLOME UNIV OU ETAB NIVEAU BAC",
|
||||||
|
'UB' => "DIPLOME UNIV OU ETAB NIVEAU BAC + 1",
|
||||||
|
'UC' => "DIPLOME UNIV OU ETAB NIVEAU BAC + 2",
|
||||||
|
'UD' => "DIPLOME UNIV OU ETAB NIVEAU BAC + 3",
|
||||||
|
'UE' => "DIPLOME UNIV OU ETAB NIVEAU BAC + 4",
|
||||||
|
'UF' => "DIPLOME UNIV OU ETAB NIVEAU BAC + 5",
|
||||||
|
'UR' => "MASTERS DAUPHINE",
|
||||||
|
'US' => "DIPLOME EPHE",
|
||||||
|
'UT' => "DIPLOME ENS",
|
||||||
|
'UU' => "DIPLOME EHESS",
|
||||||
|
'UV' => "DIPLOME ENSAE",
|
||||||
|
'UW' => "DIPLOME PARIS-DAUPHINE CYCLE1",
|
||||||
|
'UX' => "DIPLOME INSTITUT ETUDES POLITIQUES",
|
||||||
|
'UY' => "CERTIFICAT ETUDES JUDICIAIRES",
|
||||||
|
'UZ' => "DIPLOME COMMERCE",
|
||||||
|
'VA' => "CONCOURS ADMINISTRATIF NIV. FORM. BAC",
|
||||||
|
'VB' => "CONCOURS ADMINISTRATIF NIV. FORM. BAC+1",
|
||||||
|
'VC' => "CONCOURS ADMINISTRATIF NIV. FORM. BAC+2",
|
||||||
|
'VD' => "CONCOURS ADMINISTRATIF NIV. FORM. BAC+3",
|
||||||
|
'VE' => "CONCOURS ADMINISTRATIF NIV. FORM. BAC+4",
|
||||||
|
'VF' => "PREPARATION CONCOURS ENSEIGNEMENT",
|
||||||
|
'WA' => "DIPLOME PAR LE GOUVERNEMENT",
|
||||||
|
'WB' => "DIPLÔME ARCHITECTE DE L'INSA",
|
||||||
|
'XA' => "LICENCE (LMD)",
|
||||||
|
'XB' => "MASTER (LMD)",
|
||||||
|
'XC' => "MASTER INGENIEUR",
|
||||||
|
'XD' => "MASTER ENSEIGNEMENT",
|
||||||
|
'XE' => "CPGE INTEGREE UNIVERSITES",
|
||||||
|
'XF' => "DU FORMATION ADAPTEE ENSEIGNEMENT",
|
||||||
|
'YA' => "DOCTORAT D'UNIVERSITE",
|
||||||
|
'YB' => "DOCTORAT D'UNIVERSITE (GENERIQUE)",
|
||||||
|
'YI' => "FORMATION INGENIEUR SPECIALISE",
|
||||||
|
'YJ' => "DIS MEDECINE",
|
||||||
|
'YL' => "DIS PHARMACIE",
|
||||||
|
'YM' => "ATTEST. FORMATION SPECIALISEE (AFS)",
|
||||||
|
'YN' => "ATTEST. FORM. SPECIALISEE APPROF. (AFSA)",
|
||||||
|
'YP' => "ATTESTATION ETUDES APPROF. CH. DENTAIRE",
|
||||||
|
'YQ' => "DIPLOME FORMATION MEDICALE SPECIALISEE",
|
||||||
|
'YR' => "DIPL FORM MEDICALE SPECIAL APPROFONDIE",
|
||||||
|
'ZA' => "DIPLOME PREP AUX ETUDES COMPTABLES",
|
||||||
|
'ZB' => "DIPLOME ETUDES COMPTABLES",
|
||||||
|
'ZC' => "DIPLOME SUPERIEUR ETUDES COMPTABLES",
|
||||||
|
'ZD' => "DIPLOME NATIONAL D'OENOLOGIE",
|
||||||
|
'ZE' => "CERT APTITUDE ENSEIG SPECIALISE (UNIV)",
|
||||||
|
'ZF' => "DIPLOME COMPTABILITE ET DE GESTION",
|
||||||
|
'ZG' => "DIPL SUP COMPTABILITE ET DE GESTION",
|
||||||
|
'ZH' => "CERTIFICATS DE COMPETENCES",
|
||||||
|
)
|
||||||
|
),
|
||||||
|
'NCORPS' => array (
|
||||||
|
'empCorps' => array (
|
||||||
|
'002' => "PERSONNEL DIRECTION DE 1ERE CATEGORIE",
|
||||||
|
'003' => "PERSONNEL DIRECTION DE 2EME CATEGORIE",
|
||||||
|
'004' => "PERSONNEL DE DIRECTION",
|
||||||
|
'006' => "DIRECTEUR DE CROUS",
|
||||||
|
'007' => "DIRECTEUR DE CLOUS",
|
||||||
|
'008' => "DIRECTEUR DE CRDP",
|
||||||
|
'009' => "PRESIDENT DU CONSEIL DE L'AERES",
|
||||||
|
'010' => "DIRECTEUR D'EPN",
|
||||||
|
'011' => "DIR. ADJOINT ET SECRETAIRE GENERAL D'EPN",
|
||||||
|
'012' => "DIRECTEUR DU SIEC",
|
||||||
|
'020' => "RECTEUR",
|
||||||
|
'021' => "SECRETAIRE GENERAL D'ACADEMIE",
|
||||||
|
'022' => "SECRETAIRE GENERAL D'A.S.U.",
|
||||||
|
'023' => "SECRETAIRE GENERAL D'UNIVERSITE",
|
||||||
|
'024' => "AGENT COMPTABLE D'UNIVERSITE",
|
||||||
|
'025' => "AGT CPT D'EPCSCP",
|
||||||
|
'026' => "AGENT COMPTABLE DE CROUS",
|
||||||
|
'027' => "DIRECTEUR ACADEMIE DE PARIS",
|
||||||
|
'030' => "ADM;DE L'EN, DE L'ENS SUP ET DE LA RECH",
|
||||||
|
'031' => "C.A.S.U",
|
||||||
|
'032' => "ATTACHE A.S.U",
|
||||||
|
'033' => "SECRETAIRE ADMINISTRATIF (SASU) NV.ST.",
|
||||||
|
'034' => "SECRETAIRE A.S.U",
|
||||||
|
'036' => "CONSEILLER A.U",
|
||||||
|
'037' => "ATTACHE A.U",
|
||||||
|
'039' => "SECRETAIRE A.U.",
|
||||||
|
'041' => "INTENDANT UNIVERSITAIRE",
|
||||||
|
'042' => "ATTACHE I.U",
|
||||||
|
'044' => "SECRETAIRE I.U.",
|
||||||
|
'045' => "AGENT DE SERVICE DES ETABS D'ENSEIGN.",
|
||||||
|
'046' => "AIDE D'ECONOMAT",
|
||||||
|
'047' => "OUVRIER ENTRETIEN ACCUEIL DES ETABS ENS.",
|
||||||
|
'050' => "ATTACHE ADMIN EDUC NAT ET ENS SUP",
|
||||||
|
'051' => "ATTACHE D'ADMINISTRATION DE L'ETAT",
|
||||||
|
'054' => "SECRETAIRE ADMINISTRATIF",
|
||||||
|
'055' => "SECRETAIRE ADMINISTRATIF ",
|
||||||
|
'056' => " ADJ. ADM DE L'EN ET DE L'ENS SUP ",
|
||||||
|
'070' => "TECHNICIEN DE LABORATOIRE ENS.SUP.",
|
||||||
|
'071' => "AIDE TECHNIQUE DE LABORATOIRE ENS. SUP.",
|
||||||
|
'072' => "AIDE DE LABORATOIRE ENS. SUP.",
|
||||||
|
'073' => "GARCON DE LABORATOIRE ENS. SUP.",
|
||||||
|
'074' => "TECHNICIEN DE LABO DES ET. SC. (A.S)",
|
||||||
|
'075' => "AIDE TECHNIQUE DE LABORAT. DES ET. SC.",
|
||||||
|
'076' => "AIDE DE LABORATOIRE (ANC.ST)",
|
||||||
|
'077' => "GARCON DE LABORATOIRE",
|
||||||
|
'083' => "TECHNICIEN DE LABORATOIRE (1994)",
|
||||||
|
'084' => "TECHNICIEN DE LABORATOIRE (1992)",
|
||||||
|
'085' => "AIDE TECHNIQUE DE LAB. (N.ST)",
|
||||||
|
'086' => "AIDE DE LABORATOIRE (N.STATUT)",
|
||||||
|
'087' => "AGENT TECHNIQUE DE LABORATOIRE",
|
||||||
|
'088' => "ADJ.TECH. LAB DES ETAB. ENS",
|
||||||
|
'101' => "INSPECTEUR GENERAL DE L'ADMINISTRATION",
|
||||||
|
'102' => "INSPECTEUR GENERAL DE L'EDUCATION NAT.",
|
||||||
|
'103' => "INSPECTEUR GENERAL DES BIBLIOTHEQUES",
|
||||||
|
'104' => "INSP. PEDAG. REGIONAL / INSP. D'ACADEMIE",
|
||||||
|
'105' => "INSPECTEUR D'ACADEMIE DIR. SERV. DEPART.",
|
||||||
|
'106' => "INSPECTEUR D'ACADEMIE ADJOINT",
|
||||||
|
'107' => "INSPECTEUR D'ACADEMIE",
|
||||||
|
'108' => "INSP.D'ACADEMIE/INSP.PEDAG. REGIONAL",
|
||||||
|
'110' => "INSPECT. DE L'APPRENTISSAGE COMMISSIONNE",
|
||||||
|
'111' => "INSPECTEUR DE L'ENSEIGNEMENT TECHNIQUE",
|
||||||
|
'112' => "INSPECTEUR D'ORIENTATION ET D'INFORMATIO",
|
||||||
|
'113' => "INSPECTEUR DEPARTEMENTAL DE L'E.N.",
|
||||||
|
'114' => "INSPECTEUR PRINCIPAL DE L'ENSEIG. TECH.",
|
||||||
|
'115' => "INSPECTEUR DE L'EDUCATION NATIONALE",
|
||||||
|
'116' => "INSPECTEUR DE LA JEUNESSE ET DES SPORTS",
|
||||||
|
'120' => "INPECTEUR GENERAL DE L'ADM ET DE LA RECH",
|
||||||
|
'200' => "SECRETAIRE GENERAL DU MINISTERE",
|
||||||
|
'201' => "MINISTRE",
|
||||||
|
'202' => "SECRETAIRE D'ETAT",
|
||||||
|
'203' => "ADMINISTRATEUR CIVIL",
|
||||||
|
'204' => "DIRECTEUR GENERAL D'ADM. CENTRALE",
|
||||||
|
'205' => "DIRECTEUR D'ADMINISTRATION CENTRALE",
|
||||||
|
'206' => "CHEF DE SERVICE D'ADMINISTR. CENTRALE",
|
||||||
|
'207' => "SOUS-DIRECTEUR D'ADMINISTR. CENTRALE",
|
||||||
|
'208' => "DIRECTEUR ADJOINT D'ADMINISTR. CENTRALE",
|
||||||
|
'209' => "DELEGUE D'ADMINISTRATION CENTRALE",
|
||||||
|
'210' => "ATTACHE ADM.CENTRALE",
|
||||||
|
'211' => "SECRETAIRE ADMINISTRAT. ADM.CENTR.(A.ST)",
|
||||||
|
'212' => "ADJOINT ADMINISTRATIF ADM.CENTR.(N.S)",
|
||||||
|
'213' => "AGENT ADMINISTRATIF ADM.CENTR.",
|
||||||
|
'214' => "AGENT DE BUREAU ADM.CENTR.",
|
||||||
|
'215' => "AGENT TECHNIQUE DE BUREAU DE L'ADM. CENT",
|
||||||
|
'216' => "SECRETAIRE STENODACTYLOGRAPHE DE L'ADM.C",
|
||||||
|
'217' => "SECRETAIRE ADMINISTRATIF (SAC) NV.STATUT",
|
||||||
|
'218' => "DIRECTEUR DE PROJET ADMINIST. CENTRALE",
|
||||||
|
'219' => "CHEF DE MISSION D'ADMINIST.CENTRALE",
|
||||||
|
'220' => "ADJOINT ADMINISTRATIF DE L'AC",
|
||||||
|
'221' => "DIRECTEUR DE CNOUS",
|
||||||
|
'222' => "DIRECTEUR ADJOINT DE CNOUS",
|
||||||
|
'223' => "DIRECTEUR DE RECHERCHE DU CNRS",
|
||||||
|
'224' => "SOUS DIRECTEUR DE CNOUS",
|
||||||
|
'230' => "ADJOINT TECHNIQUE DE L'AC",
|
||||||
|
'231' => "CHEF DE SERVICE INTERIEUR",
|
||||||
|
'232' => "AGENT DE SERVICE DES ADMINISTR.CENTRALES",
|
||||||
|
'233' => "AGENT PRINCIPAL DES SERVICES TECHNIQUES",
|
||||||
|
'234' => "HUISSIER DES ADMINISTRATIONS CENTRALES",
|
||||||
|
'235' => "MAITRE-OUVRIER (NOUV. STATUT) ADM.CENTR.",
|
||||||
|
'236' => "CONTREMAITRE DE L'ADMINISTR. CENTRALE",
|
||||||
|
'237' => "OUVRIER PROFESSIONNEL (N.ST.) ADM. CENT.",
|
||||||
|
'238' => "OUVRIER PROFESSIONNEL DE L'ADM. CENTRALE",
|
||||||
|
'239' => "AGENT SUPERIEUR DE L'ADM. CENTRALE",
|
||||||
|
'240' => "CHEF DE GROUPE DE L'ADM. CENTRALE",
|
||||||
|
'241' => "MAITRE OUVRIER DE L'ADM. CENTRALE",
|
||||||
|
'245' => "EXPERT DE HAUT NIVEAU",
|
||||||
|
'251' => "ADJOINT ADMINISTRATIF A.C (A.C)",
|
||||||
|
'263' => "ADJOINT ADMINISTRATIF( RECHERCHE CNRS)",
|
||||||
|
'264' => "SECRET.D'ADMINISTR. ( RECHERCHE CNRS)",
|
||||||
|
'265' => "ATTACHE D'ADMINISTR. ( RECHERCHE CNRS)",
|
||||||
|
'275' => "ASSISTANT INGENIEUR ( RECHERCHE CNRS)",
|
||||||
|
'276' => "INGENIEUR D'ETUDES( RECHERCHE CNRS)",
|
||||||
|
'277' => "INGENIEUR DE RECHERCHE ( RECHERCHE CNRS)",
|
||||||
|
'278' => "ADJOINT TECHNIQUE ( RECHERCHE CNRS)",
|
||||||
|
'279' => "TECHNICIEN ( RECHERCHE CNRS)",
|
||||||
|
'280' => "INGENIEUR DES PONTS ET CHAUSSEES",
|
||||||
|
'281' => "ARCHITECTE ET URBANISME DE L'ETAT",
|
||||||
|
'282' => "INGENIEUR TRAVAUX PUBLICS DE L'ETAT",
|
||||||
|
'283' => "INGENIEUR DES TELECOMMUNICATIONS",
|
||||||
|
'284' => "ATTACHE INSEE",
|
||||||
|
'285' => "ADMINISTRATEUR INSEE",
|
||||||
|
'286' => "CHARGE DE MISSION INSEE",
|
||||||
|
'287' => "INGENIEUR EN CHEF TPE",
|
||||||
|
'288' => "MEDECIN INSPECTEUR DE SANTE PUBL. (N.ST)",
|
||||||
|
'289' => "INFIRMIERE D'ETAT ",
|
||||||
|
'290' => "INGENIEUR DES PONTS, EAUX ET FORETS",
|
||||||
|
'293' => "INGENIEUR EN CHEF DES TVX PUBLICS 2G",
|
||||||
|
'294' => "INGENIEUR EN CHEF DES TVX PUBLICS 1G",
|
||||||
|
'295' => "INGENIEUR DES MINES",
|
||||||
|
'296' => "CHARGE D'ETUDES DOCUMENTAIRES (CULTURE)",
|
||||||
|
'297' => "RESTAURATEURS SPECIALISTES",
|
||||||
|
'298' => "CHEF DE TRAVAUX D'ART",
|
||||||
|
'299' => "TECHNICIEN D'ART",
|
||||||
|
'300' => "PROFESSEUR DES UNIVERSITES",
|
||||||
|
'301' => "MAITRE DE CONFERENCES DES UNIVERSITES",
|
||||||
|
'302' => "MAITRE ASSISTANT",
|
||||||
|
'303' => "ASSISTANT AGREGE ET ASSIMILE",
|
||||||
|
'304' => "ASSISTANT NON AGREGE ET ASSIMILE",
|
||||||
|
'305' => "ASSISTANT DE L'ENSEIGNEMENT SUPERIEUR",
|
||||||
|
'310' => "PROF DES UNIV.- PRATICIEN HOSPITALIER",
|
||||||
|
'311' => "MAITRE DE CONF PRATICIEN HOSPITALIER ",
|
||||||
|
'312' => "CHEF DE TRAVAUX DES FACULTES",
|
||||||
|
'313' => "CHEF DE TRAVAUX UNIV-PRATICIEN HOSPITAL.",
|
||||||
|
'314' => "ASSISTANT DISCIPL. MED-BIOLOG. ET MIXTES",
|
||||||
|
'315' => "PROF UNIV-PRATICIEN HOSPITAL. CSERD",
|
||||||
|
'316' => "MAITRE DE CONF PRATICIEN HOSPITAL.CSERD ",
|
||||||
|
'317' => "PROF DU 1ER GRADE CHIR DENT ODONTO",
|
||||||
|
'318' => "PROF DU 2EME GRADE CHIR DENT ODONTO",
|
||||||
|
'330' => "ASTRONOME",
|
||||||
|
'331' => "PHYSICIEN",
|
||||||
|
'332' => "ASTRONOME ADJOINT",
|
||||||
|
'333' => "PHYSICIEN ADJOINT",
|
||||||
|
'334' => "ASTRONOME TITULAIRE",
|
||||||
|
'335' => "PHYSICIEN TITULAIRE",
|
||||||
|
'336' => "ASTRONOME ADJOINT (DECRET DU 31/07/1936)",
|
||||||
|
'337' => "PHYSICIEN ADJOINT (DECRET DU 25/12/1936)",
|
||||||
|
'338' => "AIDE-ASTRONOME",
|
||||||
|
'339' => "AIDE-PHYSICIEN",
|
||||||
|
'340' => "ASSISTANT D'OBSERVATOIRE",
|
||||||
|
'341' => "PROFESSEUR DE L'ECOLE CENTRALE 2E CAT.",
|
||||||
|
'342' => "PROFESSEUR DE L'ECOLE CENTRALE 1E CAT.",
|
||||||
|
'343' => "PROFESSEUR DU COLLEGE DE FRANCE",
|
||||||
|
'344' => "SS-DIR DE LABORAT. DU COLLEGE DE FRANCE",
|
||||||
|
'345' => "ASSISTANT DU COLLEGE DE FRANCE",
|
||||||
|
'346' => "SOUS-DIRECTEUR DE LABORATOIRE DES E.N.S.",
|
||||||
|
'347' => "CHEF DE TRAVAUX DE L'INSTIT.HYDROL.CLIM.",
|
||||||
|
'348' => "ASSISTANT DE L'INSTIT. HYDROL. CLIM.",
|
||||||
|
'350' => "PROF MUSEUM HISTOIRE NATURELLE",
|
||||||
|
'351' => "MAITRE DE CONF MUSEUM HISTOIRE NATURELLE",
|
||||||
|
'352' => "ASSISTANT MUSEUM HISTOIRE NATURELLE",
|
||||||
|
'353' => "DIRECTEUR D'ETUDES DE L'EHESS",
|
||||||
|
'354' => "MAITRE DE CONFERENCES DE L' EHESS",
|
||||||
|
'355' => "DIR. D'ETUDES EPHE ET ECOLE DES CHARTES",
|
||||||
|
'356' => "MAITRE DE CONF EPHE ET ECOLE DES CHARTES",
|
||||||
|
'357' => "PREP.-CHEF TRAVAUX LICENCIE EHESS/EPHE",
|
||||||
|
'358' => "PREP.-CH.TRAVAUX NON LICENCIE EHESS/EPHE",
|
||||||
|
'359' => "CONSEILLER TECH. & PEDAGO. SUPERIEU",
|
||||||
|
'360' => "PROFESSEUR DU CNAM",
|
||||||
|
'361' => "SOUS-DIRECTEUR DE LABORATOIRE DU CNAM",
|
||||||
|
'362' => "CHEF DE TRAVAUX DU CNAM",
|
||||||
|
'363' => "ASSISTANT DU CNAM",
|
||||||
|
'364' => "PROFESSEUR DE L'ENSAM",
|
||||||
|
'365' => "PROFESSEUR TECHNIQUE ADJOINT DE L'ENSAM",
|
||||||
|
'366' => "CHEF DE TRAVAUX PRATIQUES DE L'ENSAM",
|
||||||
|
'380' => "PROFESSEUR DES UNIVERSITES ASSOCIE ",
|
||||||
|
'381' => "MAITRE DE CONFERENCES DES UNIV. ASSOCIE",
|
||||||
|
'382' => "PROF ASSOCIE DES UNIV. DIS. MED. ",
|
||||||
|
'383' => "MAITRE DE CF ASSOCIE DES UNIV.DIS.MED. ",
|
||||||
|
'384' => "PROF ASSOCIE DES UNIV. DIS. ODONTO. ",
|
||||||
|
'385' => "MAITRE DE CF ASSOCIE DES UNIV.DIS.ODONT.",
|
||||||
|
'386' => "ASTRONOME ASSOCIE",
|
||||||
|
'387' => "PHYSICIEN ASSOCIE",
|
||||||
|
'388' => "ASTRONOME ADJOINT ASSOCIE",
|
||||||
|
'389' => "PHYSICIEN ADJOINT ASSOCIE",
|
||||||
|
'390' => "PROFESSEUR DU COLLEGE DE FRANCE ASSOCIE ",
|
||||||
|
'391' => "PROF MUSEUM HISTOIRE NATURELLE ASSOCIE ",
|
||||||
|
'392' => "MAITRE DE CONF MUSEUM HIST.NAT. ASSOCIE ",
|
||||||
|
'393' => "DIRECTEUR D'ETUDES DE L'EHESS ASSOCIE ",
|
||||||
|
'394' => "MAITRE DE CONF. DE L' EHESS ASSOCIE ",
|
||||||
|
'395' => "DIR.D'ETUDES EPHE-ECOL.CHARTES ASSOCIE ",
|
||||||
|
'396' => "MAITRE DE CONF EPHE-EC. CHARTES ASSOCIE ",
|
||||||
|
'397' => "PROFESSEUR DU CNAM ASSOCIE ",
|
||||||
|
'400' => "ECR INSTITUTEUR",
|
||||||
|
'402' => "ECR INSTRUCTEUR",
|
||||||
|
'404' => "ECR INSTITUTEUR SUPPLEANT",
|
||||||
|
'405' => "ECR PROFESSEUR DES ECOLES",
|
||||||
|
'406' => "ADM CONTR 1ER DEGRE SESSION EX 2014 PR",
|
||||||
|
'431' => "ECR PROFESSEUR D'EPS",
|
||||||
|
'432' => "ECR CHARGE D'ENSEIGNEMENT EPS",
|
||||||
|
'433' => "ECR PROFESSEUR ADJOINT D'EPS",
|
||||||
|
'450' => "ECR CHAIRE SUPERIEUR",
|
||||||
|
'451' => "ECR AGREGE",
|
||||||
|
'453' => "ECR PROFESSEUR CERTIFIE",
|
||||||
|
'454' => "ECR PROFESSEUR TECHNIQUE ADJOINT",
|
||||||
|
'456' => "ECR PROFESSEUR CHEF DE TRAVAUX DE LYCEE",
|
||||||
|
'457' => "ECR PROFESSEUR CHEF DE TRAVAUX DEGRE SUP",
|
||||||
|
'459' => "ECR PROFESSEUR D'ENS GENERAL DES COLLEGE",
|
||||||
|
'462' => "ECR CHARGE D'ENSEIGNEMENT HORS EPS",
|
||||||
|
'467' => "ECR ADJOINT D'ENSEIGNEMENT",
|
||||||
|
'471' => "ECR PROFESSEUR DE LYCEE PROF CHEF DE TRA",
|
||||||
|
'472' => "ECR PROFESSEUR D'ENS. GENERAL DE CET",
|
||||||
|
'473' => "ECR PROFESSEUR D'ENS. TECH THEOR DE CET",
|
||||||
|
'474' => "ECR PROFESSEUR TECH D'ENS. PRATIQ DE CET",
|
||||||
|
'475' => "ECR PROFESSEUR DE LYCEE PROF",
|
||||||
|
'476' => "ECR PROFESSEUR TECHNIQUE CHEF DE TRAVAUX",
|
||||||
|
'477' => "ECR PROFESSEUR TECHN. DE LYCEE TECHNIQUE",
|
||||||
|
'478' => "ECR PROFESSEUR DE CET",
|
||||||
|
'480' => "BENEFICIAIRE DE L'OBLIGATION D'EMPLOI",
|
||||||
|
'496' => "ECR MAITRE AUXILIAIRE",
|
||||||
|
'497' => "ADM CONTR 2ND DEGRE SESSION EX 2014 PR",
|
||||||
|
'520' => "PERSONNEL D'ORIENTATION (D-72)",
|
||||||
|
'521' => "PERSONNEL D'ORIENTATION",
|
||||||
|
'531' => "PROFESSEUR D'EPS",
|
||||||
|
'532' => "CHARGE D'ENSEIGNEMENT EPS",
|
||||||
|
'533' => "PROFESSEUR ADJOINT D'EPS",
|
||||||
|
'534' => "MAITRE D'EPS",
|
||||||
|
'550' => "PROFESSEUR DE CHAIRE SUPERIEURE",
|
||||||
|
'551' => "PROFESSEUR AGREGE",
|
||||||
|
'553' => "PROFESSEUR CERTIFIE",
|
||||||
|
'554' => "PROFESSEUR TECHNIQUE ADJOINT",
|
||||||
|
'555' => "PROFESSEUR TECHNIQUE ADJOINT D'ENNA",
|
||||||
|
'556' => "PROFESSEUR CHEF DE TRAVAUX DE LYCEE TECH",
|
||||||
|
'557' => "PROFESSEUR CHEF DE TRAVAUX DEGRE SUP",
|
||||||
|
'558' => "PROFESSEUR D'ENNA",
|
||||||
|
'559' => "PROFESSEUR D'ENS. GENERAL DES COLLEGES",
|
||||||
|
'562' => "CHARGE D'ENSEIGNEMENT HORS EPS",
|
||||||
|
'563' => "CONSEILLER PRINCIPAL D'EDUCATION",
|
||||||
|
'564' => "CONSEILLER D'EDUCATION",
|
||||||
|
'567' => "ADJOINT D'ENSEIGNEMENT",
|
||||||
|
'571' => "PROFESSEUR DE LYCEE PROF CHEF DE TRAVAUX",
|
||||||
|
'572' => "PROFESSEUR D'ENSEIGNEMENT DE CET",
|
||||||
|
'573' => "PROFESSEUR D'ENS. TECH THEORIQUE DE CET",
|
||||||
|
'574' => "PROFESSEUR TECHNIQUE D'ENS. PROF DE CET",
|
||||||
|
'575' => "PROFESSEUR DES LYCEES PROFESSIONNELS",
|
||||||
|
'576' => "PROFESSEUR TECHNIQUE CHEF DE TRAVAUX",
|
||||||
|
'577' => "PROFESSEUR TECHNIQUE DE LYCEE TECHNIQUE",
|
||||||
|
'578' => "PROFESSEUR DE CET",
|
||||||
|
'590' => "ELEVE PROFESSEUR",
|
||||||
|
'600' => "INSTITUTEUR",
|
||||||
|
'602' => "INSTRUCTEUR",
|
||||||
|
'604' => "INSTITUTEUR AUXILIAIRE SUPPLEANT",
|
||||||
|
'615' => "PROFESSEUR DES ECOLES",
|
||||||
|
'620' => "PERS. DIRECTION 1ERE CATEGORIE(CT)",
|
||||||
|
'621' => "PERS. DIRECTION 2EME CATEGORIE (CT)",
|
||||||
|
'622' => "PERS. DIRECTION (CT)",
|
||||||
|
'623' => "INSPECTEUR DE L'EN (CT)",
|
||||||
|
'624' => "PERSONNEL D'ORIENTATION (CT)",
|
||||||
|
'625' => "PROF D'EPS (CT)",
|
||||||
|
'626' => "CHARGE ENS EPS (CT)",
|
||||||
|
'627' => "PROFESSEUR DE CHAIRE SUPERIEURE",
|
||||||
|
'628' => "PROFESSEUR AGREGE (CT) ",
|
||||||
|
'629' => "PROFESSEUR CERTIFIE (CT)",
|
||||||
|
'630' => "PROF.D'ENS GEN DE COLLEGE (CT)",
|
||||||
|
'631' => "CONSEILLER PRINCIPAL D'EDUCATION (CT)",
|
||||||
|
'632' => "CONSEILLER D'EDUCATION (CT)",
|
||||||
|
'633' => "ADJOINT D'ENSEIGNEMENT (CT)",
|
||||||
|
'634' => "PROF LYCEES PROFESSIONNELS (CT)",
|
||||||
|
'635' => "INSTITUTEUR (CT)",
|
||||||
|
'636' => "PROFESSEUR DES ECOLES (CT)",
|
||||||
|
'637' => "SURVEILLANT (CT)",
|
||||||
|
'638' => "ADJOINT D'EDUCATION (CT)",
|
||||||
|
'639' => "INSTITUTEUR C.T. MAYOTTE",
|
||||||
|
'640' => "INSTITUTEUR D'ETAT RECRUTE A MAYOTTE",
|
||||||
|
'641' => "AGENT ADMINISTRATIF DE MAYOTTE",
|
||||||
|
'642' => "AGENT TECHNIQUE DES ADMINISTRATIONS",
|
||||||
|
'650' => "INSTIT. CHARGE ENSEIGNEMENT EN COLLEGE",
|
||||||
|
'651' => "MONITEUR (DIPLOME D'UN CEP)",
|
||||||
|
'652' => "INSTITUTEUR BREVETE",
|
||||||
|
'653' => "INSTITUTEUR PERENNISE (NIVEAU CEP)",
|
||||||
|
'654' => "INSTITUTEUR (PF)",
|
||||||
|
'655' => "PROFESSEUR DES ECOLES (PF)",
|
||||||
|
'656' => "CONTRACTUEL PF1D CAT A",
|
||||||
|
'657' => "CONTRACTUEL PF1D CAT B",
|
||||||
|
'660' => "CADRE2 (CT)",
|
||||||
|
'670' => "CADRE1 (CT)",
|
||||||
|
'680' => "CADRE DES BACHELIERS (CT)",
|
||||||
|
'690' => "CONTRACTUEL (CT)",
|
||||||
|
'695' => "CONTRACTUEL CT GARANTI D'EMPLOI",
|
||||||
|
'700' => "PROFESSEUR DES UNIVERSITES ASSOCIE-MT ",
|
||||||
|
'701' => "MAITRE DE CONF. DES UNIV. ASSOCIE-MT ",
|
||||||
|
'702' => "PROF. ASS. DES UNIV. DE MEDECINE GENER.",
|
||||||
|
'703' => "M. DE CONF. ASS. UNIV. MEDECINE GENER.",
|
||||||
|
'704' => "ASTRONOME ASSOCIE-MT",
|
||||||
|
'705' => "PHYSICIEN ASSOCIE-MT",
|
||||||
|
'706' => "ASTRONOME ADJOINT ASSOCIE-MT",
|
||||||
|
'707' => "PHYSICIEN ADJOINT ASSOCIE-MT",
|
||||||
|
'708' => "PROFESSEUR DU COLLEGE DE FRANCE ASS-MT ",
|
||||||
|
'709' => "PROF MUSEUM HISTOIRE NATURELLE ASS-MT ",
|
||||||
|
'710' => "MAITRE DE CONF MUSEUM HIST.NAT. ASS-MT ",
|
||||||
|
'711' => "DIRECTEUR D'ETUDES DE L'EHESS ASS-MT ",
|
||||||
|
'712' => "MAITRE DE CONF. DE L' EHESS ASSOCIE-MT ",
|
||||||
|
'713' => "DIR.D'ETUDES EPHE-ECOL.CHARTES ASS-MT ",
|
||||||
|
'714' => "MAITRE DE CONF EPHE-EC. CHARTES ASS-MT ",
|
||||||
|
'715' => "PROFESSEUR DU CNAM ASSOCIE-MT ",
|
||||||
|
'720' => "PROFESSEUR DES UNIVERSITES INVITE",
|
||||||
|
'721' => "MAITRE DE CONFERENCES DES UNIV. INVITE",
|
||||||
|
'722' => "PROFESSEUR INVITE DISC. MED.",
|
||||||
|
'723' => "MAITRE DE CONF. INVITE DISC. MED.",
|
||||||
|
'724' => "PROF INVITE DISC. ODONTO.",
|
||||||
|
'725' => "MAITRE DE CONF INVITE DISC. ODONTO.",
|
||||||
|
'726' => "ASTRONOME INVITE",
|
||||||
|
'727' => "PHYSICIEN INVITE",
|
||||||
|
'728' => "ASTRONOME ADJOINT INVITE",
|
||||||
|
'729' => "PHYSICIEN ADJOINT INVITE",
|
||||||
|
'730' => "PROFESSEUR DU COLLEGE DE FRANCE INVITE",
|
||||||
|
'731' => "PROF MUSEUM HISTOIRE NATURELLE INVITE",
|
||||||
|
'732' => "MAITRE DE CONF MUSEUM HIST. NAT. INVITE",
|
||||||
|
'733' => "DIRECTEUR D'ETUDES DE L'EHESS INVITE",
|
||||||
|
'734' => "MAITRE DE CONFERENCES DE L' EHESS INVITE",
|
||||||
|
'735' => "DIR.D'ETUDES EPHE-ECOL.CHARTES INVITE",
|
||||||
|
'736' => "MAITRE DE CONF EPHE-ECOL.CHARTES INVITE",
|
||||||
|
'737' => "PROFESSEUR DU CNAM INVITE",
|
||||||
|
'740' => "ASSISTANT HOSPITALIER UNIV. CSERD",
|
||||||
|
'741' => "PRATICIEN HOSPITALIER UNIVERSITAIRE",
|
||||||
|
'742' => "ASSISTANT HOSPITALIER UNIVERSITAIRE",
|
||||||
|
'743' => "CHEF CLINIQUE UNIV. ASSISTANT HOPITAUX",
|
||||||
|
'744' => "ASSISTANT ASSOCIE DES UNIV. DIS. ODONTO.",
|
||||||
|
'745' => "ASSIS.CHEF CLINIQUE ASSOCIE UNIV.DIS.MED",
|
||||||
|
'750' => "MAITRE DE LANGUE",
|
||||||
|
'751' => "LECTEUR",
|
||||||
|
'752' => "REPETITEUR DE L'INALCO",
|
||||||
|
'753' => "ATTACHE TEMPORAIRE ENSEIGN. ET RECHERCHE",
|
||||||
|
'754' => "ALLOCATAIRE MONITEUR NORMALIEN",
|
||||||
|
'755' => "MONITEUR ",
|
||||||
|
'756' => "MONITEUR EN PHARMACIE",
|
||||||
|
'757' => "CONTRACTUEL DECRET 1992",
|
||||||
|
'758' => "CHARGE D'ENSEIGNEMENT VACATAIRE",
|
||||||
|
'759' => "AGENT TEMPORAIRE VACATAIRE",
|
||||||
|
'773' => "INTERVENANT LANGUE PRIMAIRE",
|
||||||
|
'774' => "ASSISTANT LANGUE VIVANTE",
|
||||||
|
'775' => "CONSEILLER D'ORIENTATION INTERIMAIRE",
|
||||||
|
'776' => "MAITRE AUXILIAIRE",
|
||||||
|
'777' => "CORPS DES ASSISTANTS ETRANGERS",
|
||||||
|
'778' => "PROFESSEUR ASSOCIE",
|
||||||
|
'779' => "PROFESSEUR CONTRACTUEL",
|
||||||
|
'786' => "MAITRE D'INTERNAT",
|
||||||
|
'787' => "SURVEILLANT D'EXTERNAT",
|
||||||
|
'789' => "ACCOMPAGNANT EN SITUATION DE HANDICAP",
|
||||||
|
'790' => "ASSISTANT D'EDUCATION",
|
||||||
|
'791' => "ADMISSIBLE CONTRACTUEL 1D EXCEPT 2014",
|
||||||
|
'792' => "ADMISSIBLE CONTRACTUEL 2D EXCEPT 2014",
|
||||||
|
'800' => "CONSERVATEUR GENERAL DES BIBLIOTHEQUES",
|
||||||
|
'801' => "CONSERVATEUR DES BIBLIOTHEQUES (1992)",
|
||||||
|
'802' => "CONSERVATEUR DES MUSEES (1992)",
|
||||||
|
'803' => "CONSERVATEUR DES BIBLIOTHEQUES (1969)",
|
||||||
|
'804' => "CONSERVATEUR STAGIAIRE ELEVE ENSSIB",
|
||||||
|
'806' => "BIBLIOTHECAIRE",
|
||||||
|
'807' => "BIBLIOTHECAIRE ADJOINT ANC. STATUT 1950",
|
||||||
|
'808' => "BIBLIOTHECAIRE ADJOINT (NV.STATUT 1995)",
|
||||||
|
'809' => "BIBLIOTHECAIRE ADJOINT SPECIALISE",
|
||||||
|
'810' => "BIBLIOTHECAIRE ASSISTANT SPECIALISE",
|
||||||
|
'813' => "MAGASINIER EN CHEF",
|
||||||
|
'814' => "MAGASINIER SPECIALISE",
|
||||||
|
'815' => "INSPECTEUR DE MAGASINAGE",
|
||||||
|
'816' => "MAGASINIER",
|
||||||
|
'817' => "GARDIEN DE BIBLIOTHEQUE",
|
||||||
|
'818' => "ASSISTANT DES BIBLIOTHEQUES",
|
||||||
|
'820' => "MAGASINIER DES BIBLIOTHEQUES",
|
||||||
|
'821' => "AGENT DE BUREAU DE RECH.ET DE FORMATION",
|
||||||
|
'822' => "AGENT D'ADMINISTRATION RECH.ET FORMATION",
|
||||||
|
'823' => "ADJOINT ADMINISTRATIF RECH.ET FORMATION",
|
||||||
|
'825' => "ATTACHE D'ADMINISTR. RECH.ET FORMATION",
|
||||||
|
'826' => "CHARGE D'ADMINISTR. RECH.ET FORMATION",
|
||||||
|
'827' => "SECRET.D'ADMINISTR. RECH.ET FORMATION",
|
||||||
|
'828' => "AGENT DES SERV.TECH. RECH.ET FORMATION",
|
||||||
|
'830' => "TECHNICIEN DE RECHERCHE & FORMATION(NES)",
|
||||||
|
'831' => "AIDE TECHNIQUE DE RECH.ET DE FORMATION",
|
||||||
|
'832' => "AGENT TECHNIQUE DE RECH.ET DE FORMATION",
|
||||||
|
'834' => "ASSISTANT INGENIEUR (RECH ET FORM)",
|
||||||
|
'835' => "INGENIEUR D'ETUDES (RECH ET FORM)",
|
||||||
|
'836' => "INGENIEUR DE RECHERCHE (RECH ET FORM)",
|
||||||
|
'837' => "ADJOINT TECHNIQUE DE RECH.ET FORMATION",
|
||||||
|
'838' => "TECHNICIEN DE RECH.ET FORMATION",
|
||||||
|
'839' => "ADJOINT TECHNIQUE-RECHERCHE & FORMATION",
|
||||||
|
'840' => "INGENIEUR CONTRACTUEL CNRS",
|
||||||
|
'841' => "TECHNIQUE CONTRACTUEL CNRS",
|
||||||
|
'842' => "ADMINISTRATIF CONTRACTUEL CNRS",
|
||||||
|
'843' => "CONTRACT. D.DETERM. ENS.SUP (>86) CAT A",
|
||||||
|
'844' => "CONTRACT. D.DETERM. ENS.SUP. (>86) CAT B",
|
||||||
|
'845' => "CONTRACT. D.DETERM. ENS.SUP. (>86) CAT D",
|
||||||
|
'846' => "CONTRACTUEL TEMPORAIRE ENS. SUPERIEUR",
|
||||||
|
'847' => "CONTROLEUR CONTRACTUEL DE L'ADM. CENTR.",
|
||||||
|
'850' => "AGENT CONTRACTUEL ADMINISTRATIF",
|
||||||
|
'851' => "CONTRACTUEL VIGILE",
|
||||||
|
'852' => "AGENT CONTRACTUEL TECHNIQUE",
|
||||||
|
'853' => "AGENT CONTRACTUEL FORMATION CONTINUE",
|
||||||
|
'855' => "CONTRACTUEL EX-UGAP",
|
||||||
|
'856' => "MEDECIN CONTACTUEL",
|
||||||
|
'857' => "MEDECIN CONTRACTUEL SANTE SCOLAIRE",
|
||||||
|
'858' => "INFIRMIERE AUXILIAIRE",
|
||||||
|
'859' => "INFIRMIERE CONTRACTUELLE",
|
||||||
|
'860' => "ASSISTANTE SOCIALE CONTRACTUELLE",
|
||||||
|
'861' => "AUXILIAIRE DE BUREAU",
|
||||||
|
'862' => "AUXILIAIRE DE SERVICE",
|
||||||
|
'863' => "CONTRACTUEL RECHERCHE CHARGE DE MISSION",
|
||||||
|
'864' => "AGENT CONTRACTUEL RECHERCHE",
|
||||||
|
'865' => "CONTRACTUEL DECRET 62",
|
||||||
|
'866' => "CONTRACTUEL A DUREE DETERMINEE",
|
||||||
|
'867' => "CONTRACTUEL INDIVIDUEL",
|
||||||
|
'868' => "CONTRACTUEL CABINET",
|
||||||
|
'869' => "TRAVAILLEUR HANDICAPE",
|
||||||
|
'870' => "AGENT CONTRACTUEL DE BIBLIOTHEQUES",
|
||||||
|
'871' => "AGENT SUR CONTRAT DES BIBLIOTHEQUES",
|
||||||
|
'872' => "ARCHITECTE CONTRACTUEL",
|
||||||
|
'873' => "INFORMATICIEN DE HAUT NIVEAU",
|
||||||
|
'874' => "INSPECT. DE L'APPRENTISSAGE CONTRACTUEL",
|
||||||
|
'875' => "PARCOURS D'ACCES A L' EMPLOI",
|
||||||
|
'879' => "CONTRACTUEL BOE - DECRET DE 1995",
|
||||||
|
'887' => "MAD ENTRANT AUTRE ADMINISTRATION",
|
||||||
|
'888' => "APPRENTI",
|
||||||
|
'898' => "VACATAIRE",
|
||||||
|
'899' => "INDEMNITAIRE",
|
||||||
|
'910' => "COMMIS DES SERVICES EXTERIEURS",
|
||||||
|
'911' => "AGENT ADMINISTRATIF DES SERV. EXT.",
|
||||||
|
'912' => "ADJOINT ADMINISTRATIF DES SERV. EXT.",
|
||||||
|
'915' => "ADJOINT AMINISTRATIF DES SER. DEC.",
|
||||||
|
'920' => "STENODACTYLOGRAPHE DES SERV. EXT.",
|
||||||
|
'925' => "ADJOINTE DU SERV. DE SANTE SCOL. ET UNIV",
|
||||||
|
'930' => "AGENT DE BUREAU DES SERV. EXT.",
|
||||||
|
'940' => "AGENT TECHNIQUE DE BUREAU DES SERV. EXT.",
|
||||||
|
'953' => "OUVRIER PROFESSIONNEL DES SERV. EXT.",
|
||||||
|
'954' => "CONTREMAITRE DES SERV. EXT.",
|
||||||
|
'955' => "OUVRIER PROFESSIONNEL DES ETABS D'ENS.",
|
||||||
|
'956' => "MAITRE OUVRIER DES ETABS D'ENSEIGNEMENT",
|
||||||
|
'957' => "TECHNICIEN DE L'EDUCATION NATIONALE",
|
||||||
|
'960' => "ADJOINT TECHNIQUE DES ETAB.ENS.",
|
||||||
|
'961' => "AGENT DE SERVICE DES SERV. EXT.",
|
||||||
|
'962' => "AGENT DES SERV.TECHNIQUES DES SERV.EXT.",
|
||||||
|
'970' => "CONDUCTEUR AUTO DES ADM. DE L'ETAT",
|
||||||
|
'975' => "CHEF DE GARAGE DES ADM. DE L'ETAT",
|
||||||
|
'980' => "TELEPHONISTE DES ADM. DE L'ETAT",
|
||||||
|
'984' => "CONSEILLER POUR L'ACTION SOCIALE",
|
||||||
|
'985' => "SECRETAIRE DE DOCUMENTATION NOUV.STATUT",
|
||||||
|
'986' => "INFIRMIERS ENES CATEGORIE A",
|
||||||
|
'987' => "ASSISTANT SERVICE SOCIAL ADMIN DE L'ETAT",
|
||||||
|
'988' => "CONS TECH DE SERV SOC AE",
|
||||||
|
'989' => "INFIRMIERE OU INFIRMIER (NOUVEAU STATUT)",
|
||||||
|
'990' => "ASSISTANT DE SERVICE SOCIAL",
|
||||||
|
'991' => "SECRETAIRE DE DOCUMENTATION (ANC.STATUT)",
|
||||||
|
'992' => "INFIRMIER ET INFIRMIERE (ANCIEN STATUT)",
|
||||||
|
'993' => "DOCUMENTALISTE",
|
||||||
|
'994' => "CHEF D'ETUDES DOCUMENTAIRES",
|
||||||
|
'995' => "CHARGE D ETUDES DOCUMENTAIRES",
|
||||||
|
'996' => "CONSEILLER TECHNIQUE DE SERVICE SOCIAL",
|
||||||
|
'997' => "MEDECIN DE L'EDUCATION NATIONALE",
|
||||||
|
'998' => "MEDECIN DE L'E.N.- CONSEILLER TECHNIQUE",
|
||||||
|
'999' => "SANS CORRESPONDANCE CORPS",
|
||||||
|
'***' => "CONVENTION ETOILE, DECLINAISON TOUT CODE",
|
||||||
|
)
|
||||||
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
$GLOBALS['supannTranslateEtablissementDirectory'] = array(
|
|
||||||
'UAI' => $GLOBALS['tableCodeUAI']
|
|
||||||
);
|
|
||||||
?>
|
|
||||||
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
ul.LSformElement_supannCompositeAttribute li {
|
||||||
|
border: 1px dotted #CCC;
|
||||||
|
padding: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.LSformElement_supannCompositeAttribute li.noValue {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.LSformElement_supannCompositeAttribute p {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.LSformElement_supannCompositeAttribute p label {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
input.LSformElement_supannCompositeAttribute_search {
|
||||||
|
border: 1px solid #CCC;
|
||||||
|
width: 200px;
|
||||||
|
background: url('../../images/default/find.png') no-repeat scroll 0% 0% #FFF !important;
|
||||||
|
padding-left: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.supannCompositeAttribute_possibleValues ul {
|
||||||
|
list-style-type: none;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
border: 1px solid #CCC;
|
||||||
|
border-collapse: collapse;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.supannCompositeAttribute_possibleValues li {
|
||||||
|
border-bottom: 1px solid #CCC;
|
||||||
|
margin-bottom: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.supannCompositeAttribute_possibleValues li:hover {
|
||||||
|
background-color: #CCC;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
|
@ -1 +0,0 @@
|
||||||
LSformElement_supannRoleEntite_label_SUPANN.png
|
|
BIN
public_html/images/default/supann_label_BCN.png
Normal file
BIN
public_html/images/default/supann_label_BCN.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 678 B |
1
public_html/images/default/supann_label_NCORPS.png
Symbolic link
1
public_html/images/default/supann_label_NCORPS.png
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
supann_label_BCN.png
|
1
public_html/images/default/supann_label_SISE.png
Symbolic link
1
public_html/images/default/supann_label_SISE.png
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
supann_label_BCN.png
|
Before Width: | Height: | Size: 851 B After Width: | Height: | Size: 851 B |
Before Width: | Height: | Size: 901 B After Width: | Height: | Size: 901 B |
|
@ -68,16 +68,11 @@ LSerror :: defineError('SUPANN_02',
|
||||||
}
|
}
|
||||||
|
|
||||||
$MUST_DEFINE_ARRAY= array(
|
$MUST_DEFINE_ARRAY= array(
|
||||||
'supannRoleGenerique',
|
'supannNomenclatures',
|
||||||
'supannTypeEntite',
|
|
||||||
'supannTranslateRoleEntiteValueDirectory',
|
|
||||||
'supannTranslateFunctionDirectory',
|
|
||||||
'tableCodeUAI',
|
|
||||||
'supannTranslateEtablissementDirectory',
|
|
||||||
);
|
);
|
||||||
foreach($MUST_DEFINE_ARRAY as $array) {
|
foreach($MUST_DEFINE_ARRAY as $array) {
|
||||||
if ( !isset($GLOBALS[$array]) || !is_array($GLOBALS[$array])) {
|
if ( !isset($GLOBALS[$array]) || !is_array($GLOBALS[$array])) {
|
||||||
LSerror :: addErrorCode('SUPANN_SUPPORT_01',$array);
|
LSerror :: addErrorCode('SUPANN_SUPPORT_03',$array);
|
||||||
$retval=false;
|
$retval=false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -91,6 +86,10 @@ LSerror :: defineError('SUPANN_02',
|
||||||
return $retval;
|
return $retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Fonctions de génération de valeurs d'attributs
|
||||||
|
**********************************************************************/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generation du displayName
|
* Generation du displayName
|
||||||
*
|
*
|
||||||
|
@ -237,6 +236,31 @@ LSerror :: defineError('SUPANN_02',
|
||||||
return $retval;
|
return $retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Fonction de parsing des valeurs spécifiques SUPANN
|
||||||
|
**********************************************************************/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Parse une valeur a etiquette SUPANN
|
||||||
|
*
|
||||||
|
* Exemple de valeur :
|
||||||
|
*
|
||||||
|
* {SUPANN}S410
|
||||||
|
*
|
||||||
|
* @param[in] $val La valeur
|
||||||
|
*
|
||||||
|
* @retval array Un tableau cle->valeur contenant label et value ou False
|
||||||
|
**/
|
||||||
|
function supannParseLabeledValue($value) {
|
||||||
|
if (preg_match('/^\{([^\}]*)\}(.*)$/',$value,$m)) {
|
||||||
|
return array(
|
||||||
|
'label'=>$m[1],
|
||||||
|
'value'=>$m[2]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parse une valeur composite SUPANN
|
* Parse une valeur composite SUPANN
|
||||||
*
|
*
|
||||||
|
@ -261,175 +285,139 @@ LSerror :: defineError('SUPANN_02',
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/***********************************************************************
|
||||||
* Retourne une eventuelle fonction de traduction d'une valeur
|
* Fonctions relatives aux entités
|
||||||
* en fonction de son label et de sa cle.
|
**********************************************************************/
|
||||||
*
|
|
||||||
* Utilise la table $GLOBALS['supannTranslateFunctionDirectory']
|
|
||||||
*
|
|
||||||
* @param[in] $label Le label de la valeur
|
|
||||||
* @param[in] $key La cle de la valeur
|
|
||||||
*
|
|
||||||
* @retval string|false Le nom de la fonction de traduction ou false
|
|
||||||
**/
|
|
||||||
function supannTranslateRoleEntiteFunction($label,$key) {
|
|
||||||
if (isset($GLOBALS['supannTranslateFunctionDirectory'][$label][$key])) {
|
|
||||||
return $GLOBALS['supannTranslateFunctionDirectory'][$label][$key];
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne le nom court d'une entite en fonction de son identifiant
|
* Retourne le nom court d'une entite en fonction de son identifiant
|
||||||
*
|
*
|
||||||
* Fonction utilise comme fonction de traduction dans la fonction
|
* @param[in] $id L'identifiant de l'entite (supannCodeEntite)
|
||||||
* supannTranslateRoleEntiteValue()
|
|
||||||
*
|
|
||||||
* @param[in] $label Le label de la valeur
|
|
||||||
* @param[in] $key La cle de la valeur
|
|
||||||
* @param[in] $value La valeur : l'identifiant de l'entite (supannCodeEntite)
|
|
||||||
*
|
*
|
||||||
* @retval string Le nom de l'entite
|
* @retval string Le nom de l'entite
|
||||||
**/
|
**/
|
||||||
function supanGetEntiteNameById($label,$key,$value) {
|
function supanGetEntiteNameById($id) {
|
||||||
if (LSsession::loadLSobject(LS_SUPANN_LSOBJECT_ENTITE_TYPE)) {
|
if (LSsession::loadLSobject(LS_SUPANN_LSOBJECT_ENTITE_TYPE)) {
|
||||||
$type=LS_SUPANN_LSOBJECT_ENTITE_TYPE;
|
$type=LS_SUPANN_LSOBJECT_ENTITE_TYPE;
|
||||||
$e = new $type();
|
$e = new $type();
|
||||||
$list=$e -> listObjectsName("(supannCodeEntite=$value)",NULL,array(),LS_SUPANN_LSOBJECT_ENTITE_FORMAT_SHORTNAME);
|
$list=$e -> listObjectsName("(supannCodeEntite=$id)",NULL,array(),LS_SUPANN_LSOBJECT_ENTITE_FORMAT_SHORTNAME);
|
||||||
if (count($list)==1) {
|
if (count($list)==1) {
|
||||||
return array(
|
return array_pop($list);
|
||||||
'translated' => array_pop($list),
|
|
||||||
'label' => $label
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return array(
|
return getFData(__("Entity %{id} (unrecognized)"),$id);
|
||||||
'translated' => getFData(__("%{value} (unrecognized value)"),$value),
|
|
||||||
'label' => $label
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parse une valeur a etiquette SUPANN
|
* Valide l'ID d'une entite
|
||||||
*
|
*
|
||||||
* Exemple de valeur :
|
* @param[in] $id L'identifiant de l'entite (supannCodeEntite)
|
||||||
*
|
*
|
||||||
* {SUPANN}S410
|
* @retval boolean True si une entité avec cet ID existe, False sinon
|
||||||
*
|
|
||||||
* @param[in] $val La valeur
|
|
||||||
*
|
|
||||||
* @retval array Un tableau cle->valeur contenant label et value ou False
|
|
||||||
**/
|
**/
|
||||||
function supannParseLabeledValue($value) {
|
function supannValidateEntityId($id) {
|
||||||
if (preg_match('/^\{([^\}]*)\}(.*)$/',$value,$m)) {
|
if (LSsession::loadLSobject(LS_SUPANN_LSOBJECT_ENTITE_TYPE)) {
|
||||||
return array(
|
$type=LS_SUPANN_LSOBJECT_ENTITE_TYPE;
|
||||||
'label'=>$m[1],
|
$e = new $type();
|
||||||
'value'=>$m[2]
|
$list=$e -> listObjectsName("(supannCodeEntite=$id)");
|
||||||
);
|
if (count($list)==1) {
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
return;
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Simple découpage label/valeur sans traduction réel
|
* Cherche des entités répond au pattern de recherche passé en paramètres
|
||||||
|
* et retourne un tableau mettant en relation leur identifiant et leur nom
|
||||||
|
* d'affichage.
|
||||||
*
|
*
|
||||||
* @param[in] $key La cle
|
* @param[in] $pattern string Le pattern de recherche
|
||||||
|
*
|
||||||
|
* @retval array Tableau du résultat de la recherche mettant en relation
|
||||||
|
* l'identifiant des entités trouvés avec leur nom d'affichage.
|
||||||
|
**/
|
||||||
|
function supannSearchEntityByPattern($pattern) {
|
||||||
|
$retval=array();
|
||||||
|
if (LSsession::loadLSclass('LSsearch')) {
|
||||||
|
$search=new LSsearch(
|
||||||
|
LS_SUPANN_LSOBJECT_ENTITE_TYPE,
|
||||||
|
'SUPANN:supannSearchEntityByPattern',
|
||||||
|
array(
|
||||||
|
'pattern' => $pattern,
|
||||||
|
'attributes' => array('supannCodeEntite'),
|
||||||
|
'sizelimit' => 10,
|
||||||
|
)
|
||||||
|
);
|
||||||
|
$search -> run();
|
||||||
|
|
||||||
|
foreach($search -> getSearchEntries() as $e) {
|
||||||
|
$code=$e->get('supannCodeEntite');
|
||||||
|
if (is_array($code)) $code=$code[0];
|
||||||
|
$retval[$code]=$e->displayName;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $retval;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* Fonctions relatives aux nomenclatures
|
||||||
|
**********************************************************************/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Vérifie si une valeur et son étiquette sont valide pour une table donnée
|
||||||
|
*
|
||||||
|
* @param[in] $table La table de nomenclature
|
||||||
|
* @param[in] $label L'étiquette de la valeur
|
||||||
* @param[in] $value La valeur
|
* @param[in] $value La valeur
|
||||||
*
|
*
|
||||||
* @retval array Un tableau cle->valeur contenant label et translated
|
* @retval booleab True si valide, False sinon
|
||||||
**/
|
**/
|
||||||
function supannTranslateLabeledValue($value) {
|
function supannValidateNomenclatureValue($table,$label,$value) {
|
||||||
$label='no';
|
$label=strtoupper($label);
|
||||||
$pl=supannParseLabeledValue($value);
|
if (isset($GLOBALS['supannNomenclatures'][$label]) &&
|
||||||
if ($pl) {
|
isset($GLOBALS['supannNomenclatures'][$label][$table]) &&
|
||||||
$label=$pl['label'];
|
isset($GLOBALS['supannNomenclatures'][$label][$table][$value])) {
|
||||||
$value=$pl['value'];
|
return true;
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
return array(
|
|
||||||
'label' => $label,
|
|
||||||
'translated' => $value
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Traduit une valeur en fonction de sa cle extrait d'un attribut
|
* Retourne le label d'une valeur en fonction de la table de nomenclature
|
||||||
* supannRoleEntite.
|
* et de l'étiquette de la valeur.
|
||||||
*
|
*
|
||||||
* @param[in] $key La cle
|
* @param[in] $table La table de nomenclature
|
||||||
|
* @param[in] $label L'étiquette de la valeur
|
||||||
* @param[in] $value La valeur
|
* @param[in] $value La valeur
|
||||||
*
|
*
|
||||||
* @retval array Un tableau cle->valeur contenant label et translated ou False
|
* @retval array Le label de la valeur. En cas de valeur nor-reconnue, retourne
|
||||||
|
* la valeur en spécifiant qu'elle n'est pas reconnue.
|
||||||
**/
|
**/
|
||||||
function supannTranslateRoleEntiteValue($key,$value) {
|
function supannGetNomenclatureLabel($table,$label,$value) {
|
||||||
$label='no';
|
if (supannValidateNomenclatureValue($table,$label,$value)) {
|
||||||
$pl=supannParseLabeledValue($value);
|
$label=strtoupper($label);
|
||||||
if ($pl) {
|
return $GLOBALS['supannNomenclatures'][$label][$table][$value];
|
||||||
$label=$pl['label'];
|
|
||||||
$value=$pl['value'];
|
|
||||||
}
|
|
||||||
|
|
||||||
// Translate by method
|
|
||||||
if (supannTranslateRoleEntiteFunction($label,$key)) {
|
|
||||||
$func = supannTranslateRoleEntiteFunction($label,$key);
|
|
||||||
if (function_exists($func)) {
|
|
||||||
try {
|
|
||||||
return $func($label,$key,$value);
|
|
||||||
}
|
|
||||||
catch (Exception $e) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// Translate by directory
|
|
||||||
elseif (isset($GLOBALS['supannTranslateRoleEntiteValueDirectory'][$label][$key][$value])) {
|
|
||||||
return array(
|
|
||||||
'translated' => $GLOBALS['supannTranslateRoleEntiteValueDirectory'][$label][$key][$value],
|
|
||||||
'label' => $label
|
|
||||||
);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return array(
|
|
||||||
'label' => $label,
|
|
||||||
'translated' => $value
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
return getFData(__("%{value} (unrecognized value)"),$value);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Traduit une valeur en fonction de sa cle extrait d'un attribut
|
* Retourne les valeurs possibles d'une table de nomenclature
|
||||||
* supannEtablissement
|
|
||||||
*
|
*
|
||||||
* @param[in] $key La cle
|
* @param[in] $table La table de nomenclature
|
||||||
* @param[in] $value La valeur
|
|
||||||
*
|
*
|
||||||
* @retval array Un tableau cle->valeur contenant label et translated
|
* @retval array Tableau contenant les valeurs possibles de la table
|
||||||
|
* de nomenclature
|
||||||
**/
|
**/
|
||||||
function supannTranslateEtablissement($value) {
|
function supannGetNomenclatureTable($table) {
|
||||||
$label='no';
|
$retval=array();
|
||||||
$pl=supannParseLabeledValue($value);
|
foreach($GLOBALS['supannNomenclatures'] as $label => $tables) {
|
||||||
if ($pl) {
|
if (isset($GLOBALS['supannNomenclatures'][$label][$table])) {
|
||||||
$label=$pl['label'];
|
$retval[$label]=$GLOBALS['supannNomenclatures'][$label][$table];
|
||||||
$value=$pl['value'];
|
}
|
||||||
|
}
|
||||||
|
return $retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($GLOBALS['supannTranslateEtablissementDirectory'][$label][$value])) {
|
|
||||||
return array(
|
|
||||||
'translated' => $GLOBALS['supannTranslateEtablissementDirectory'][$label][$value],
|
|
||||||
'label' => $label
|
|
||||||
);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return array(
|
|
||||||
'label' => $label,
|
|
||||||
'translated' => $value
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
?>
|
|
||||||
|
|
|
@ -30,5 +30,3 @@ class LSattr_html_supannRoleEntite extends LSattr_html {
|
||||||
var $LSformElement_type = 'supannRoleEntite';
|
var $LSformElement_type = 'supannRoleEntite';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
|
||||||
|
|
|
@ -0,0 +1,312 @@
|
||||||
|
<?php
|
||||||
|
/*******************************************************************************
|
||||||
|
* Copyright (C) 2007 Easter-eggs
|
||||||
|
* http://ldapsaisie.labs.libre-entreprise.org
|
||||||
|
*
|
||||||
|
* Author: See AUTHORS file in top-level directory.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License version 2
|
||||||
|
* as published by the Free Software Foundation.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
LSsession :: loadLSclass('LSformElement');
|
||||||
|
LSsession :: loadLSaddon('supann');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Element supannCompositeAttribute d'un formulaire pour LdapSaisie
|
||||||
|
*
|
||||||
|
* Cette classe permet de gérer les attributs composite supann en la déclinant.
|
||||||
|
* Elle étant la classe basic LSformElement.
|
||||||
|
*
|
||||||
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
|
*/
|
||||||
|
|
||||||
|
class LSformElement_supannCompositeAttribute extends LSformElement {
|
||||||
|
|
||||||
|
var $template = 'LSformElement_supannCompositeAttribute.tpl';
|
||||||
|
var $fieldTemplate = 'LSformElement_supannCompositeAttribute_field.tpl';
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Composants des valeurs composites :
|
||||||
|
*
|
||||||
|
* Format :
|
||||||
|
* array (
|
||||||
|
* '[clé composant1]' => array (
|
||||||
|
* 'label' => '[label composant]',
|
||||||
|
* 'type' => '[type de composant]',
|
||||||
|
* 'table' => '[table de nomenclature correspondante]',
|
||||||
|
* 'required' => '[booléen obligatoire]'
|
||||||
|
* ),
|
||||||
|
* '[clé composant 2]' => array (
|
||||||
|
* [...]
|
||||||
|
* ),
|
||||||
|
* [...]
|
||||||
|
* )
|
||||||
|
* Types :
|
||||||
|
* - 'table' => Composant alimenté à partir d'une table issu de la
|
||||||
|
* nomenclature SUPANN. Le paramètre 'table' permet alors
|
||||||
|
* de spécifier quel table SUPANN intéroger.
|
||||||
|
* - 'codeEntite' => Composant stockant le code d'une entite SUPANN de
|
||||||
|
* l'annuaire.
|
||||||
|
* - 'text' => saisie manuelle
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
var $components = array ();
|
||||||
|
|
||||||
|
var $_postParsedData=null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retourne les infos d'affichage de l'élément
|
||||||
|
*
|
||||||
|
* Cette méthode retourne les informations d'affichage de l'élement
|
||||||
|
*
|
||||||
|
* @retval array
|
||||||
|
*/
|
||||||
|
function getDisplay(){
|
||||||
|
$return = $this -> getLabelInfos();
|
||||||
|
|
||||||
|
$parseValues=array();
|
||||||
|
$invalidValues=array();
|
||||||
|
foreach($this -> values as $val) {
|
||||||
|
$keyValue=supannParseCompositeValue($val);
|
||||||
|
if ($keyValue) {
|
||||||
|
$parseValue=array('value' => $val);
|
||||||
|
foreach($keyValue as $key => $value) {
|
||||||
|
$parseValue[$key]=$this -> translateComponentValue($key,$value);
|
||||||
|
}
|
||||||
|
$parseValues[]=$parseValue;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$invalidValues[]=$val;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$return['html'] = $this -> fetchTemplate(NULL,
|
||||||
|
array(
|
||||||
|
'parseValues' => $parseValues,
|
||||||
|
'components' => $this -> components
|
||||||
|
)
|
||||||
|
);
|
||||||
|
LSsession :: addCssFile('LSformElement_supannCompositeAttribute.css');
|
||||||
|
if (!$this -> isFreeze()) {
|
||||||
|
LSsession :: addJSconfigParam(
|
||||||
|
$this -> name,
|
||||||
|
array(
|
||||||
|
'searchBtn' => _('Modify'),
|
||||||
|
'noValueLabel' => _('No set value'),
|
||||||
|
'noResultLabel' => _('No result'),
|
||||||
|
'components' => $this->components
|
||||||
|
)
|
||||||
|
);
|
||||||
|
LSsession :: addJSscript('LSformElement_supannCompositeAttribute_field_value_component.js');
|
||||||
|
LSsession :: addJSscript('LSformElement_supannCompositeAttribute_field_value.js');
|
||||||
|
LSsession :: addJSscript('LSformElement_supannCompositeAttribute_field.js');
|
||||||
|
LSsession :: addJSscript('LSformElement_supannCompositeAttribute.js');
|
||||||
|
}
|
||||||
|
return $return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retourne le code HTML d'un champ vide
|
||||||
|
*
|
||||||
|
* @retval string Code HTML d'un champ vide.
|
||||||
|
*/
|
||||||
|
function getEmptyField() {
|
||||||
|
return $this -> fetchTemplate($this -> fieldTemplate,array('components' => $this -> components));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Traduit la valeur d'un composant
|
||||||
|
*
|
||||||
|
* Retourne un array contenant :
|
||||||
|
* - label : l'étiquette de la valeur ou 'no' sinon
|
||||||
|
* - value : la valeur brute
|
||||||
|
* - translated : la valeur traduite ou la valeur elle même
|
||||||
|
*
|
||||||
|
* @param[in] $c string Le nom du composant
|
||||||
|
* @param[in] $val string La valeur
|
||||||
|
*
|
||||||
|
* @retval array
|
||||||
|
**/
|
||||||
|
function translateComponentValue($c,$val) {
|
||||||
|
$retval = array (
|
||||||
|
'translated' => $val,
|
||||||
|
'label' => 'no',
|
||||||
|
'value' => $val,
|
||||||
|
);
|
||||||
|
if (isset($this -> components[$c])) {
|
||||||
|
if ($this -> components[$c]['type']=='table') {
|
||||||
|
$pv=supannParseLabeledValue($val);
|
||||||
|
if ($pv) {
|
||||||
|
$retval['label'] = $pv['label'];
|
||||||
|
$retval['translated'] = supannGetNomenclatureLabel($this -> components[$c]['table'],$pv['label'],$pv['value']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
elseif ($this -> components[$c]['type']=='codeEntite') {
|
||||||
|
$retval['translated']=supanGetEntiteNameById($val);
|
||||||
|
}
|
||||||
|
//elseif type == 'text' => aucune transformation
|
||||||
|
}
|
||||||
|
return $retval;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Recupère la valeur de l'élement passée en POST
|
||||||
|
*
|
||||||
|
* Cette méthode vérifie la présence en POST de la valeur de l'élément et la récupère
|
||||||
|
* pour la mettre dans le tableau passer en paramètre avec en clef le nom de l'élément
|
||||||
|
*
|
||||||
|
* @param[] array Pointeur sur le tableau qui recupèrera la valeur.
|
||||||
|
*
|
||||||
|
* @retval boolean true si la valeur est présente en POST, false sinon
|
||||||
|
*/
|
||||||
|
function getPostData(&$return) {
|
||||||
|
if($this -> isFreeze()) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
$count=0;
|
||||||
|
$end=false;
|
||||||
|
$parseValues=array();
|
||||||
|
$return[$this -> name]=array();
|
||||||
|
while ($end==false) {
|
||||||
|
$value="";
|
||||||
|
$parseValue=array();
|
||||||
|
$errors=array();
|
||||||
|
$unemptyComponents=array();
|
||||||
|
foreach ($this -> components as $c => $cconf) {
|
||||||
|
if (isset($_POST[$this -> name.'__'.$c][$count])) {
|
||||||
|
$parseValue[$c]=$_POST[$this -> name.'__'.$c][$count];
|
||||||
|
if ($cconf['required'] && empty($parseValue[$c])) {
|
||||||
|
$errors[]=getFData(__('Component %{c} must be defined'),__($cconf['label']));
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (empty($parseValue[$c])) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
$unemptyComponents[]=$c;
|
||||||
|
if ($cconf['type']=='table') {
|
||||||
|
$pv=supannParseLabeledValue($parseValue[$c]);
|
||||||
|
if ($pv) {
|
||||||
|
if (!supannValidateNomenclatureValue($cconf['table'],$pv['label'],$pv['value'])) {
|
||||||
|
$errors[]=getFData(__('Invalid value for component %{c}.'),__($cconf['label']));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$errors[]=getFData(__('Unparsable value for component %{c}.'),__($cconf['label']));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
elseif ($cconf['type']=='codeEntite') {
|
||||||
|
if (!supannValidateEntityId($parseValue[$c])) {
|
||||||
|
$errors[]=getFData(__('Invalid value for component %{c}.'),__($cconf['label']));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (is_array($cconf['check_data'])) {
|
||||||
|
foreach($cconf['check_data'] as $ruleType => $rconf) {
|
||||||
|
$className='LSformRule_'.$ruleType;
|
||||||
|
if (LSsession::loadLSclass($className)) {
|
||||||
|
$r=new $className();
|
||||||
|
if (!$r -> validate($parseValue[$c],$rconf,$this)) {
|
||||||
|
if (isset($rconf['msg'])) {
|
||||||
|
$errors[]=getFData(__($rconf['msg']),__($cconf['label']));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$errors[]=getFData(__('Invalid value for component %{c}.'),__($cconf['label']));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$errors[]=getFData(__("Can't validate value of component %{c}."),__($cconf['label']));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$value.="[".$c."=".$parseValue[$c].']';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// end of value break
|
||||||
|
$end=true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
if (!$end) {
|
||||||
|
if (!empty($unemptyComponents)) {
|
||||||
|
foreach($errors as $e) {
|
||||||
|
$this -> form -> setElementError($this -> attr_html,$e);
|
||||||
|
}
|
||||||
|
$return[$this -> name][]=$value;
|
||||||
|
$parseValues[]=$parseValue;
|
||||||
|
}
|
||||||
|
$count++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$this -> _postParsedData=$parseValues;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This ajax method is used by the searchComponentPossibleValues function of the form element.
|
||||||
|
*
|
||||||
|
* @param[in] $data The address to the array of data witch will be return by the ajax request
|
||||||
|
*
|
||||||
|
* @retval void
|
||||||
|
**/
|
||||||
|
public static function ajax_searchComponentPossibleValues(&$data) {
|
||||||
|
if ((isset($_REQUEST['attribute'])) && (isset($_REQUEST['objecttype'])) && (isset($_REQUEST['component'])) && (isset($_REQUEST['pattern'])) && (isset($_REQUEST['idform'])) ) {
|
||||||
|
if (LSsession ::loadLSobject($_REQUEST['objecttype'])) {
|
||||||
|
$object = new $_REQUEST['objecttype']();
|
||||||
|
$form = $object -> getForm($_REQUEST['idform']);
|
||||||
|
$field=$form -> getElement($_REQUEST['attribute']);
|
||||||
|
if (isset($field->components[$_REQUEST['component']])) {
|
||||||
|
$data['possibleValues'] = $field -> searchComponentPossibleValues($_REQUEST['component'],$_REQUEST['pattern']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function searchComponentPossibleValues($c,$pattern) {
|
||||||
|
$pattern=strtolower($pattern);
|
||||||
|
$retval=array();
|
||||||
|
if (isset($this -> components[$c])) {
|
||||||
|
if ($this -> components[$c]['type'] == 'table') {
|
||||||
|
$table=supannGetNomenclatureTable($this -> components[$c]['table']);
|
||||||
|
foreach($table as $label => $values) {
|
||||||
|
foreach($values as $v => $txt) {
|
||||||
|
if (strpos(strtolower($txt),$pattern)!==false) {
|
||||||
|
$retval[]=array(
|
||||||
|
'label' => $label,
|
||||||
|
'value' => "{".$label."}".$v,
|
||||||
|
'translated' => $txt
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
elseif ($this -> components[$c]['type'] == 'codeEntite') {
|
||||||
|
foreach (supannSearchEntityByPattern($pattern) as $code => $displayName) {
|
||||||
|
$retval[]=array(
|
||||||
|
'label' => 'no',
|
||||||
|
'value' => $code,
|
||||||
|
'translated' => $displayName
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $retval;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
|
@ -34,17 +34,7 @@ LSsession :: loadLSaddon('supann');
|
||||||
|
|
||||||
class LSformElement_supannEtablissement extends LSformElement_supannLabeledValue {
|
class LSformElement_supannEtablissement extends LSformElement_supannLabeledValue {
|
||||||
|
|
||||||
/**
|
var $supannNomenclatureTable = 'codeEtablissement';
|
||||||
* Traduit une valeur
|
|
||||||
*
|
|
||||||
* @param[in] $value La valeur
|
|
||||||
*
|
|
||||||
* @retval array Un tableau cle->valeur contenant translated et label ou False
|
|
||||||
**/
|
|
||||||
function translate($value) {
|
|
||||||
return supannTranslateEtablissement($value);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -37,6 +37,8 @@ class LSformElement_supannLabeledValue extends LSformElement {
|
||||||
var $template = 'LSformElement_supannLabeledValue.tpl';
|
var $template = 'LSformElement_supannLabeledValue.tpl';
|
||||||
var $fieldTemplate = 'LSformElement_supannLabeledValue_field.tpl';
|
var $fieldTemplate = 'LSformElement_supannLabeledValue_field.tpl';
|
||||||
|
|
||||||
|
var $supannNomenclatureTable = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne les infos d'affichage de l'élément
|
* Retourne les infos d'affichage de l'élément
|
||||||
*
|
*
|
||||||
|
@ -49,31 +51,33 @@ class LSformElement_supannLabeledValue extends LSformElement {
|
||||||
|
|
||||||
$parseValues=array();
|
$parseValues=array();
|
||||||
foreach($this -> values as $val) {
|
foreach($this -> values as $val) {
|
||||||
$parseValue=array(
|
$parseValues[]=$this -> parseValue($val);
|
||||||
'value' => $val
|
|
||||||
);
|
|
||||||
$tr=$this -> translate($val);
|
|
||||||
if ($tr) {
|
|
||||||
if($tr['translated'])
|
|
||||||
$parseValue['translated']=$tr['translated'];
|
|
||||||
if($tr['label'])
|
|
||||||
$parseValue['label']=$tr['label'];
|
|
||||||
}
|
|
||||||
$parseValues[]=$parseValue;
|
|
||||||
}
|
}
|
||||||
$return['html'] = $this -> fetchTemplate(NULL,array('parseValues' => $parseValues));
|
$return['html'] = $this -> fetchTemplate(NULL,array('parseValues' => $parseValues));
|
||||||
return $return;
|
return $return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Traduit une valeur
|
* Parse une valeur
|
||||||
*
|
*
|
||||||
* @param[in] $value La valeur
|
* @param[in] $value La valeur
|
||||||
*
|
*
|
||||||
* @retval array Un tableau cle->valeur contenant translated et label ou False
|
* @retval array Un tableau cle->valeur contenant value, translated et label
|
||||||
**/
|
**/
|
||||||
function translate($value) {
|
function parseValue($value) {
|
||||||
return supannTranslateLabeledValue($value);
|
$retval=array(
|
||||||
|
'value' => $value,
|
||||||
|
);
|
||||||
|
$pv=supannParseLabeledValue($value);
|
||||||
|
if ($pv) {
|
||||||
|
$retval['label'] = $pv['label'];
|
||||||
|
$retval['translated'] = supannGetNomenclatureLabel($this -> supannNomenclatureTable,$pv['label'],$pv['value']);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$retval['label'] = 'no';
|
||||||
|
$retval['translated'] = getFData(__('%s (Unparsable value)'),$value);
|
||||||
|
}
|
||||||
|
return $retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
LSsession :: loadLSclass('LSformElement');
|
LSsession :: loadLSclass('LSformElement_supannCompositeAttribute');
|
||||||
LSsession :: loadLSaddon('supann');
|
LSsession :: loadLSaddon('supann');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -32,46 +32,29 @@ LSsession :: loadLSaddon('supann');
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class LSformElement_supannRoleEntite extends LSformElement {
|
class LSformElement_supannRoleEntite extends LSformElement_supannCompositeAttribute {
|
||||||
|
|
||||||
var $template = 'LSformElement_supannRoleEntite.tpl';
|
function LSformElement_supannRoleEntite (&$form, $name, $label, $params,&$attr_html){
|
||||||
var $fieldTemplate = 'LSformElement_supannRoleEntite_field.tpl';
|
$this -> components = array (
|
||||||
|
'role' => array (
|
||||||
/**
|
'label' => _('Role'),
|
||||||
* Retourne les infos d'affichage de l'élément
|
'type' => 'table',
|
||||||
*
|
'table' => 'roleGenerique',
|
||||||
* Cette méthode retourne les informations d'affichage de l'élement
|
'required' => true,
|
||||||
*
|
),
|
||||||
* @retval array
|
'type' => array (
|
||||||
*/
|
'label' => _('Entity type'),
|
||||||
function getDisplay(){
|
'type' => 'table',
|
||||||
$return = $this -> getLabelInfos();
|
'table' => 'typeEntite',
|
||||||
|
'required' => true,
|
||||||
$parseValues=array();
|
),
|
||||||
foreach($this -> values as $val) {
|
'code' => array (
|
||||||
$keyValue=supannParseCompositeValue($val);
|
'label' => _('Entity'),
|
||||||
if ($keyValue) {
|
'type' => 'codeEntite',
|
||||||
$parseValue=array('value' => $val);
|
'required' => false
|
||||||
foreach($keyValue as $key => $value) {
|
)
|
||||||
$parseValue[$key]=array(
|
|
||||||
'value' => $value
|
|
||||||
);
|
);
|
||||||
$tr=supannTranslateRoleEntiteValue($key,$value);
|
return parent::LSformElement ($form, $name, $label, $params,$attr_html);
|
||||||
if ($tr) {
|
|
||||||
if($tr['translated'])
|
|
||||||
$parseValue[$key]['translated']=$tr['translated'];
|
|
||||||
if($tr['label'])
|
|
||||||
$parseValue[$key]['label']=$tr['label'];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$parseValues[]=$parseValue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$return['html'] = $this -> fetchTemplate(NULL,array('parseValues' => $parseValues));
|
|
||||||
return $return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
|
||||||
|
|
|
@ -34,17 +34,7 @@ LSsession :: loadLSaddon('supann');
|
||||||
|
|
||||||
class LSformElement_supannRoleGenerique extends LSformElement_supannLabeledValue {
|
class LSformElement_supannRoleGenerique extends LSformElement_supannLabeledValue {
|
||||||
|
|
||||||
/**
|
var $supannNomenclatureTable = 'roleGenerique';
|
||||||
* Traduit une valeur
|
|
||||||
*
|
|
||||||
* @param[in] $value La valeur
|
|
||||||
*
|
|
||||||
* @retval array Un tableau cle->valeur contenant translated et label ou False
|
|
||||||
**/
|
|
||||||
function translate($value) {
|
|
||||||
return supannTranslateRoleEntiteValue('role',$value);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -34,17 +34,7 @@ LSsession :: loadLSaddon('supann');
|
||||||
|
|
||||||
class LSformElement_supannTypeEntite extends LSformElement_supannLabeledValue {
|
class LSformElement_supannTypeEntite extends LSformElement_supannLabeledValue {
|
||||||
|
|
||||||
/**
|
var $supannNomenclatureTable = 'typeEntite';
|
||||||
* Traduit une valeur
|
|
||||||
*
|
|
||||||
* @param[in] $value La valeur
|
|
||||||
*
|
|
||||||
* @retval array Un tableau cle->valeur contenant translated et label ou False
|
|
||||||
**/
|
|
||||||
function translate($value) {
|
|
||||||
return supannTranslateRoleEntiteValue('type',$value);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
var LSformElement_supannCompositeAttribute = new Class({
|
||||||
|
initialize: function(){
|
||||||
|
this.fields = [];
|
||||||
|
this.initialiseLSformElement_supannCompositeAttribute();
|
||||||
|
},
|
||||||
|
|
||||||
|
initialiseLSformElement_supannCompositeAttribute: function(el) {
|
||||||
|
if (!$type(el)) {
|
||||||
|
el = document;
|
||||||
|
}
|
||||||
|
el.getElements('ul.LSformElement_supannCompositeAttribute').each(function(ul) {
|
||||||
|
this.fields[ul.id] = new LSformElement_supannCompositeAttribute_field(ul);
|
||||||
|
}, this);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
window.addEvent(window.ie ? 'load' : 'domready', function() {
|
||||||
|
varLSformElement_supannCompositeAttribute = new LSformElement_supannCompositeAttribute();
|
||||||
|
});
|
|
@ -0,0 +1,34 @@
|
||||||
|
var LSformElement_supannCompositeAttribute_field = new Class({
|
||||||
|
initialize: function(ul){
|
||||||
|
this.ul=ul;
|
||||||
|
this.dd=ul.getParent();
|
||||||
|
this.name = ul.id;
|
||||||
|
this.values = [];
|
||||||
|
this.field_type = ul.get('data-fieldType');
|
||||||
|
this.initializeLSformElement_supannCompositeAttribute_field();
|
||||||
|
varLSform.addField(this.name,this);
|
||||||
|
},
|
||||||
|
|
||||||
|
initializeLSformElement_supannCompositeAttribute_field: function(el) {
|
||||||
|
if (!$type(el)) {
|
||||||
|
el = this.ul;
|
||||||
|
}
|
||||||
|
el.getElements('li').each(function(li) {
|
||||||
|
this.values.push(new LSformElement_supannCompositeAttribute_field_value(li,this.name,this.field_type));
|
||||||
|
}, this);
|
||||||
|
},
|
||||||
|
|
||||||
|
clearValue: function() {
|
||||||
|
console.log('clear');
|
||||||
|
console.log(this.values);
|
||||||
|
if (this.values.length>1) {
|
||||||
|
for(var i=1; i<=this.values.length; i++) {
|
||||||
|
$(this.values[i].li).dispose();
|
||||||
|
}
|
||||||
|
this.values[0].clear();
|
||||||
|
}
|
||||||
|
else if (this.values.length==1) {
|
||||||
|
this.values[0].clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
|
@ -0,0 +1,29 @@
|
||||||
|
var LSformElement_supannCompositeAttribute_field_value = new Class({
|
||||||
|
initialize: function(li,name,field_type){
|
||||||
|
this.li=li;
|
||||||
|
this.name = name;
|
||||||
|
this.components = {};
|
||||||
|
this.field_type = field_type;
|
||||||
|
this.initializeLSformElement_supannCompositeAttribute_field_value();
|
||||||
|
varLSform.addModule(field_type,this);
|
||||||
|
},
|
||||||
|
|
||||||
|
initializeLSformElement_supannCompositeAttribute_field_value: function(el) {
|
||||||
|
if (!$type(el)) {
|
||||||
|
el = this.li;
|
||||||
|
}
|
||||||
|
el.getElements('p').each(function(p) {
|
||||||
|
this.components[p.get('data-component')]=new LSformElement_supannCompositeAttribute_field_value_component(p,p.get('data-component'),this.name);
|
||||||
|
}, this);
|
||||||
|
},
|
||||||
|
|
||||||
|
reinitialize: function(el) {
|
||||||
|
this.initializeLSformElement_supannCompositeAttribute_field_value(el);
|
||||||
|
},
|
||||||
|
|
||||||
|
clear: function() {
|
||||||
|
for (c in this.components) {
|
||||||
|
this.components[c].clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
|
@ -0,0 +1,174 @@
|
||||||
|
var LSformElement_supannCompositeAttribute_field_value_component = new Class({
|
||||||
|
initialize: function(p,name,field_name){
|
||||||
|
this.p = p;
|
||||||
|
this.field_name = field_name;
|
||||||
|
this.name = name;
|
||||||
|
this.params = varLSdefault.LSjsConfig[this.field_name];
|
||||||
|
|
||||||
|
this.input = p.getElement('input');
|
||||||
|
this.img = p.getElement('img');
|
||||||
|
this.span = p.getElement('span');
|
||||||
|
|
||||||
|
if (this.params.components[this.name].type=="table" || this.params.components[this.name].type=="codeEntite") {
|
||||||
|
this.inputSearch=new Element(
|
||||||
|
'input',
|
||||||
|
{
|
||||||
|
'class': 'LSformElement_supannCompositeAttribute_search',
|
||||||
|
'styles': {
|
||||||
|
'display': 'none'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
this.inputSearch.addEvent('keydown',this.onKeyUpInputSearch.bindWithEvent(this));
|
||||||
|
this.inputSearch.injectInside(this.p);
|
||||||
|
|
||||||
|
this.searchBtn=new Element(
|
||||||
|
'img',
|
||||||
|
{
|
||||||
|
'src': varLSdefault.imagePath('modify'),
|
||||||
|
'alt': this.params.searchBtn,
|
||||||
|
'title': this.params.searchBtn,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
this.searchBtn.addEvent('click',this.toogleInputSearch.bind(this));
|
||||||
|
this.searchBtn.injectBefore(this.inputSearch);
|
||||||
|
|
||||||
|
this._lastSearch=null;
|
||||||
|
this._possibleValues=null;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
toogleInputSearch: function() {
|
||||||
|
if (this.inputSearch.getStyle('display')=='none') {
|
||||||
|
this.inputSearch.setStyle('display','block');
|
||||||
|
this.inputSearch.focus();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
this.hidePossibleValues();
|
||||||
|
this.inputSearch.setStyle('display','none');
|
||||||
|
this.inputSearch.set('value','');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
onKeyUpInputSearch: function(event) {
|
||||||
|
event = new Event(event);
|
||||||
|
|
||||||
|
if ((event.key=='enter')||(event.key=='tab')) {
|
||||||
|
event.stop();
|
||||||
|
if (this.inputSearch.value!="") {
|
||||||
|
this.launchSearch();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (event.key=='esc') {
|
||||||
|
this.toogleInputSearch();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
launchSearch: function() {
|
||||||
|
this.hidePossibleValues();
|
||||||
|
this._lastSearch=this.inputSearch.value;
|
||||||
|
var data = {
|
||||||
|
template: 'LSformElement_supannCompositeAttribute',
|
||||||
|
action: 'searchComponentPossibleValues',
|
||||||
|
attribute: this.field_name,
|
||||||
|
objecttype: varLSform.objecttype,
|
||||||
|
idform: varLSform.idform,
|
||||||
|
component: this.name,
|
||||||
|
pattern: this.inputSearch.value
|
||||||
|
};
|
||||||
|
data.imgload=varLSdefault.loadingImgDisplay(this.inputSearch);
|
||||||
|
new Request({url: 'index_ajax.php', data: data, onSuccess: this.onSearchComplete.bind(this)}).send();
|
||||||
|
},
|
||||||
|
|
||||||
|
onSearchComplete: function(responseText, responseXML) {
|
||||||
|
var data = JSON.decode(responseText);
|
||||||
|
if ( varLSdefault.checkAjaxReturn(data) ) {
|
||||||
|
this.displayPossibleValues(data.possibleValues);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
displayPossibleValues: function(possibleValues) {
|
||||||
|
if (this._possibleValues==null) {
|
||||||
|
this._possibleValues=new Element(
|
||||||
|
'div',
|
||||||
|
{
|
||||||
|
'class': 'supannCompositeAttribute_possibleValues',
|
||||||
|
}
|
||||||
|
);
|
||||||
|
this._possibleValues.injectInside(this.p);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var ul=new Element('ul');
|
||||||
|
possibleValues.each(function(v) {
|
||||||
|
var li=new Element(
|
||||||
|
'li',
|
||||||
|
{
|
||||||
|
'data-value': v.value,
|
||||||
|
'data-label': v.label,
|
||||||
|
'data-translated': v.translated,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
if (v.label!='no') {
|
||||||
|
li.set('html',"<img src='"+varLSdefault.imagePath('supann_label_'+v.label)+"' alt='["+v.label+"]'/> "+v.translated);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
li.set('html',v.translated);
|
||||||
|
}
|
||||||
|
li.injectInside(this);
|
||||||
|
}, ul);
|
||||||
|
if (ul.getElements('li').length==0) {
|
||||||
|
new Element(
|
||||||
|
'li',
|
||||||
|
{
|
||||||
|
'html': this.params.noResultLabel
|
||||||
|
}
|
||||||
|
).injectInside(ul);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
ul.getElements('li').each(function(li) {
|
||||||
|
li.addEvent('click',this.onClickPossibleValue.bindWithEvent(this));
|
||||||
|
}, this);
|
||||||
|
}
|
||||||
|
ul.injectInside(this._possibleValues);
|
||||||
|
this._possibleValues.setStyle('display', 'block');
|
||||||
|
},
|
||||||
|
|
||||||
|
hidePossibleValues: function() {
|
||||||
|
if (this._possibleValues!=null) {
|
||||||
|
this._possibleValues.setStyle('display', 'none');
|
||||||
|
this._possibleValues.empty();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
onClickPossibleValue: function(event) {
|
||||||
|
this.hidePossibleValues();
|
||||||
|
event = new Event(event);
|
||||||
|
var li=$(event.target);
|
||||||
|
if (event.target.tagName=='IMG') {
|
||||||
|
li=li.getParent();
|
||||||
|
}
|
||||||
|
this.input.set('value',li.get('data-value'));
|
||||||
|
if (li.get('data-label')!='no') {
|
||||||
|
if (this.img==null) {
|
||||||
|
this.img=new Element('img');
|
||||||
|
this.img.injectBefore(this.span);
|
||||||
|
}
|
||||||
|
this.img.set('src',varLSdefault.imagePath('supann_label_'+li.get('data-label')));
|
||||||
|
}
|
||||||
|
this.span.set('html',li.get('data-translated'));
|
||||||
|
this.toogleInputSearch();
|
||||||
|
},
|
||||||
|
|
||||||
|
clear: function() {
|
||||||
|
if (this.img) {
|
||||||
|
this.img.dispose();
|
||||||
|
this.img=null;
|
||||||
|
}
|
||||||
|
this.input.set('value','');
|
||||||
|
if (this.span) {
|
||||||
|
this.span.set('html',this.params.noValueLabel);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
Binary file not shown.
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,7 @@
|
||||||
|
<ul class='LSform {if $multiple && !$freeze} LSformElement_multiple{/if} LSformElement_supannCompositeAttribute' id='{$attr_name}' data-fieldType="{$fieldType}">
|
||||||
|
{foreach from=$parseValues item=parseValue}
|
||||||
|
<li>{include file="ls:$fieldTemplate"}</li>
|
||||||
|
{foreachelse}
|
||||||
|
<li {if $freeze}class='noValue'{/if}>{include file="ls:$fieldTemplate"}</li>
|
||||||
|
{/foreach}
|
||||||
|
</ul>
|
|
@ -0,0 +1,37 @@
|
||||||
|
{if $freeze}
|
||||||
|
{if isset($parseValue)}
|
||||||
|
{foreach $components as $c => $cconf}
|
||||||
|
{if !isset($parseValue[$c])}{continue}{/if}
|
||||||
|
<p>
|
||||||
|
<label>{tr msg=$cconf.label} : </label>
|
||||||
|
{if !empty($parseValue[$c].label) and $parseValue[$c].label!='no'}
|
||||||
|
{assign var=clabel value=$parseValue[$c].label}
|
||||||
|
<img src='{img name="supann_label_$clabel"}' alt='[{$clabel}]' title='{$clabel}'/>
|
||||||
|
{/if}
|
||||||
|
<span title="{$parseValue[$c].value}">{$parseValue[$c].translated}</span>
|
||||||
|
</p>
|
||||||
|
{/foreach}
|
||||||
|
{else}
|
||||||
|
{$noValueTxt}
|
||||||
|
{/if}
|
||||||
|
{else}
|
||||||
|
{foreach $components as $c => $cconf}
|
||||||
|
<p data-component="{$c}">
|
||||||
|
<label>{tr msg=$cconf.label}{if $cconf.required}*{/if} :</label>
|
||||||
|
{if $cconf.type=='table' or $cconf.type=='codeEntite'}
|
||||||
|
<input type='hidden' name='{$attr_name}__{$c}[]' value="{if $parseValue and $parseValue[$c]}{$parseValue[$c].value}{/if}"/>
|
||||||
|
{if $parseValue and !empty($parseValue[$c].label) and $parseValue[$c].label!='no'}
|
||||||
|
{assign var=clabel value=$parseValue[$c].label}
|
||||||
|
<img src='{img name="supann_label_$clabel"}' alt='[{$clabel}]' title='{$clabel}'/>
|
||||||
|
{/if}
|
||||||
|
{if $parseValue}
|
||||||
|
<span title="{$parseValue[$c].value}">{$parseValue[$c].translated}</span>
|
||||||
|
{else}
|
||||||
|
<span>{$noValueTxt}</span>
|
||||||
|
{/if}
|
||||||
|
{else}
|
||||||
|
<input type='text' name='{$attr_name}__{$c}[]' value="{if $parseValue and $parseValue[$c]}{$parseValue[$c].value}{/if}"/>
|
||||||
|
{/if}
|
||||||
|
</p>
|
||||||
|
{/foreach}
|
||||||
|
{/if}
|
|
@ -1,7 +1,7 @@
|
||||||
{if $freeze}
|
{if $freeze}
|
||||||
{if $value or $parseValue}
|
{if $value or $parseValue}
|
||||||
{if $parseValue}
|
{if $parseValue}
|
||||||
<span class='LSformElement_supannLabeledValue'>{if $label}<img src='{img name="LSformElement_supannLabeledValue_label_$label"}' alt='[{$label}]' title='{$label}' /> {/if}<span title='{$parseValue.value}'>{$value}</span></span>
|
<span class='LSformElement_supannLabeledValue'>{if $label}<img src='{img name="supann_label_$label"}' alt='[{$label}]' title='{$label}' /> {/if}<span title='{$parseValue.value}'>{$value}</span></span>
|
||||||
{else}
|
{else}
|
||||||
<span class='LSformElement_supannLabeledValue_unparsed'>{$value}</span>
|
<span class='LSformElement_supannLabeledValue_unparsed'>{$value}</span>
|
||||||
{/if}
|
{/if}
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
<ul class='LSform{if $multiple && !$freeze} LSformElement_multiple'{/if}' id='{$attr_name}'>
|
|
||||||
{if $parseValues}
|
|
||||||
{foreach from=$parseValues item=parseValue}
|
|
||||||
{if $parseValue.role.translated}{assign var=role value=$parseValue.role.translated}{else}{assign var=role value=$parseValue.role.value}{/if}
|
|
||||||
{if $parseValue.role.label!="no"}{assign var=label_role value=$parseValue.role.label}{else}{assign var=label_role value=""}{/if}
|
|
||||||
{if $parseValue.type.translated}{assign var=type value=$parseValue.type.translated}{else}{assign var=type value=$parseValue.type.value}{/if}
|
|
||||||
{if $parseValue.type.label!="no"}{assign var=label_type value=$parseValue.type.label}{else}{assign var=label_type value=""}{/if}
|
|
||||||
{if $parseValue.code.translated}{assign var=code value=$parseValue.code.translated}{else}{assign var=code value=$parseValue.code.value}{/if}
|
|
||||||
{if $parseValue.code.label!="no"}{assign var=label_code value=$parseValue.code.label}{else}{assign var=label_code value=""}{/if}
|
|
||||||
<li>{include file="ls:$fieldTemplate"}</li>
|
|
||||||
{foreachelse}
|
|
||||||
{assign var=value value=""}
|
|
||||||
{assign var=parseValue value=""}
|
|
||||||
<li>{include file="ls:$fieldTemplate"}</li>
|
|
||||||
{/foreach}
|
|
||||||
{else}
|
|
||||||
{foreach from=$values item=value}
|
|
||||||
<li>{include file="ls:$fieldTemplate"}</li>
|
|
||||||
{foreachelse}
|
|
||||||
{assign var=value value=""}
|
|
||||||
{assign var=parseValue value=""}
|
|
||||||
<li>{include file="ls:$fieldTemplate"}</li>
|
|
||||||
{/foreach}
|
|
||||||
{/if}
|
|
||||||
</ul>
|
|
|
@ -1,17 +0,0 @@
|
||||||
{if $freeze}
|
|
||||||
{if $value or $parseValue}
|
|
||||||
{if $parseValue}
|
|
||||||
<span class='LSformElement_supannRoleEntite'>{if $label_role}<img src='{img name="LSformElement_supannRoleEntite_label_$label_role"}' alt='[{$label_role}]' title='{$label_role}' /> {/if}<span title='{$parseValue.role.value}'>{$role}</span> : {if $label_code}<img src='{img name="LSformElement_supannRoleEntite_label_$label_code"}' alt='[{$label_code}]' title='{$label_code}' /> {/if}<span title='{$parseValue.code.value}'>{$code}</span> ({if $label_type}<img src='{img name="LSformElement_supannRoleEntite_label_$label_type"}' alt='[{$label_type}]' title='{$label_type}' /> {/if}<span title='{$parseValue.type.value}'>{$type}</span>)</span>
|
|
||||||
{else}
|
|
||||||
<span class='LSformElement_supannRoleEntite_unparsed'>{$value}</span>
|
|
||||||
{/if}
|
|
||||||
{else}
|
|
||||||
{$noValueTxt}
|
|
||||||
{/if}
|
|
||||||
{else}
|
|
||||||
{if $parseValue}
|
|
||||||
<input type='text' name='{$attr_name}[]' class='LSformElement_text' value="{$parseValue.value}" autocomplete="off"/>
|
|
||||||
{else}
|
|
||||||
<input type='text' name='{$attr_name}[]' class='LSformElement_text' value="{$value}" autocomplete="off"/>
|
|
||||||
{/if}
|
|
||||||
{/if}
|
|
Loading…
Reference in a new issue