mirror of
https://gitlab.easter-eggs.com/ee/ldapsaisie.git
synced 2024-11-22 18:09:06 +01:00
- Correction bug [#1670] LSformElement_select_object : Bug important lors d'une validation intermédiaire
-> Uniformisation du passage en argument du LSattr_html au moment de l'ajout d'un élement à un formulaire -> Utilisation de la méthode LSattr_html::refreshForm() au moment du LSform::setValuesFromPostData() - Correction bug [#1669] Modification d'objet : le type d'objet n'est pas chargé
This commit is contained in:
parent
a8daef44f7
commit
c6bcdfeafa
10 changed files with 96 additions and 59 deletions
|
@ -37,7 +37,7 @@ class LSattr_html_image extends LSattr_html {
|
|||
* @retval LSformElement L'element du formulaire ajouté
|
||||
*/
|
||||
function addToForm (&$form,$idForm,$data=NULL) {
|
||||
$element=$form -> addElement('image', $this -> name, $this -> config['label'],$this -> config);
|
||||
$element=$form -> addElement('image', $this -> name, $this -> config['label'],$this -> config, $this);
|
||||
if(!$element) {
|
||||
$GLOBALS['LSerror'] -> addErrorCode(206,$this -> name);
|
||||
return;
|
||||
|
|
|
@ -37,7 +37,7 @@ class LSattr_html_password extends LSattr_html {
|
|||
* @retval LSformElement L'element du formulaire ajouté
|
||||
*/
|
||||
function addToForm (&$form,$idForm,$data=NULL) {
|
||||
$element=$form -> addElement('password', $this -> name, $this -> config['label'], $this -> config);
|
||||
$element=$form -> addElement('password', $this -> name, $this -> config['label'], $this -> config, $this);
|
||||
if(!$element) {
|
||||
$GLOBALS['LSerror'] -> addErrorCode(206,$this -> name);
|
||||
return;
|
||||
|
|
|
@ -43,7 +43,7 @@ class LSattr_html_select_list extends LSattr_html{
|
|||
}*/
|
||||
$possible_values=$this -> getPossibleValues();
|
||||
$this -> config['text_possible_values'] = $possible_values;
|
||||
$element=$form -> addElement('select', $this -> name, $this -> config['label'],$this -> config);
|
||||
$element=$form -> addElement('select', $this -> name, $this -> config['label'],$this -> config, $this);
|
||||
if(!$element) {
|
||||
$GLOBALS['LSerror'] -> addErrorCode(206,$this -> name);
|
||||
return;
|
||||
|
|
|
@ -53,6 +53,16 @@ class LSattr_html_select_object extends LSattr_html{
|
|||
return $element;
|
||||
}
|
||||
|
||||
/**
|
||||
* Effectue les tâches nécéssaires au moment du rafraichissement du formulaire
|
||||
*
|
||||
* Récupère un array du type array('DNs' => 'displayValue') à partir d'une
|
||||
* liste de DNs.
|
||||
*
|
||||
* @param[in] $data mixed La valeur de l'attribut (liste de DNs)
|
||||
*
|
||||
* @retval mixed La valeur formatée de l'attribut (array('DNs' => 'displayValue'))
|
||||
**/
|
||||
function refreshForm($data) {
|
||||
return $this -> getValues($data);
|
||||
}
|
||||
|
|
|
@ -37,7 +37,7 @@ class LSattr_html_text extends LSattr_html {
|
|||
* @retval LSformElement L'element du formulaire ajouté
|
||||
*/
|
||||
function addToForm (&$form,$idForm,$data=NULL) {
|
||||
$element=$form -> addElement('text', $this -> name, $this -> config['label'],$this -> config);
|
||||
$element=$form -> addElement('text', $this -> name, $this -> config['label'],$this -> config, $this);
|
||||
if(!$element) {
|
||||
$GLOBALS['LSerror'] -> addErrorCode(206,$this -> name);
|
||||
return;
|
||||
|
|
|
@ -37,7 +37,7 @@ class LSattr_html_textarea extends LSattr_html {
|
|||
* @retval LSformElement L'element du formulaire ajouté
|
||||
*/
|
||||
function addToForm (&$form,$idForm,$data=NULL) {
|
||||
$element=$form -> addElement('textarea', $this -> name, $this -> config['label'], $this -> config);
|
||||
$element=$form -> addElement('textarea', $this -> name, $this -> config['label'], $this -> config, $this);
|
||||
if(!$element) {
|
||||
$GLOBALS['LSerror'] -> addErrorCode(206,$this -> name);
|
||||
return;
|
||||
|
|
|
@ -295,7 +295,7 @@ class LSform {
|
|||
*
|
||||
* @retval LSformElement
|
||||
*/
|
||||
function addElement($type,$name,$label,$params=array(),&$attr_html=NULL) {
|
||||
function addElement($type,$name,$label,$params=array(),&$attr_html) {
|
||||
$elementType='LSformElement_'.$type;
|
||||
$GLOBALS['LSsession'] -> loadLSclass($elementType);
|
||||
if (!class_exists($elementType)) {
|
||||
|
@ -413,7 +413,7 @@ class LSform {
|
|||
return;
|
||||
}
|
||||
foreach($this -> _postData as $element => $values) {
|
||||
$this -> elements[$element] -> setValue($values);
|
||||
$this -> elements[$element] -> setValueFromPostData($values);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -82,6 +82,30 @@ class LSformElement {
|
|||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Définis la valeur de l'élément à partir des données
|
||||
* envoyées en POST du formulaire
|
||||
*
|
||||
* Cette méthode définis la valeur de l'élément à partir des données
|
||||
* envoyées en POST du formulaire.
|
||||
*
|
||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||
*
|
||||
* @param[in] [<b>required</b>] string or array La futur valeur de l'élément
|
||||
*
|
||||
* @retval boolean Retourne True
|
||||
*/
|
||||
function setValueFromPostData($data) {
|
||||
if (!is_array($data)) {
|
||||
$data=array($data);
|
||||
}
|
||||
|
||||
$data = $this -> attr_html -> refreshForm($data);
|
||||
|
||||
$this -> values = $data;
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Ajoute une valeur à l'élément
|
||||
*
|
||||
|
|
|
@ -160,9 +160,10 @@ class LSsession {
|
|||
}
|
||||
|
||||
foreach ($this -> ldapServer['LSobjects'] as $object) {
|
||||
if ( !$this -> loadLSobject($object) )
|
||||
if ( !$this -> loadLSobject($object) ) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -280,6 +281,8 @@ class LSsession {
|
|||
$this -> setLdapServer(0);
|
||||
}
|
||||
|
||||
$this -> loadLSobjects();
|
||||
|
||||
// Connexion au serveur LDAP
|
||||
if ($this -> LSldapConnect()) {
|
||||
|
||||
|
|
|
@ -46,7 +46,7 @@ if($LSsession -> startLSsession()) {
|
|||
|
||||
if ((isset($dn)) && (isset($LSobject)) ) {
|
||||
// Création d'un LSobject
|
||||
if (class_exists($LSobject)) {
|
||||
if ($GLOBALS['LSsession'] -> loadLSobject($LSobject)) {
|
||||
if ( $GLOBALS['LSsession'] -> canEdit($LSobject,$dn) ) {
|
||||
$LSview_actions[] = array(
|
||||
'label' => _('Voir'),
|
||||
|
@ -90,7 +90,7 @@ if($LSsession -> startLSsession()) {
|
|||
}
|
||||
}
|
||||
else {
|
||||
$GLOBALS['LSerror'] -> addErrorCode(21);
|
||||
$GLOBALS['LSerror'] -> addErrorCode(1004,$LSobject);
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
|
Loading…
Reference in a new issue