<%@page contentType="text/html"%> <%@page pageEncoding="UTF-8"%> <%@page import="conexion.*" import="java.sql.*" import="general.Config" import="general.Permisos" %> Actualizando el sistema... <% /*************** Verifica que el nuevo usuario no exista ya en el sistema y lo da de alta en la base de datos***************************/ /********************************************creado por: Ing Martha*******************************************************/ out.println(""); String nompag[] = request.getRequestURI().split("/"); %> <% Connection lcnt_con=null; ResultSet lrs_res=null; Statement lst_stm=null; String ls_query = new String(""); String emergent_error = new String(""); boolean lb_connection = false; String debug = new String("si"); String persona_existente = new String("no"); String todopoderoso = new String(""); // Conexión a la base de datos try { if (!Config.getParametro("debug").equals("si")) debug = "no"; Conexion c=new Conexion(); lcnt_con= c.getConnection(); lst_stm=lcnt_con.createStatement(); lb_connection = true; } catch (Exception e) { emergent_error="Error al conectarse a la base de datos "; if (debug.equals("si")) emergent_error+=e; lb_connection=false; } //********* Validación fundamental para evitar ejecución de código sin privilegios suficientes **********// try{ if (!Permisos.PermisoModulo(nompag[nompag.length-1].toString(), Integer.parseInt(session.getAttribute("id_user").toString()))) { if (lb_connection) { lst_stm.close(); lcnt_con.close(); } emergent_error += " Privilegios insuficientes. "; lb_connection = false; } } catch(Exception e){ emergent_error += " Privilegios insuficientes. "; if (debug.equals("si")) emergent_error+="Trace: "+e.toString(); lb_connection = false; } //*******************************************************************************************************// if (lb_connection) { //Verificando que no exista un usuario con el nombre nombre de usuario seleccionado try { ls_query="SELECT * FROM usuarios WHERE nombre_usuario='"+request.getParameter("username")+"';"; lrs_res = lst_stm.executeQuery(ls_query); if (lrs_res.next()) { %>
El nombre de usuario <%=request.getParameter("nombre_usuario")%> ya existe, por favor elija otro.

<% } else { //Si el parámetro permitir_multiples_usuarios está en "no" verifica que el nombre y apellidos no existan ya en la base de datos if (Config.getParametro("permitir_multiples_usuarios").equals("no")) { ls_query="SELECT * FROM usuarios WHERE nombre_real='"+request.getParameter("nombre_real")+"' AND paterno='"+request.getParameter("paterno")+"' AND materno='"+request.getParameter("materno")+"';"; lrs_res = lst_stm.executeQuery(ls_query); if (lrs_res.next()) persona_existente = "si"; } if (persona_existente.equals("no")) { %>
Actualizando la base de datos, espere por favor...
<% lst_stm.executeUpdate("START TRANSACTION;"); //Inserta los datos del nuevo usuario en la base de datos ls_query="INSERT INTO usuarios (nombre_usuario, contrasena_usuario, nombre_real, paterno, materno, email, sexo, status, id_area) VALUES('"+ request.getParameter("nombre_usuario")+"', '"+request.getParameter("contrasena_usuario")+"', '"+ request.getParameter("nombre_real")+"', '"+request.getParameter("paterno")+"', '"+request.getParameter("materno")+ "', '"+request.getParameter("email")+"', '"+request.getParameter("sexo")+"', 'a', '"+request.getParameter("id_area")+"');"; lst_stm.executeUpdate(ls_query); //Inserta el perfil del usuario en la tabla de relaciones de usuarios con perfiles ls_query="INSERT INTO rel_usuarios_perfil (id_usuarios, id_rel_perfiles_modulos) VALUES ((SELECT max(id_usuarios) FROM usuarios), "+ request.getParameter("id_rel_perfiles_modulos")+");"; lst_stm.executeUpdate(ls_query); lst_stm.executeUpdate("COMMIT;"); //Registrar en la bitácora try{ String mensaje_log = new String(""); mensaje_log = "Usuario -"+session.getAttribute("username")+"- agregó a nuevo usuario -"+request.getParameter("nombre_usuario")+"-;"; Config.GuardarLog(Integer.parseInt(session.getAttribute("id_user").toString()), mensaje_log, 2); } catch(Exception e){ } session.setAttribute("mensaje_pendiente", "El sistema ha sido actualizado y el usuario agregado."); %> <% } else { %>
El usuario <%=request.getParameter("paterno")%> <%=request.getParameter("materno")%> <%=request.getParameter("nombre")%> ya tiene una cuenta de acceso al sistema. No están permitidas múltiples cuentas para un usuario.

<% } } } catch (Exception e) { emergent_error="Error al actualizar la base de datos "; if (debug.equals("si")) emergent_error+=e+" Query actual: "+ls_query; %>
<%=emergent_error%>
<% } finally { lst_stm.close(); lcnt_con.close(); } } else { %>
<%=emergent_error%>
<% } %>