Resuelto bug grave standardform

edited septiembre 2008 in Bugs y Problemas
Digo que es un bug grave porque es la razón de que me aparecieran tantos fallos el otro día.

version: 0.5
archivo: library/kumbia/generator/browse.php
lineas: 243,250

Había un error al ocultar campos con set_hidden(), al darle a Visualizar, saltaba un error en la línea 402 de índice no definido. Tras mucho debuguear y rastrear he encontrado la solución:

En las líneas de la 243 a la 250 teníamos esto:
243: if($component['type']!='hidden'){
244:     if($first) {
245: 	    $browseSelect.=",";
246:     } else {
247:	     $first = true;
248:     }
249:     $browseSelect.=$form['source'].".$name";
250: }

De esta manera, si un campo era declarado hidden, no entraba en la consulta en la bd. El problema es cuando quieres que sea el id el que no aparezca visible en el formulario, ya que en este código se genera el valor del id que luego se pondrá en los gifts de editar y eliminar. lLa solución pasa por eliminar la condición o dejarla pero añadirle que si es el id no se ejecute. Creo que es mejor eliminar la condición, ya que si declaro un campo como hidden quiero poder usarlo en la página, pero de manera oculta.

Solución:
243:    if($first) {
244:	    $browseSelect.=",";
245:    } else {
246:	    $first = true;
247:    }
248:    $browseSelect.=$form['source'].".$name";

Comentarios

  • edited 11:17
    Gracias, se subió al SVN la sugerencia
  • edited 11:17
    resulta que encontre un problemita mas o menos parecido todo radica que use la instruccion set_combo_dynamic por tanto haria uso de una tabla de forma foranea, bueno el caso es que adicionalmente decido ocultar el campo id; todo funcionaba bien, pero en el momento de hacer reportes sin seleccionar ningun campo para ordenar por me arrojaba un error donde decia que que existia una ambigüedad, ahi les muestro lo que me arrojaba
    KumbiaDBException: Column 'id' in order clause is ambiguous al ejecutar 'select usuarios.nombre,usuarios.login,usuarios.password,grupos_usuarios.nombre,usuarios.notas,if(usuarios.estado='ACT', 'Activo', 'Desactivo') from grupos_usuarios,usuarios where 1 = 1 and grupos_usuarios.id = usuarios.grupos_usuarios_id Order By id'
    

    estuve revisando el archivo encargado /forms/report/functions.php
    y en la linea 148 hice la siguiente modificacion

    antes
    if($com['type']!='hidden' ){
    

    despues
    if($com['type']!='hidden' || $name=='id'){
    

    no se como en el caso anterior sea mejor eliminar todo la condicion o modificarla, bueno ustedes que son los maestros analicenlos....

    gracias... <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D -->
  • Hola esto que comentas esta en un versión muy "vieja" de kumbia, la recomendación seria que veas si este error se presenta en la versión 0.5 y nos comenta

    Gracias...
Sign In or Register to comment.