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;
%>