From 43cf5ccd7a0ff5a116e20d0bf15c030df2e23adc Mon Sep 17 00:00:00 2001 From: Benjamin Renard Date: Tue, 22 Sep 2020 16:11:11 +0200 Subject: [PATCH] LSaddon SUPANN: add support for some attributes Add support of following attributes: - supannCivilite: add supannGetCivilitePossibleValues() - eduPersonAffiliation: add supannGetAffiliationPossibleValues() and supannCheckEduPersonAffiliation() - supannCheckEduPersonAffiliation: add supannGetAffiliationPossibleValues() and supannCheckEduPersonPrimaryAffiliation() - supannCheckEduPersonPrimaryAffiliation: add generate_eduPersonPrincipalName() --- doc/conf/LSattribute/validation.docbook | 12 +- src/conf/LSaddons/config.LSaddons.supann.php | 26 ++++ src/includes/addons/LSaddons.supann.php | 116 +++++++++++++++++- src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo | Bin 62658 -> 63298 bytes src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po | 66 +++++++++- src/lang/ldapsaisie.pot | 64 +++++++++- 6 files changed, 272 insertions(+), 12 deletions(-) diff --git a/doc/conf/LSattribute/validation.docbook b/doc/conf/LSattribute/validation.docbook index cf1f76ae..e6b4970c 100644 --- a/doc/conf/LSattribute/validation.docbook +++ b/doc/conf/LSattribute/validation.docbook @@ -3,7 +3,7 @@ Cette section décrit la manière de configurer des règles de vérification d'intégrité sur les données des attributs. Il est possible de valider la valeur de l'attribut par l'intermédiraire de la vérification de résultat d'une - recherche paramètrable dans l'annuaire ou encore d'appeler une fonction de + recherche paramètrable dans l'annuaire ou encore d'appeler une fonction de votre choix pour effectuer la vérification voulue. @@ -12,7 +12,7 @@ pas en conflit avec d'autres objets de l'annuaire. Ce test peut également permetre de vérifier si les valeurs devant faire référence à d'autres objets de l'annuaire sont correctes. - + Structure... array ( @@ -103,10 +103,10 @@ Validation par l'exécution d'une fonction Il est possible d'effectuer la validation de l'attribut par l'exécution - d'une fonction de votre choix. Il lui sera passé en paramètre le LSobject - complet. Si la fonction ne retourne pas true, la - validation échouera. - + d'une fonction de votre choix. Il lui sera passé en paramètre une référence à + l'objet LSldapObject courant. Si la fonction ne retourne + pas true, la validation échouera. + Structure... array ( diff --git a/src/conf/LSaddons/config.LSaddons.supann.php b/src/conf/LSaddons/config.LSaddons.supann.php index f6ebbea8..86a6b249 100644 --- a/src/conf/LSaddons/config.LSaddons.supann.php +++ b/src/conf/LSaddons/config.LSaddons.supann.php @@ -45,6 +45,32 @@ $GLOBALS['LS_SUPANN_ETABLISSEMENT_DN'] = 'supannCodeEntite=XXX,ou=structures,dc= // Exemple : 0753742K $GLOBALS['LS_SUPANN_ETABLISSEMENT_UAI'] = '0753742K'; +// LSformat de l'attribut eduPersonPrincipalName +$GLOBALS['LS_SUPANN_EPPN_FORMAT'] = "%{uid}@univ.fr"; + +// Liste des valeurs possibles des affiliations et leur label +$GLOBALS['LS_SUPANN_AFFILIATIONS'] = array ( + 'affiliate' => ___('Affiliate'), + 'alum' => ___('Alumnus'), + 'employee' => ___('Employee'), + 'faculty' => ___('Faculty'), + 'member' => ___('Member'), + 'student' => ___('Student'), + 'retired' => ___('Retired'), + 'teacher' => ___('Teacher'), + 'staff' => ___('Staff'), + 'researcher' => ___('Researcher'), + 'emeritus' => ___('Emeritus teacher'), + 'library-walk-in' => ___('Library - walk-in'), + 'registered-reader' => ___('Library - registered'), +); + +// Liste des valeurs possibles de la civilité d'une personne et leur label +$GLOBALS['LS_SUPANN_CIVILITES'] = array ( + 'Mme' => ___('Mrs.'), + 'M.' => ___('Mr.'), +); + /* * Nomenclatures SUPANN * diff --git a/src/includes/addons/LSaddons.supann.php b/src/includes/addons/LSaddons.supann.php index 40213d48..4eb30f34 100644 --- a/src/includes/addons/LSaddons.supann.php +++ b/src/includes/addons/LSaddons.supann.php @@ -57,7 +57,8 @@ LSerror :: defineError('SUPANN_02', 'LS_SUPANN_LSOBJECT_ENTITE_TYPE', 'LS_SUPANN_LSOBJECT_ENTITE_FORMAT_SHORTNAME', 'LS_SUPANN_ETABLISSEMENT_UAI', - 'LS_SUPANN_ETABLISSEMENT_DN' + 'LS_SUPANN_ETABLISSEMENT_DN', + 'LS_SUPANN_EPPN_FORMAT', ); foreach($MUST_DEFINE_STRING as $string) { @@ -74,6 +75,8 @@ LSerror :: defineError('SUPANN_02', } $MUST_DEFINE_ARRAY= array( + 'LS_SUPANN_CIVILITES', + 'LS_SUPANN_AFFILIATIONS', 'supannNomenclatures', ); foreach($MUST_DEFINE_ARRAY as $array) { @@ -425,3 +428,114 @@ LSerror :: defineError('SUPANN_02', } return $retval; } + +/** + * Retourne les valeurs possibles de l'attribut supannCivilite. + * + * Cette fonction est prévue pour pouvoir être utilisé comme paramètre + * get_possible_values de la configuration HTML de l'attribut + * supannCivilite avec un type d'attribut HTML select_list (ou select_box). + * + * @param[in] $options La configuration HTML de l'attribut + * @param[in] $name Le nom de l'attribut + * @param[in] &$ldapObject Une référence à l'object LSldapObject + * + * @retval array Tableau contenant les valeurs possibles de l'attribut + * (avec les labels traduits). + **/ +function supannGetCivilitePossibleValues($options, $name, &$ldapObject) { + $retval = array(); + foreach($GLOBALS['LS_SUPANN_CIVILITES'] as $value => $label) + $retval[$value] = __($label); + return $retval; +} + +/** + * Retourne les valeurs possibles des affiliations. + * + * Cette fonction est prévue pour pouvoir être utilisé comme paramètre + * get_possible_values de la configuration HTML de l'attribut + * eduPersonAffiliation (par exemple) avec un type d'attribut HTML select_list. + * + * @param[in] $options La configuration HTML de l'attribut + * @param[in] $name Le nom de l'attribut + * @param[in] &$ldapObject Une référence à l'object LSldapObject + * + * @retval array Tableau contenant les valeurs possibles de l'attribut + * (avec les labels traduits). + **/ +function supannGetAffiliationPossibleValues($options, $name, &$ldapObject) { + $retval = array(); + foreach($GLOBALS['LS_SUPANN_AFFILIATIONS'] as $value => $label) + $retval[$value] = __($label); + return $retval; +} + +/** + * Vérifie les valeurs de l'attribut eduPersonAffiliation + * + * Cette fonction est prévue pour pouvoir être utilisé comme paramètre + * function de la configuration de validation de l'intégrité des valeurs + * de l'attribut eduPersonAffiliation (paramètre validation). + * + * Elle s'assure que des valeurs affiliate et member n'ont pas été toutes + * les deux selectionnées, car elles sont incompatibles. + * + * @author Benjamin Dauvergne + * + * @param[in] &$ldapObject Une référence à l'object LSldapObject + * @author Benjamin Dauvergne + * + * @retval boolean True si les valeurs sont valides, False sinon + **/ +global $_supannCheckEduPersonAffiliation_checked; +$_supannCheckEduPersonAffiliation_checked = false; +function supannCheckEduPersonAffiliation(&$ldapObject) { + global $_supannCheckEduPersonAffiliation_checked; + $values = $ldapObject->getValue('eduPersonAffiliation'); + + if (!$_supannCheckEduPersonAffiliation_checked && in_array('affiliate', $values) && in_array('member', $values)) { + $_supannCheckEduPersonAffiliation_checked = true; + return false; + } + return true; +} + +/** + * Vérifie la valeur de l'attribut eduPersonPrimaryAffiliation + * + * Cette fonction est prévue pour pouvoir être utilisé comme paramètre + * function de la configuration de validation de l'intégrité des valeurs + * de l'attribut eduPersonPrimaryAffiliation (paramètre validation). + * + * Elle s'assure que la valeur de l'attribut eduPersonPrimaryAffiliation + * fait bien partie des valeurs de l'attribut eduPersonAffiliation. + * + * @author Benjamin Dauvergne + * + * @param[in] &$ldapObject Une référence à l'object LSldapObject + * + * @retval boolean True si la valeur est valide, False sinon + **/ +function supannCheckEduPersonPrimaryAffiliation(&$ldapObject) { + $primary = $ldapObject->getValue('eduPersonPrimaryAffiliation'); + $affiliations = $ldapObject->getValue('eduPersonAffiliation'); + if (!array_intersect($primary, $affiliations)) + return false; + return true; +} + +/** + * Géneration de la valeur de l'attribut eduPersonPrincipalName + * à partir du LSformat configuré dans $GLOBALS['LS_SUPANN_EPPN_FORMAT'] + * + * @author Benjamin Renard + * + * @param[in] $ldapObject L'objet ldap + * + * @retval array La valeur de l'attribut eduPersonOrgDN ou false + * si il y a un problème durant la génération + */ +function generate_eduPersonPrincipalName($ldapObject) { + return $ldapObject -> getFData($GLOBALS['LS_SUPANN_EPPN_FORMAT']); +} diff --git a/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo b/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo index 7df6033aeffdbef857ac355659f913d8f2929caa..4e4107875111de2aefa72d192a892ecd976550be 100644 GIT binary patch delta 10905 zcmZA62VB?*64EF?aEA9y@t{eyoihH4$qZIH#P=>M`WsfF*CE_%t2ae zrb*c_E6vO_(=si)X_ig1?)`i@$NTbi|1W>M&+q)#S^xj@fJd+S9=+k~{j!?h6Nc@I zk1=&Irm``MN*R+@U$w?8ZedJy%*Up<0YmX^?1{Iq6^6GoMyEW0ZSY~Nhg&cR-*J9{ zoML{$U}LP zaXIR^=deF+#ZKJc{6c|$rWMWBjpH#2r{Zwjj$`p3?1f|K{(ZO(b%WEW5&9DS@E2^3 ze_{YO46`?Gf%Mq4Lw}6LAntDlQ&3M6aS(d3Dt>?(!Y@%ndj~6Eown|RsJtDP!w6IZ z`e8*J?CQt4JQ*ufpMz@H0`yj+u#|#^@)^_+z3M!Sy1_fB2AxJ7e-+!{pQ!ViwX^#p zQ6n+jIT_WlIj9jSM6H>lI0Sv#GyZ)j3~O(Pehq49wqX_Ajb-pCs>R2#4xYmDcmuU4 zZ#zT6jcGvM7d3LpSkhDMOTH9G;VF#479AM>XbR~a7&hFE+Ho7z;>eE1P&AV<64#*` zd>(aP!%oJ;p$CWKe$)t-?`#Z*m_TfT{jeFP<3L=EJOJjBmx69ou8VDXIO>EEsGiS2 zKb(sik%btHYfwGgfrIcB3_>4PW;F~(t$~)P26e$o7>T;x5UhdTI0{-kQ&AVpL)~Z& zR>tM%!Dmnx^y_MSRt@!-#iEW&b@?pRh1a2`s0bg#!#DuzcQa-dreeCD|H~96QZc-{ zbr0&P2<&0ZbS%JJ^p7Yx!90ZVibZ(u#FOKa}OZm6|WfSLGxoY%H+>_|HTN1PQ| zDRjz=b#6vA;5W>|PF#gHn9VpIZ=;5K^k{qBT2v3uB5g3exI0C&8g={+&i>vpwxutk z=K3^huA|1XI4~D=!?nmXnhMN|dJ>PClAWljs>oG!;Z%NTF&{&9peYAw?z1rp&tP|~ z!9f~nZyW{In^}O_cpP=%NGARfT#wpcccOjsCE+ykEtr9|6Ri2zh5QdxkK1uqbznYf zO}*suA5n`pFsWqfyyiX%&8SFo7N8!x1E>rAf^{%
  • X%HX=WYEPQhX)srw*nik&# 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 delta 10305 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\n" "Language-Team: LdapSaisie \n" @@ -208,11 +208,11 @@ msgstr "" "Support SUPANN : Impossible de récupérer le basedn des entités. Impossible " "de générer l'attribut %{attr}." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.supann.php:313 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.supann.php:316 msgid "Entity %{id} (unrecognized)" msgstr "Entité %{id} (non-reconnue)" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.supann.php:408 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.supann.php:411 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_select.php:58 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_select_object.php:102 msgid "%{value} (unrecognized value)" @@ -2342,6 +2342,66 @@ msgstr "[pas une chaîne de caractères]" msgid "Folder not found" msgstr "Dossier introuvable" +#: /home/brenard/dev/ldapsaisie_clean3/src/conf/LSaddons/config.LSaddons.supann.php:53 +msgid "Affiliate" +msgstr "Affilié" + +#: /home/brenard/dev/ldapsaisie_clean3/src/conf/LSaddons/config.LSaddons.supann.php:54 +msgid "Alumnus" +msgstr "Ancien apprenant" + +#: /home/brenard/dev/ldapsaisie_clean3/src/conf/LSaddons/config.LSaddons.supann.php:55 +msgid "Employee" +msgstr "Employé" + +#: /home/brenard/dev/ldapsaisie_clean3/src/conf/LSaddons/config.LSaddons.supann.php:56 +msgid "Faculty" +msgstr "Faculté" + +#: /home/brenard/dev/ldapsaisie_clean3/src/conf/LSaddons/config.LSaddons.supann.php:57 +msgid "Member" +msgstr "Membre" + +#: /home/brenard/dev/ldapsaisie_clean3/src/conf/LSaddons/config.LSaddons.supann.php:58 +msgid "Student" +msgstr "Étudiant" + +#: /home/brenard/dev/ldapsaisie_clean3/src/conf/LSaddons/config.LSaddons.supann.php:59 +msgid "Retired" +msgstr "Retraité" + +#: /home/brenard/dev/ldapsaisie_clean3/src/conf/LSaddons/config.LSaddons.supann.php:60 +msgid "Teacher" +msgstr "Enseignant" + +#: /home/brenard/dev/ldapsaisie_clean3/src/conf/LSaddons/config.LSaddons.supann.php:61 +msgid "Staff" +msgstr "Staff" + +#: /home/brenard/dev/ldapsaisie_clean3/src/conf/LSaddons/config.LSaddons.supann.php:62 +msgid "Researcher" +msgstr "Chercheur" + +#: /home/brenard/dev/ldapsaisie_clean3/src/conf/LSaddons/config.LSaddons.supann.php:63 +msgid "Emeritus teacher" +msgstr "Professeur émérite" + +#: /home/brenard/dev/ldapsaisie_clean3/src/conf/LSaddons/config.LSaddons.supann.php:64 +msgid "Library - walk-in" +msgstr "Bibliothèque - Accès libre" + +#: /home/brenard/dev/ldapsaisie_clean3/src/conf/LSaddons/config.LSaddons.supann.php:65 +msgid "Library - registered" +msgstr "Bibliothèque - Inscrit" + +#: /home/brenard/dev/ldapsaisie_clean3/src/conf/LSaddons/config.LSaddons.supann.php:70 +msgid "Mrs." +msgstr "Madame" + +#: /home/brenard/dev/ldapsaisie_clean3/src/conf/LSaddons/config.LSaddons.supann.php:71 +msgid "Mr." +msgstr "Monsieur" + #: templates/default/LSaccessRightsMatrixView.tpl:18 msgid "Attributes / Profiles" msgstr "Attributs / Profils" diff --git a/src/lang/ldapsaisie.pot b/src/lang/ldapsaisie.pot index a0c6eafe..597643dc 100644 --- a/src/lang/ldapsaisie.pot +++ b/src/lang/ldapsaisie.pot @@ -157,11 +157,11 @@ msgid "" "attribute %{attr}." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.supann.php:313 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.supann.php:316 msgid "Entity %{id} (unrecognized)" msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.supann.php:408 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.supann.php:411 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_select.php:58 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_select_object.php:102 msgid "%{value} (unrecognized value)" @@ -1995,6 +1995,66 @@ msgstr "" msgid "Folder not found" msgstr "" +#: /home/brenard/dev/ldapsaisie_clean3/src/conf/LSaddons/config.LSaddons.supann.php:53 +msgid "Affiliate" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/conf/LSaddons/config.LSaddons.supann.php:54 +msgid "Alumnus" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/conf/LSaddons/config.LSaddons.supann.php:55 +msgid "Employee" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/conf/LSaddons/config.LSaddons.supann.php:56 +msgid "Faculty" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/conf/LSaddons/config.LSaddons.supann.php:57 +msgid "Member" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/conf/LSaddons/config.LSaddons.supann.php:58 +msgid "Student" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/conf/LSaddons/config.LSaddons.supann.php:59 +msgid "Retired" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/conf/LSaddons/config.LSaddons.supann.php:60 +msgid "Teacher" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/conf/LSaddons/config.LSaddons.supann.php:61 +msgid "Staff" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/conf/LSaddons/config.LSaddons.supann.php:62 +msgid "Researcher" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/conf/LSaddons/config.LSaddons.supann.php:63 +msgid "Emeritus teacher" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/conf/LSaddons/config.LSaddons.supann.php:64 +msgid "Library - walk-in" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/conf/LSaddons/config.LSaddons.supann.php:65 +msgid "Library - registered" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/conf/LSaddons/config.LSaddons.supann.php:70 +msgid "Mrs." +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/conf/LSaddons/config.LSaddons.supann.php:71 +msgid "Mr." +msgstr "" + #: templates/default/LSaccessRightsMatrixView.tpl:18 msgid "Attributes / Profiles" msgstr ""