From d06593cf14fc8cde475a5595973e71db126845ec Mon Sep 17 00:00:00 2001 From: Benjamin Renard Date: Thu, 26 Apr 2018 12:18:16 +0200 Subject: [PATCH] LSattr_html :: select_list : add possiblity to use values of other attribute as possible values --- .../LSattr_html/LSattr_html.entities.xml | 1 + .../LSattr_html_select_list.docbook | 44 ++++++++ .../class/class.LSattr_html_select_list.php | 96 ++++++++++++++++++ .../lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo | Bin 43251 -> 44261 bytes .../lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po | 38 ++++++- public_html/lang/ldapsaisie.pot | 28 ++++- 6 files changed, 202 insertions(+), 5 deletions(-) diff --git a/doc/conf/LSattribute/LSattr_html/LSattr_html.entities.xml b/doc/conf/LSattribute/LSattr_html/LSattr_html.entities.xml index e29c60a3..158a6ac7 100644 --- a/doc/conf/LSattribute/LSattr_html/LSattr_html.entities.xml +++ b/doc/conf/LSattribute/LSattr_html/LSattr_html.entities.xml @@ -20,4 +20,5 @@ +LSattr_html_jsonCompositeAttribute"> LSattr_html_select_list"> diff --git a/doc/conf/LSattribute/LSattr_html/LSattr_html_select_list.docbook b/doc/conf/LSattribute/LSattr_html/LSattr_html_select_list.docbook index ae41e1d3..f75596e5 100644 --- a/doc/conf/LSattribute/LSattr_html/LSattr_html_select_list.docbook +++ b/doc/conf/LSattribute/LSattr_html/LSattr_html_select_list.docbook @@ -22,6 +22,19 @@ 'basedn' => '[Basedn de la recherche]', 'onlyAccessible' => '[Booléen]' ), + 'OTHER_ATTRIBUTE' => '[attr]', + // Or : + 'OTHER_ATTRIBUTE' => array( + '[attr1]' => '[label1]', + '[attr2]' => '[label2]', + [...] + ), + // Or : + 'OTHER_ATTRIBUTE' => array( + 'attr' => [attr], + 'json_component_key' => '[Composant JSON clé]', + 'json_component_label' => '[Composant JSON label]', + ), array ( 'label' => '[LSformat du nom du groupe de valeurs]', 'possible_values' => array ( @@ -128,6 +141,37 @@ + Si la valeur clé est égale à OTHER_ATTRIBTE, une liste + de valeur possible sera composée à l'aide des valeurs d'un (ou plusieurs) autre + attribut de l'objet courant. La valeur associée peut être alors : + + + + soit le nom d'un attribut dont les valeurs seront utilisées comme valeurs + possibles (la valeur affichée est égale à la valeur stockée). + + + + soit un tableau associatif dont les valeurs clés sont les noms des attributs + dont les valeurs seront utilisés comme valeurs possibles et dont les valeurs associés + seront les labels sous lesquels ces valeurs seront regroupées (la valeur + affichée est égale à la valeur stockée). + + + + soit un tableau associatif référençant un attribut sous la clé attr + dont les valeurs seront utilisées comme valeurs possibles. Cet attribut + peut-être du type &LSattr_html_jsonCompositeAttribute;. Il sera alors possible d'utiliser + les valeurs d'un composant en particulier en le référençant à l'aide de la clé + json_component_key. Il est également possible de référencer un autre composant + à l'aide de la clé json_component_label et dont les valeurs seront + utilisées comme valeurs affichées lors de la sélection. À défaut, les valeurs affichées + seront identiques à celles stockées. + + + + + diff --git a/public_html/includes/class/class.LSattr_html_select_list.php b/public_html/includes/class/class.LSattr_html_select_list.php index 396d7f63..a1f564cc 100644 --- a/public_html/includes/class/class.LSattr_html_select_list.php +++ b/public_html/includes/class/class.LSattr_html_select_list.php @@ -88,6 +88,10 @@ class LSattr_html_select_list extends LSattr_html{ $objInfos=self :: getLSobjectPossibleValues($val_label,$options,$name); $retInfos=self :: _array_merge($retInfos,$objInfos); } + elseif($val_key==='OTHER_ATTRIBUTE') { + $attrInfos=self :: getLSattributePossibleValues($val_label, $options, $name, $ldapObject); + $retInfos=self :: _array_merge($retInfos,$attrInfos); + } elseif (is_array($val_label)) { if (!isset($val_label['possible_values']) || !is_array($val_label['possible_values']) || !isset($val_label['label'])) continue; @@ -273,6 +277,86 @@ class LSattr_html_select_list extends LSattr_html{ return $retInfos; } + + /** + * Retourne un tableau des valeurs possibles d'un autre attribut + * + * @param[in] $attr OTHER_ATTRIBUTE configuration value + * @param[in] $options array|false Attribute options + * @param[in] $name Attribute name + * @param[in] $LSldapObject LSldapObject reference + * + * @author Benjamin Renard + * + * @retval array Tableau associatif des valeurs possible de la liste avec en clé + * la valeur des balises option et en valeur ce qui sera affiché. + */ + protected function getLSattributePossibleValues($attr, $options ,$name ,&$ldapObject) { + $retInfos=array(); + if (is_string($attr)) { + if (isset($ldapObject->attrs[$attr]) && $ldapObject->attrs[$attr] instanceof LSattribute) { + $attr_values = $ldapObject->attrs[$attr]->getValue(); + if (!is_array($attr_values)) + $attr_values = array($attr_values); + foreach($attr_values as $attr_value) + $retInfos[$attr_value] = __($attr_value); + } + else + LSerror :: addErrorCode('LSattr_html_select_list_02',$attr); + } + elseif (is_array($attr)) { + if (isset($attr['attr'])) { + if (isset($ldapObject->attrs[$attr['attr']]) && $ldapObject->attrs[$attr['attr']] instanceof LSattribute) { + if (isset($attr['json_component_key'])) { + if (get_class($ldapObject->attrs[$attr['attr']]->html) == 'LSattr_html_jsonCompositeAttribute') { + $attr_values = $ldapObject->attrs[$attr['attr']]->getValue(); + if (!is_array($attr_values)) + $attr_values = array($attr_values); + foreach($attr_values as $attr_value) { + $value_data = @json_decode($attr_value, true); + if (!isset($value_data[$attr['json_component_key']])) { + LSerror :: addErrorCode('LSattr_html_select_list_05', array('attr' => $attr['attr'], 'value' => $attr_value, 'component' => $attr['json_component_key'])); + return $retInfos; + } + $key = $value_data[$attr['json_component_key']]; + + if (isset($attr['json_component_label'])) { + if (!isset($value_data[$attr['json_component_label']])) { + LSerror :: addErrorCode('LSattr_html_select_list_05', array('attr' => $attr['attr'], 'value' => $attr_value, 'component' => $attr['json_component_label'])); + return $retInfos; + } + $label = $value_data[$attr['json_component_label']]; + } + else + $label = $key; + + $retInfos[$key] = $label; + } + } + else + LSerror :: addErrorCode('LSattr_html_select_list_03',$attr['attr']); + } + else + $retInfos = self :: getLSattributePossibleValues($attr['attr'], $options ,$name ,$ldapObject); + } + else + LSerror :: addErrorCode('LSattr_html_select_list_02',$attr['attr']); + } + else { + foreach($attr as $sub_attr => $sub_label) { + $subRetInfos = self :: getLSattributePossibleValues($sub_attr, $options ,$name ,$ldapObject); + self :: _sort($subRetInfos,$options); + $retInfos[] = array ( + 'label' => $sub_label, + 'possible_values' => $subRetInfos + ); + } + } + } + self :: _sort($retInfos,$options); + return $retInfos; + } + } /* @@ -281,3 +365,15 @@ class LSattr_html_select_list extends LSattr_html{ LSerror :: defineError('LSattr_html_select_list_01', _("LSattr_html_select_list : Configuration data are missing to generate the select list of the attribute %{attr}.") ); +LSerror :: defineError('LSattr_html_select_list_02', +_("LSattr_html_select_list : Invalid attribute %{attr} reference as OTHER_ATTRIBUTE possible values.") +); +LSerror :: defineError('LSattr_html_select_list_03', +_("LSattr_html_select_list : Attribute %{attr} referenced as OTHER_ATTRIBUTE possible values is not a jsonCompositeAttribute.") +); +LSerror :: defineError('LSattr_html_select_list_04', +_("LSattr_html_select_list : Fail to decode the following attribute %{attr} value as JSON : %{value}") +); +LSerror :: defineError('LSattr_html_select_list_05', +_("LSattr_html_select_list : No component %{component} found in the following attribute %{attr} JSON value : %{value}") +); diff --git a/public_html/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo b/public_html/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo index f7cd32a6d867caf3d6dc031c2917862b08b3e403..f079e6c3015b60840f82f982ed8d937de44419ac 100644 GIT binary patch delta 7759 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 Ywy7CQifS6Zv&jEkTWH&FEBa0SU&AeNtN;K2 delta 7026 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 aX;r>!_w7BWbgZ%Nt9i?}?_JQK-+uwH;eJ&B diff --git a/public_html/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po b/public_html/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po index d630b51d..5bfc280b 100644 --- a/public_html/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po +++ b/public_html/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: LdapSaisie\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-04-26 11:34+0200\n" -"PO-Revision-Date: 2018-04-26 11:35+0200\n" +"POT-Creation-Date: 2018-04-26 11:40+0200\n" +"PO-Revision-Date: 2018-04-26 11:44+0200\n" "Last-Translator: Benjamin Renard \n" "Language-Team: LdapSaisie \n" @@ -1609,7 +1609,7 @@ msgstr "Cliquer pour supprimer cette photo." msgid "Chat with this person." msgstr "Discuter avec cette personne." -#: includes/class/class.LSattr_html_select_list.php:282 +#: includes/class/class.LSattr_html_select_list.php:366 msgid "" "LSattr_html_select_list : Configuration data are missing to generate the " "select list of the attribute %{attr}." @@ -1617,6 +1617,38 @@ msgstr "" "LSattr_html_select_list : Des données de configuration sont manquantes pour " "générer la liste de sélection de l'attribut %{attr}." +#: includes/class/class.LSattr_html_select_list.php:369 +msgid "" +"LSattr_html_select_list : Invalid attribute %{attr} reference as " +"OTHER_ATTRIBUTE possible values." +msgstr "" +"LSattr_html_select_list : Référence invalide à l'attribut %{attr} comme " +"valeurs possibles (OTHER_ATTRIBUTE)." + +#: includes/class/class.LSattr_html_select_list.php:372 +msgid "" +"LSattr_html_select_list : Attribute %{attr} referenced as OTHER_ATTRIBUTE " +"possible values is not a jsonCompositeAttribute." +msgstr "" +"LSattr_html_select_list : L'attribute %{attr} référencé comme valeurs " +"possibles (OTHER_ATTRIBUTE) n'est pas du type jsonCompositeAttribute." + +#: includes/class/class.LSattr_html_select_list.php:375 +msgid "" +"LSattr_html_select_list : Fail to decode the following attribute %{attr} " +"value as JSON : %{value}" +msgstr "" +"LSattr_html_select_list : Impossible de décodé la valeur JSON suivante de " +"l'attribut %{attr} : %{value}" + +#: includes/class/class.LSattr_html_select_list.php:378 +msgid "" +"LSattr_html_select_list : No component %{component} found in the following " +"attribute %{attr} JSON value : %{value}" +msgstr "" +"LSattr_html_select_list : Le composant %{component} n'a pas été trouvé dans " +"la valeur JSON de l'attribut %{attr} : %{value}" + #: includes/class/class.LSformRule_inarray.php:56 msgid "" "LSformRule_inarray : Possible values has not been configured to validate " diff --git a/public_html/lang/ldapsaisie.pot b/public_html/lang/ldapsaisie.pot index 6fa5ff61..31569c0c 100644 --- a/public_html/lang/ldapsaisie.pot +++ b/public_html/lang/ldapsaisie.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-04-26 11:33+0200\n" +"POT-Creation-Date: 2018-04-26 11:39+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1385,12 +1385,36 @@ msgstr "" msgid "Chat with this person." msgstr "" -#: includes/class/class.LSattr_html_select_list.php:282 +#: includes/class/class.LSattr_html_select_list.php:366 msgid "" "LSattr_html_select_list : Configuration data are missing to generate the " "select list of the attribute %{attr}." msgstr "" +#: includes/class/class.LSattr_html_select_list.php:369 +msgid "" +"LSattr_html_select_list : Invalid attribute %{attr} reference as " +"OTHER_ATTRIBUTE possible values." +msgstr "" + +#: includes/class/class.LSattr_html_select_list.php:372 +msgid "" +"LSattr_html_select_list : Attribute %{attr} referenced as OTHER_ATTRIBUTE " +"possible values is not a jsonCompositeAttribute." +msgstr "" + +#: includes/class/class.LSattr_html_select_list.php:375 +msgid "" +"LSattr_html_select_list : Fail to decode the following attribute %{attr} " +"value as JSON : %{value}" +msgstr "" + +#: includes/class/class.LSattr_html_select_list.php:378 +msgid "" +"LSattr_html_select_list : No component %{component} found in the following " +"attribute %{attr} JSON value : %{value}" +msgstr "" + #: includes/class/class.LSformRule_inarray.php:56 msgid "" "LSformRule_inarray : Possible values has not been configured to validate "