BUG 12738 "SQL doesn't work in GRID - Text-Area..." SOLVED

- SQL doesn't work in GRID - Text-Area fields.
- Problema:
  Al crear una dependencia entre un Dropdown y Textarea en un grid, al añrlo a un Dynaform y ejecutar el caso,
  la dependiencia no funcionaba, al seleccionar una opcion del Dropdown en el textarea no se mostraba ningun valor,
  y al adicionar mas filas igual no funcionaba.

  Solucion:
  El problema es el siguiente: en la clase "class XmlForm_Field_Textarea" en su metodo "renderGrid" no estaba definido
  variables de importancia y seteo de las mismas, se completo las variables faltantes.

  Otro de los problemas que ocasionaba esta dificultad estaba en el archivo JavaScript en el metodo "updateDepententFields"
  se agrego una validacion cuando es un campo de tipo "textarea", esto porque no se podia utilizar el metodo "G_TextArea"
  que tambien le faltaba codigo, colocando este codigo faltante tampoco funcionaba.

  Al crear una dependencia entre un Dropdown y Textarea en un grid la añrlo a un Dynaform, y ejecutar el caso,
  dependiencia funciona correctamente.

  Se agrego el siguiente codigo en la clase "class XmlForm_Field_Textarea" en el metodo "renderGrid":
    ...
    $this->executeSQL($owner, $r);
    if (isset($this->sqlOption)) {
        $firstElement = key($this->sqlOption);
    }
    if (isset($firstElement)) {
        $v = $firstElement;
    }
    $arrayOptions[$r] = $v;
    ...
    $this->options = $arrayOptions;
    ...
  Disponible para la version 2.5.2
This commit is contained in:
Luis Fernando Saisa Lopez
2013-10-24 17:00:32 -04:00
parent 29c9ea0476
commit 2ae6da9f10
4 changed files with 35 additions and 11 deletions

View File

@@ -221,7 +221,7 @@ foreach ($dependentFields as $d) {
$sendContent[$r]->content->{$attribute} = $value;
break;
case 'options':
if ($sendContent[$r]->content->type != 'text') {
if ($sendContent[$r]->content->type != "text" && $sendContent[$r]->content->type != "textarea") {
$sendContent[$r]->content->{$attribute} = toJSArray($value);
} else {
$sendContent[$r]->content->{$attribute} = toJSArray((isset($value[$_POST["row"]])? array($value[$_POST["row"]]) : array()));