summaryrefslogtreecommitdiffstats
path: root/admin/WebConsole
diff options
context:
space:
mode:
authoririna <irinagomez@us.es>2016-03-04 09:40:58 +0000
committeririna <irinagomez@us.es>2016-03-04 09:40:58 +0000
commit81177454d3b6b42ab25cc8cb11cb4aadd2de2ca3 (patch)
tree3677061b82040c55be1bfef95e9e69c1c956a8df /admin/WebConsole
parent044d30615f009ca93a6b9a0ad21b016b3689ac27 (diff)
#712 En el formulario añadir ordenador si existen duplicados el nombre, la ip o la mac no se inserta el equipo en la base de datos.
git-svn-id: https://opengnsys.es/svn/branches/version1.1@4814 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'admin/WebConsole')
-rw-r--r--admin/WebConsole/gestores/gestor_ordenadores.php55
-rw-r--r--admin/WebConsole/idiomas/php/cat/gestor_ordenadores_cat.php10
-rw-r--r--admin/WebConsole/idiomas/php/eng/gestor_ordenadores_eng.php10
-rw-r--r--admin/WebConsole/idiomas/php/esp/gestor_ordenadores_esp.php10
-rw-r--r--admin/WebConsole/jscripts/comunes.js1
5 files changed, 78 insertions, 8 deletions
diff --git a/admin/WebConsole/gestores/gestor_ordenadores.php b/admin/WebConsole/gestores/gestor_ordenadores.php
index d89e7fe1..c3709317 100644
--- a/admin/WebConsole/gestores/gestor_ordenadores.php
+++ b/admin/WebConsole/gestores/gestor_ordenadores.php
@@ -7,6 +7,9 @@
// Nombre del fichero: gestor_ordenadores.php
// Descripción :
// Gestiona el mantenimiento de la tabla de ordenadores
+// Versión 1.1.0: Al insertar ordenador se comprueba que no existen duplicados nombre, ip y mac
+// Autor: Irina Gómez - ETSII, Universidad de Sevilla
+// Fecha: 2016-03-04
// *************************************************************************************************************************************************
include_once("../includes/ctrlacc.php");
include_once("../clases/AdoPhp.php");
@@ -17,6 +20,8 @@ include_once("../includes/constantes.php");
include_once("./relaciones/ordenadores_eliminacion.php");
include_once("../includes/tftputils.php");
include_once("../includes/opciones.php");
+include_once("../idiomas/php/".$idioma."/gestor_ordenadores_".$idioma.".php");
+
//________________________________________________________________________________________________________
$opcion=0; // Inicializa parametros
@@ -41,6 +46,8 @@ $paginalogin="";
$paginavalidacion="";
### Ramón
$arranque="";
+### Irina
+$datosduplicados="";
//##agp
if (isset($_FILES['archivo'])) {
@@ -118,8 +125,13 @@ if($opcion!=$op_movida){
break;
}
if ($resul){
- if ($opcion==$op_alta )
+ if ($opcion==$op_alta ) {
+ if ( $datosduplicados != '') {
+ echo $literal."(0,'".$TbMsg["DUPLICADO"].$datosduplicados." ',".$idordenador.",o.innerHTML);".chr(13);
+ } else {
echo $literal."(1,'".$cmd->DescripUltimoError()." ',".$idordenador.",o.innerHTML);".chr(13);
+ }
+ }
else
echo $literal."(1,'".$cmd->DescripUltimoError()." ','".$nombreordenador."');".chr(13);
}
@@ -180,6 +192,9 @@ function Gestiona(){
global $op_movida;
global $tablanodo;
+####################### Irina
+ global $datosduplicados;
+
$cmd->CreaParametro("@grupoid",$grupoid,1);
$cmd->CreaParametro("@idaula",$idaula,1);
@@ -203,13 +218,39 @@ function Gestiona(){
switch($opcion){
case $op_alta :
- //Insertar fotoord con Values @fotoordenador
- $cmd->texto="INSERT INTO ordenadores(nombreordenador,ip,mac,idperfilhard,idrepositorio,
- idmenu,idproautoexec,idaula,grupoid,netiface,netdriver,fotoord,validacion,paginalogin,paginavalidacion) VALUES (@nombreordenador,@ip,@mac,@idperfilhard,@idrepositorio,
- @idmenu,@idprocedimiento,@idaula,@grupoid,@netiface,@netdriver,@fotoordenador,@validacion,@paginalogin,@paginavalidacion)";
+ // Comprueba que no existan duplicados
+ $ipduplicada='no';
+ $nombreduplicado='no';
+ $macduplicada='no';
+ $cmd->texto="SELECT nombreordenador,ip,mac FROM ordenadores
+ WHERE nombreordenador=@nombreordenador OR ip=@ip OR mac=@mac";
+ $rs=new Recordset;
+ $rs->Comando=&$cmd;
+ if (!$rs->Abrir()) return(0); // Error al abrir recordset
+ $rs->Primero();
+ while (!$rs->EOF){
+ if ( $nombreordenador == $rs->campos["nombreordenador"]) $nombreduplicado='si';
+ if ( $ip == $rs->campos["ip"]) $ipduplicada='si';
+ if ( $mac == $rs->campos["mac"]) $macduplicada='si';
+ $rs->Siguiente();
+ }
+ $rs->Cerrar();
+ if ( $ipduplicada == 'si' ) $datosduplicados ="ip: $ip,";
+ if ( $nombreduplicado == 'si' ) $datosduplicados .=" nombre: $nombreordenador, ";
+ if ( $macduplicada == 'si' ) $datosduplicados .=" mac: $mac";
+ // quitamos última coma
+ $datosduplicados = trim($datosduplicados, ',');
+ // Si no hay datos duplicados insertamos el ordenador;
+ if ( $datosduplicados == "" ) {
+ // Crear fichero TFTP/PXE por defecto para el nuevo ordenador.
+ createBootMode ($cmd, "", $idordenador, $idioma);
+ //Insertar fotoord con Values @fotoordenador
+ $cmd->texto="INSERT INTO ordenadores(nombreordenador,ip,mac,idperfilhard,idrepositorio,
+ idmenu,idproautoexec,idaula,grupoid,netiface,netdriver,fotoord,validacion,paginalogin,paginavalidacion) VALUES (@nombreordenador,@ip,@mac,@idperfilhard,@idrepositorio,
+ @idmenu,@idprocedimiento,@idaula,@grupoid,@netiface,@netdriver,@fotoordenador,@validacion,@paginalogin,@paginavalidacion)";
+ }
$resul=$cmd->Ejecutar();
- //echo $cmd->texto;
if ($resul){ // Crea una tabla nodo para devolver a la página que llamó ésta
$idordenador=$cmd->Autonumerico();
$arbolXML=SubarbolXML_ordenadores($idordenador,$nombreordenador);
@@ -218,8 +259,6 @@ function Gestiona(){
$arbol=new ArbolVistaXML($arbolXML,0,$baseurlimg,$clasedefault);
$tablanodo=$arbol->CreaArbolVistaXML();
}
- // Crear fichero TFTP/PXE por defecto para el nuevo ordenador.
- createBootMode ($cmd, "", $idordenador, $idioma);
break;
case $op_modificacion:
$cmd->texto="UPDATE ordenadores SET nombreordenador=@nombreordenador,ip=@ip,mac=@mac,idperfilhard=@idperfilhard,
diff --git a/admin/WebConsole/idiomas/php/cat/gestor_ordenadores_cat.php b/admin/WebConsole/idiomas/php/cat/gestor_ordenadores_cat.php
new file mode 100644
index 00000000..3eebd1a9
--- /dev/null
+++ b/admin/WebConsole/idiomas/php/cat/gestor_ordenadores_cat.php
@@ -0,0 +1,10 @@
+<?php
+//______________________________________________________________
+//
+// Fichero de idiomas php: gestor_ordenadores_cat.php
+// Idioma: Catalán
+//______________________________________________________________
+$TbMsg=array();
+$TbMsg["DUPLICADO"]="Error al insertar el ordenador, se han encontrado datos duplicados: ";
+?>
+
diff --git a/admin/WebConsole/idiomas/php/eng/gestor_ordenadores_eng.php b/admin/WebConsole/idiomas/php/eng/gestor_ordenadores_eng.php
new file mode 100644
index 00000000..df1fa293
--- /dev/null
+++ b/admin/WebConsole/idiomas/php/eng/gestor_ordenadores_eng.php
@@ -0,0 +1,10 @@
+<?php
+//______________________________________________________________
+//
+// Fichero de idiomas php: gestor_ordenadores_eng.php
+// Idioma: Inglés
+//______________________________________________________________
+$TbMsg=array();
+$TbMsg["DUPLICADO"]="Error al insertar el ordenador, se han encontrado datos duplicados: ";
+?>
+
diff --git a/admin/WebConsole/idiomas/php/esp/gestor_ordenadores_esp.php b/admin/WebConsole/idiomas/php/esp/gestor_ordenadores_esp.php
new file mode 100644
index 00000000..2946a0c4
--- /dev/null
+++ b/admin/WebConsole/idiomas/php/esp/gestor_ordenadores_esp.php
@@ -0,0 +1,10 @@
+<?php
+//______________________________________________________________
+//
+// Fichero de idiomas php: gestor_ordenadores_esp.php
+// Idioma: Español
+//______________________________________________________________
+$TbMsg=array();
+$TbMsg["DUPLICADO"]="Error al insertar el ordenador, se han encontrado datos duplicados: ";
+?>
+
diff --git a/admin/WebConsole/jscripts/comunes.js b/admin/WebConsole/jscripts/comunes.js
index 5a87c0c2..f11bedd5 100644
--- a/admin/WebConsole/jscripts/comunes.js
+++ b/admin/WebConsole/jscripts/comunes.js
@@ -175,6 +175,7 @@ function insertar(l,t,w,h,pages,swi,idu){
function resultado_insertar(resul,descrierror,nwid,tablanodo){
if (!resul){
alert(descrierror);
+ return;
}
InsertaNodo(currentNodo,tablanodo);
alert(CTbMsg[4]);