source: admin/WebConsole/gestores/gestor_entidades.php @ 5d05b06

Last change on this file since 5d05b06 was 25318fb, checked in by OpenGnSys Support Team <soporte-og@…>, 5 years ago

#948 Fix entity (Entidad) creation

Pepe Frias reports that the creation of a new entity does not work. The
WebConsole? throws this error:
004 : Comando Error - La sentencia SQL del comando no es correcta.

The WebConsole? treats the parameter $ogunit as a string but the Database
treats $ogunit as a tinyint. So, when the WebConsole? tries to do the
query the Database throws an error code: 1366.

Error number: 1366; Symbol: ER_TRUNCATED_WRONG_VALUE_FOR_FIELD;
SQLSTATE: HY000

Message: Incorrect %s value: '%s' for column '%s' at row %ld

This commit changes the behaviour of gestor_entidades.php to treat
ogunit as an integer.

  • Property mode set to 100644
File size: 6.1 KB
RevLine 
[043e67d]1<?php
[3ec149c]2// *************************************************************************************************************************************************
3// Aplicación WEB: ogAdmWebCon
4// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla
5// Fecha Creación: Año 2009-2010
6// Fecha Última modificación: Agosto-2010
7// Nombre del fichero: gestor_entidades.php
8// Descripción :
9//              Gestiona el mantenimiento de la tabla de entidades
10// *************************************************************************************************************************************************
11include_once("../includes/ctrlacc.php");
12include_once("../clases/AdoPhp.php");
13include_once("../clases/XmlPhp.php");
14include_once("../clases/ArbolVistaXML.php");
15include_once("../includes/CreaComando.php");
16include_once("../includes/constantes.php");
17include_once("./relaciones/entidades_eliminacion.php");
18include_once("../includes/opciones.php");
19include_once("./relaciones/centros_eliminacion.php");
20include_once("./relaciones/aulas_eliminacion.php");
21include_once("./relaciones/ordenadores_eliminacion.php");
22include_once("./relaciones/gruposordenadores_eliminacion.php");
23
24//________________________________________________________________________________________________________
25$opcion=0; // Inicializa parametros
26
27$grupoid=0;
28$iduniversidad=0;
29$identidad=0;
30$nombreentidad="";
31$comentarios="";
32
33if (isset($_POST["opcion"])) $opcion=$_POST["opcion"]; // Recoge parametros
34if (isset($_POST["grupoid"])) $grupoid=$_POST["grupoid"];
35if (isset($_POST["iduniversidad"])) $iduniversidad=$_POST["iduniversidad"];
36if (isset($_POST["identidad"])) $identidad=$_POST["identidad"];
37if (isset($_POST["identificador"])) $identidad=$_POST["identificador"];
38if (isset($_POST["nombreentidad"])) $nombreentidad=$_POST["nombreentidad"];
39if (isset($_POST["comentarios"])) $comentarios=$_POST["comentarios"];
[17640b6]40if (isset($_POST["ogunit"])) $ogunit=$_POST["ogunit"];
[3ec149c]41
42
43$tablanodo=""; // Arbol para nodos insertados
44
45$cmd=CreaComando($cadenaconexion); // Crea objeto comando
46$resul=false;
47if ($cmd){
48        $resul=Gestiona();
49        $cmd->Conexion->Cerrar();
50}
51if($opcion!=$op_movida){
52        echo '<HTML>';
53        echo '<HEAD>';
54        echo '  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">';
[17640b6]55        echo '</HEAD>';
[3ec149c]56        echo '<BODY>';
57        echo '<P><SPAN style="visibility:hidden" id="arbol_nodo">'.$tablanodo.'</SPAN></P>';
58        echo '  <SCRIPT language="javascript" src="../jscripts/propiedades_entidades.js"></SCRIPT>';
59        echo '<SCRIPT language="javascript">'.chr(13);
60        if ($resul){
61                echo 'var oHTML'.chr(13);
62                echo 'var cTBODY=document.getElementsByTagName("TBODY");'.chr(13);
63                echo 'o=cTBODY.item(1);'.chr(13);
64        }
65}
66$literal="";
67switch($opcion){
68        case $op_alta :
69                $literal="resultado_insertar_entidades";
70                break;
71        case $op_modificacion:
72                $literal="resultado_modificar_entidades";
73                break;
74        case $op_eliminacion :
75                $literal="resultado_eliminar_entidades";
76                break;
77        case $op_movida :
78                $literal="resultado_cambiar_entidades";
79                break;
80        default:
81                break;
82}
83if ($resul){
84        if ($opcion==$op_alta )
85                echo $literal."(1,'".$cmd->DescripUltimoError()." ',".$identidad.",o.innerHTML);".chr(13);
86        else
87                echo $literal."(1,'".$cmd->DescripUltimoError()." ','".$nombreentidad."');".chr(13);
88}
89else
90        echo $literal."(0,'".$cmd->DescripUltimoError()."',".$identidad.")";
91
92if($opcion!=$op_movida){
93        echo '  </SCRIPT>';
94        echo '</BODY>   ';
95        echo '</HTML>';
96}
97/*________________________________________________________________________________________________________
98        Inserta, modifica o elimina datos en la tabla entidades
99________________________________________________________________________________________________________*/
100function Gestiona(){
101        global  $cmd;
102        global  $opcion;
103
104        global $identidad;
105        global $nombreentidad;
106        global $comentarios;
[17640b6]107        global $ogunit;
[3ec149c]108        global $grupoid;
109        global $iduniversidad;
110
111        global  $op_alta;
112        global  $op_modificacion;
113        global  $op_eliminacion;
114        global  $op_movida;
115        global  $tablanodo;
116
117        $cmd->CreaParametro("@grupoid",$grupoid,1);
118        $cmd->CreaParametro("@iduniversidad",$iduniversidad,1);
119        $cmd->CreaParametro("@identidad",$identidad,1);
120        $cmd->CreaParametro("@nombreentidad",$nombreentidad,0);
121        $cmd->CreaParametro("@comentarios",$comentarios,0);
[25318fb]122        $cmd->CreaParametro("@ogunit",$ogunit,1);
[3ec149c]123       
124        switch($opcion){
125                case $op_alta :
[17640b6]126                        $cmd->texto="INSERT INTO entidades(nombreentidad,comentarios,ogunit,iduniversidad,grupoid) VALUES (@nombreentidad,@comentarios,@ogunit,@iduniversidad,@grupoid)";
[3ec149c]127                        $resul=$cmd->Ejecutar();
128                        if ($resul){ // Crea una tabla nodo para devolver a la página que llamó ésta
129                                $identidad=$cmd->Autonumerico();
130                                $arbolXML=SubarbolXML_entidades($identidad,$nombreentidad);
131                                $baseurlimg="../images/signos"; // Url de las imagenes de signo
132                                $clasedefault="texto_arbol"; // Hoja de estilo (Clase por defecto) del árbol
133                                $arbol=new ArbolVistaXML($arbolXML,0,$baseurlimg,$clasedefault);
134                                $tablanodo=$arbol->CreaArbolVistaXML();
135                        }
136                        break;
137                case $op_modificacion:
[17640b6]138                        $cmd->texto="UPDATE entidades SET nombreentidad=@nombreentidad,comentarios=@comentarios,ogunit=@ogunit WHERE identidad=@identidad";
[3ec149c]139                        $resul=$cmd->Ejecutar();
140                        break;
141                case $op_eliminacion :
142                        $resul=EliminaEntidad($cmd,$identidad,"identidad");// Eliminación en cascada
143                        break;
144                case $op_movida :
145                        $cmd->texto="UPDATE entidades SET iduniversidad=@iduniversidad, grupoid=@grupoid WHERE identidad=@identidad";
146                        $resul=$cmd->Ejecutar();
147                        break;
148                default:
149                        break;
150        }
151        return($resul);
152}
153/*________________________________________________________________________________________________________
154        Crea un arbol XML para el nuevo nodo insertado
155________________________________________________________________________________________________________*/
156function SubarbolXML_entidades($identidad,$nombreentidad){
157                global $LITAMBITO_ENTIDADES;
158                $cadenaXML='<ENTIDAD';
159                // Atributos                   
160                $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_ENTIDADES."'" .')"';
161                $cadenaXML.=' imagenodo="../images/iconos/entidades.gif"';
162                $cadenaXML.=' infonodo="'.$nombreentidad.'"';
163                $cadenaXML.=' nodoid='.$LITAMBITO_ENTIDADES.'-'.$identidad;
164                $cadenaXML.='></ENTIDAD>';
165                return($cadenaXML);
166}
[b6ec162]167
Note: See TracBrowser for help on using the repository browser.