[EDIT] CAMBIOS DE DISEÑO Y MULTIPLES REPARACIONES

parent b65c7316
...@@ -30,7 +30,7 @@ public interface UsuarioDAO { ...@@ -30,7 +30,7 @@ public interface UsuarioDAO {
public int eliminarUsuario(int codigo) throws Exception; public int eliminarUsuario(int codigo) throws Exception;
public JSONObject listarUsuarioDetalle(String filtro, int vstart, int vlength, String draw) throws Exception; public JSONObject listarUsuarioDetalle(JSONObject filtro, int vstart, int vlength, String draw) throws Exception;
public int eliminarUsuarioDetalle(int codigo) throws Exception; public int eliminarUsuarioDetalle(int codigo) throws Exception;
......
...@@ -45,7 +45,8 @@ public class ProyectoMYSQLDAO implements ProyectoDAO { ...@@ -45,7 +45,8 @@ public class ProyectoMYSQLDAO implements ProyectoDAO {
} }
query = " select cod_proyecto, nom, est, url from proyecto " query = " select cod_proyecto, nom, est, url from proyecto "
+ " where true" + " where true"
+ " " + busqueda + " "; + " " + busqueda + " " +
" limit " + vstart + "," + (vstart+vlength) + " ";
con = MySQLDAOFactory.getConnectionSQL(base); con = MySQLDAOFactory.getConnectionSQL(base);
System.out.println("query: " + query); System.out.println("query: " + query);
pst = con.prepareStatement(query); pst = con.prepareStatement(query);
...@@ -64,7 +65,7 @@ public class ProyectoMYSQLDAO implements ProyectoDAO { ...@@ -64,7 +65,7 @@ public class ProyectoMYSQLDAO implements ProyectoDAO {
String query2 = " select count(*) as cant " String query2 = " select count(*) as cant "
+ " from proyecto " + " from proyecto "
+ " where 1 = 1 " + " where 1 = 1 "
+ " " + busqueda + " "; + " " + busqueda +";";
PreparedStatement pst2 = null; PreparedStatement pst2 = null;
ResultSet rs2 = null; ResultSet rs2 = null;
con = MySQLDAOFactory.getConnectionSQL(base); con = MySQLDAOFactory.getConnectionSQL(base);
......
...@@ -28,37 +28,34 @@ public class UsuarioMYSQLDAO implements UsuarioDAO { ...@@ -28,37 +28,34 @@ public class UsuarioMYSQLDAO implements UsuarioDAO {
ResultSet rs = null; ResultSet rs = null;
String query = ""; String query = "";
JSONArray lista = new JSONArray(); JSONArray lista = new JSONArray();
String busqueda01;
try { try {
switch (datos.getString("tipo")) { String estado = !datos.getBoolean("estado") ? " and a.est = 1 " : " and a.est = 0 ";
case "1": int proyecto = datos.isNull("proyecto") ? 0 : datos.getInt("proyecto");
busqueda01 = " and a.usu like '%" + datos.getString("filtro") + "%' "; int tipoUsuario = datos.isNull("tipoUsuario") ? 0 : datos.getInt("tipoUsuario");
break; int estadoPersonal = datos.isNull("estadoPersonal") ? 2 : datos.getInt("estadoPersonal") == 0 ? 2 : datos.getInt("estadoPersonal") == 1 ? 0 : 1;
case "2": String personal = datos.isNull("trabajador") ? "" : datos.getString("trabajador");
busqueda01 = " and pd.cod_proyecto = " + datos.getString("filtro") + " "; boolean isNumber = personal.matches("[0-9]+");
break; String cargo = datos.isNull("cargo") ? "" : datos.getString("cargo");
case "3": query = "WITH tablaOrdenada AS (SELECT a.cod_usuario, a.cod_trabajador, a.usu, a.est,p.tmp_id,p.retirado\n" +
busqueda01 = " and ud.cod_proyecto_detalle = " + datos.getString("filtro") + " "; " FROM usuario AS a\n" +
break; " LEFT JOIN seguridad.usuario_detalle AS ud ON ud.cod_usuario = a.cod_usuario\n" +
default: " LEFT JOIN seguridad.proyecto_detalle AS pd\n" +
busqueda01 = ""; " ON pd.cod_proyecto_detalle = ud.cod_proyecto_detalle\n" +
break; " left join seguridad.tipo_usuario as tu on pd.cod_tipo_usuario = tu.cod_tipo_usuario\n" +
} " left join nuevo.personal as p on a.cod_trabajador = p.tmp_id\n" +
if (!datos.getBoolean("estado")) { " left join nuevo.cargo as c on p.codcargo = c.codcargo\n" +
busqueda01 += " and a.est = 1 "; " WHERE 1 = 1\n" +
} else { " and if("+proyecto+" = 0, true, pd.cod_proyecto = "+proyecto+")\n" +
busqueda01 += " and a.est = 0 "; " and if("+tipoUsuario+" = 0, true, pd.cod_proyecto_detalle = "+tipoUsuario+")\n" +
} " " + estado + "\n" +
query = " WITH tablaOrdenada AS (SELECT a.cod_usuario, a.cod_trabajador, a.usu, a.est, ROW_NUMBER() OVER (ORDER BY a.cod_usuario) AS cantidad FROM usuario AS a " " and if("+estadoPersonal+" = 2, true, p.retirado = "+estadoPersonal+")\n" +
+ " LEFT JOIN usuario_detalle AS ud ON ud.cod_usuario = a.cod_usuario " (isNumber ? " and p.numero_documento = "+personal+" \n" : " and a.usu like '%"+personal+"%' \n" )+
+ " LEFT JOIN proyecto_detalle AS pd ON pd.cod_proyecto_detalle = ud.cod_proyecto_detalle " " and if('"+cargo+"' = '', true, c.descargo = '"+cargo+"')\n" +
+ " WHERE 1= 1 " " GROUP BY a.cod_usuario, a.cod_trabajador, a.usu, a.est)\n" +
+ " " + busqueda01 + " " "select cod_usuario, cod_trabajador, usu, est,tmp_id,retirado\n" +
+ " GROUP BY a.cod_usuario, a.cod_trabajador, a.usu, a.est) " "from tablaOrdenada\n" +
+ " select cod_usuario, cod_trabajador, usu, est, cantidad from tablaOrdenada " "ORDER BY usu limit "+vlength+" offset "+vstart+";";
+ " where cantidad BETWEEN "+vstart+" and "+vlength*draw
+ " ORDER BY usu ASC";
con = MySQLDAOFactory.getConnectionSQL(base); con = MySQLDAOFactory.getConnectionSQL(base);
pst = con.prepareStatement(query); pst = con.prepareStatement(query);
...@@ -71,6 +68,8 @@ public class UsuarioMYSQLDAO implements UsuarioDAO { ...@@ -71,6 +68,8 @@ public class UsuarioMYSQLDAO implements UsuarioDAO {
obj.put("codigoTrabajador", rs.getString(2)); obj.put("codigoTrabajador", rs.getString(2));
obj.put("usuario", rs.getString(3)); obj.put("usuario", rs.getString(3));
obj.put("estadoUsuario", rs.getInt(4)); obj.put("estadoUsuario", rs.getInt(4));
obj.put("tmp_id", rs.getInt(5));
obj.put("retirado", rs.getInt(6));
lista.put(obj); lista.put(obj);
conta++; conta++;
} }
...@@ -93,29 +92,27 @@ public class UsuarioMYSQLDAO implements UsuarioDAO { ...@@ -93,29 +92,27 @@ public class UsuarioMYSQLDAO implements UsuarioDAO {
String query = ""; String query = "";
String busqueda = ""; String busqueda = "";
try { try {
switch (datos.getString("tipo")) { String estado = !datos.getBoolean("estado") ? " and a.est = 1 " : " and a.est = 0 ";
case "1": int proyecto = datos.isNull("proyecto") ? 0 : datos.getInt("proyecto");
busqueda = " and a.usu like '%" + datos.getString("filtro") + "%' "; int tipoUsuario = datos.isNull("tipoUsuario") ? 0 : datos.getInt("tipoUsuario");
break; int estadoPersonal = datos.isNull("estadoPersonal") ? 2 : datos.getInt("estadoPersonal") == 0 ? 2 : datos.getInt("estadoPersonal") == 1 ? 0 : 1;
case "2": String personal = datos.isNull("trabajador") ? "" : datos.getString("trabajador");
busqueda = " and pd.cod_proyecto = " + datos.getString("filtro") + " "; String cargo = datos.isNull("cargo") ? "" : datos.getString("cargo");
break; boolean isNumber = personal.matches("[0-9]+");
case "3": query = " SELECT COUNT(*) as cant FROM usuario AS a " +
busqueda = " and ud.cod_proyecto_detalle = " + datos.getString("filtro") + " "; " LEFT JOIN usuario_detalle AS ud ON ud.cod_usuario = a.cod_usuario " +
break; " LEFT JOIN proyecto_detalle AS pd ON pd.cod_proyecto_detalle = ud.cod_proyecto_detalle " +
default: " left join seguridad.tipo_usuario as tu on pd.cod_tipo_usuario = tu.cod_tipo_usuario\n" +
busqueda = ""; " left join nuevo.personal as p on a.cod_trabajador = p.tmp_id\n" +
break; " left join nuevo.cargo as c on p.codcargo = c.codcargo\n" +
} " WHERE 1 = 1\n" +
if (!datos.getBoolean("estado")) { " and if(" + proyecto + " = 0, true, pd.cod_proyecto = " + proyecto + ")\n" +
busqueda += " and a.est = 1 "; " and if(" + tipoUsuario + " = 0, true, pd.cod_proyecto_detalle = " + tipoUsuario + ")\n" +
} else { " " + estado + "\n" +
busqueda += " and a.est = 0 "; " and if(" + estadoPersonal + " = 2, true, p.retirado = " + estadoPersonal + ")\n" +
} " and if('"+cargo+"' = '', true, c.descargo = '"+cargo+"')\n" +
query = " SELECT COUNT(*) as cant FROM usuario AS a " (isNumber ? " and p.numero_documento = " + personal + " \n" : " and a.usu like '%" + personal + "%' \n")
+ " LEFT JOIN usuario_detalle AS ud ON ud.cod_usuario = a.cod_usuario "
+ " LEFT JOIN proyecto_detalle AS pd ON pd.cod_proyecto_detalle = ud.cod_proyecto_detalle "
+ " WHERE 1 = 1 " + busqueda + " "
+ " GROUP BY a.cod_usuario "; + " GROUP BY a.cod_usuario ";
con = MySQLDAOFactory.getConnectionSQL(base); con = MySQLDAOFactory.getConnectionSQL(base);
pst = con.prepareStatement(query); pst = con.prepareStatement(query);
...@@ -281,7 +278,7 @@ public class UsuarioMYSQLDAO implements UsuarioDAO { ...@@ -281,7 +278,7 @@ public class UsuarioMYSQLDAO implements UsuarioDAO {
} }
@Override @Override
public JSONObject listarUsuarioDetalle(String filtro, int vstart, int vlength, String draw) throws Exception { public JSONObject listarUsuarioDetalle(JSONObject json, int vstart, int vlength, String draw) throws Exception {
String base = "security"; String base = "security";
Connection con = null; Connection con = null;
PreparedStatement pst = null; PreparedStatement pst = null;
...@@ -290,6 +287,7 @@ public class UsuarioMYSQLDAO implements UsuarioDAO { ...@@ -290,6 +287,7 @@ public class UsuarioMYSQLDAO implements UsuarioDAO {
ResultSet rs = null; ResultSet rs = null;
String query = ""; String query = "";
int conta = vstart; int conta = vstart;
int filtro = json.isNull("filtro") ? 0 : json.getInt("filtro");
try { try {
query = " select ud.cod_usuario_detalle, ud.est, p.nom, tu.nom from usuario_detalle as ud " query = " select ud.cod_usuario_detalle, ud.est, p.nom, tu.nom from usuario_detalle as ud "
+ " inner join proyecto_detalle as pd " + " inner join proyecto_detalle as pd "
...@@ -298,7 +296,7 @@ public class UsuarioMYSQLDAO implements UsuarioDAO { ...@@ -298,7 +296,7 @@ public class UsuarioMYSQLDAO implements UsuarioDAO {
+ " on p.cod_proyecto = pd.cod_proyecto " + " on p.cod_proyecto = pd.cod_proyecto "
+ " inner join tipo_usuario as tu " + " inner join tipo_usuario as tu "
+ " on tu.cod_tipo_usuario = pd.cod_tipo_usuario " + " on tu.cod_tipo_usuario = pd.cod_tipo_usuario "
+ " where ud.cod_usuario = " + filtro + ""; + " where ud.cod_usuario = " + filtro + ";";
con = MySQLDAOFactory.getConnectionSQL(base); con = MySQLDAOFactory.getConnectionSQL(base);
pst = con.prepareStatement(query); pst = con.prepareStatement(query);
rs = pst.executeQuery(); rs = pst.executeQuery();
......
...@@ -99,7 +99,7 @@ public class UsuarioService { ...@@ -99,7 +99,7 @@ public class UsuarioService {
return rs; return rs;
} }
public JSONObject listarUsuarioDetalle(String filtro, int vstart, int vlength, String draw) { public JSONObject listarUsuarioDetalle(JSONObject filtro, int vstart, int vlength, String draw) {
JSONObject rs = null; JSONObject rs = null;
try { try {
rs = dao.listarUsuarioDetalle(filtro, vstart, vlength, draw); rs = dao.listarUsuarioDetalle(filtro, vstart, vlength, draw);
......
...@@ -104,7 +104,11 @@ public class MantenimientoMenuServlet extends HttpServlet { ...@@ -104,7 +104,11 @@ public class MantenimientoMenuServlet extends HttpServlet {
int tipo = Integer.parseInt(request.getParameter("tipo")); int tipo = Integer.parseInt(request.getParameter("tipo"));
int proyecto = Integer.parseInt(request.getParameter("proyecto")); int proyecto = Integer.parseInt(request.getParameter("proyecto"));
String draw = request.getParameter("draw"); String draw = request.getParameter("draw");
int listarPermisos = Integer.parseInt(request.getParameter("listarPermisos")); System.out.println(request.getParameter("listarPermisos"));
int listarPermisos = 0;
if(request.getParameter("listarPermisos") != null){
listarPermisos = Integer.parseInt(request.getParameter("listarPermisos"));
}
JSONObject rs = new JSONObject(); JSONObject rs = new JSONObject();
JSONArray lista = new JSONArray(); JSONArray lista = new JSONArray();
JSONArray listaTitulo = srv.listarTituloCompleto(proyecto_detalle, proyecto, tipo); JSONArray listaTitulo = srv.listarTituloCompleto(proyecto_detalle, proyecto, tipo);
......
...@@ -133,6 +133,20 @@ public class UsuarioServlet extends HttpServlet { ...@@ -133,6 +133,20 @@ public class UsuarioServlet extends HttpServlet {
objeto.put("nombreCargo", prs.getString("nom_car")); objeto.put("nombreCargo", prs.getString("nom_car"));
objeto.put("nombreUsuario", prs.getString("nom_per") + " " + prs.getString("ape_pat_per") + " " + prs.getString("ape_mat_per")); objeto.put("nombreUsuario", prs.getString("nom_per") + " " + prs.getString("ape_pat_per") + " " + prs.getString("ape_mat_per"));
objeto.put("nombreSede", prs.getString("nom_sed")); objeto.put("nombreSede", prs.getString("nom_sed"));
objeto.put("tmp_id", obj.getInt("tmp_id"));
objeto.put("retirado", obj.getInt("retirado"));
lista.put(objeto);
}else{
objeto.put("codigoUsuario", obj.getInt("codigoUsuario"));
objeto.put("numeral", obj.getInt("numeral"));
objeto.put("usuario", obj.getString("usuario"));
objeto.put("estadoUsuario", obj.getInt("estadoUsuario"));
objeto.put("nombreArea", "");
objeto.put("nombreCargo", "");
objeto.put("nombreUsuario", "");
objeto.put("nombreSede", "");
objeto.put("tmp_id", obj.getInt("tmp_id"));
objeto.put("retirado", obj.getInt("retirado"));
lista.put(objeto); lista.put(objeto);
} }
} }
...@@ -238,12 +252,13 @@ public class UsuarioServlet extends HttpServlet { ...@@ -238,12 +252,13 @@ public class UsuarioServlet extends HttpServlet {
response.setContentType("application/json"); response.setContentType("application/json");
PrintWriter out = response.getWriter(); PrintWriter out = response.getWriter();
UsuarioService srv = new UsuarioService(); UsuarioService srv = new UsuarioService();
String filtro = request.getParameter("filtro"); String json = request.getParameter("json");
JSONObject obj = new JSONObject(json);
String draw = request.getParameter("draw"); String draw = request.getParameter("draw");
int vstart = Integer.parseInt(request.getParameter("start")); int vstart = Integer.parseInt(request.getParameter("start"));
int vlength = Integer.parseInt(request.getParameter("length")); int vlength = Integer.parseInt(request.getParameter("length"));
JSONObject json = srv.listarUsuarioDetalle(filtro, vstart, vlength, draw); JSONObject resp = srv.listarUsuarioDetalle(obj, vstart, vlength, draw);
out.println(json); out.println(resp);
} }
private void eliminarUsuarioDetalle(HttpServletRequest request, HttpServletResponse response) throws IOException { private void eliminarUsuarioDetalle(HttpServletRequest request, HttpServletResponse response) throws IOException {
......
...@@ -90,7 +90,7 @@ let tipo_usuario_nombre = ""; ...@@ -90,7 +90,7 @@ let tipo_usuario_nombre = "";
"infoEmpty": "    Mostrando 0 de 0 registros", "infoEmpty": "    Mostrando 0 de 0 registros",
"search": "Filtrar:", "search": "Filtrar:",
"loadingRecords": "Cargando...", "loadingRecords": "Cargando...",
"processing": '<span style="width:100%;"><img src="https://upload.wikimedia.org/wikipedia/commons/7/7a/Ajax_loader_metal_512.gif?20180219130538"></span>', "processing": '<span style="width:2rem;height: 2rem"><img src="https://upload.wikimedia.org/wikipedia/commons/7/7a/Ajax_loader_metal_512.gif?20180219130538"></span>',
"paginate": { "paginate": {
"first": "First", "first": "First",
"last": "Last", "last": "Last",
...@@ -493,7 +493,7 @@ let tipo_usuario_nombre = ""; ...@@ -493,7 +493,7 @@ let tipo_usuario_nombre = "";
let print = ""; let print = "";
var lista = data.data; var lista = data.data;
lista.forEach(v => { lista.forEach(v => {
print += '<option value="' + v.codAccion +'">'+v.nombreAccion+'</option>'; print += '<option value="' + v.codAccion +'">'+v.codAccion+' - '+v.nombreAccion+'</option>';
}); });
$("#cboListadoAcciones").html(print); $("#cboListadoAcciones").html(print);
$("#cboListadoAcciones").editableSelect(); $("#cboListadoAcciones").editableSelect();
...@@ -1742,7 +1742,7 @@ function crearAcciones(vista, jerarquia,accion, nom_accion){ ...@@ -1742,7 +1742,7 @@ function crearAcciones(vista, jerarquia,accion, nom_accion){
"infoEmpty": "&nbsp;&nbsp;&nbsp; Mostrando 0 de 0 registros", "infoEmpty": "&nbsp;&nbsp;&nbsp; Mostrando 0 de 0 registros",
"search": "Filtrar:", "search": "Filtrar:",
"loadingRecords": "Cargando...", "loadingRecords": "Cargando...",
"processing": '<span style="width:100%;"><img src="https://upload.wikimedia.org/wikipedia/commons/7/7a/Ajax_loader_metal_512.gif?20180219130538"></span>', "processing": '<span style="width:2rem;height: 2rem"><img src="https://upload.wikimedia.org/wikipedia/commons/7/7a/Ajax_loader_metal_512.gif?20180219130538"></span>',
"scrollY": false, "scrollY": false,
"paginate": { "paginate": {
"first": "First", "first": "First",
......
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
"infoEmpty": "&nbsp;&nbsp;&nbsp; Mostrando 0 de 0 registros", "infoEmpty": "&nbsp;&nbsp;&nbsp; Mostrando 0 de 0 registros",
"search": "Filtrar:", "search": "Filtrar:",
"loadingRecords": "Cargando...", "loadingRecords": "Cargando...",
"processing": '<span style="width:100%;"><img src="https://upload.wikimedia.org/wikipedia/commons/7/7a/Ajax_loader_metal_512.gif?20180219130538"></span>', "processing": '<span style="width:2rem;height: 2rem"><img src="https://upload.wikimedia.org/wikipedia/commons/7/7a/Ajax_loader_metal_512.gif?20180219130538"></span>',
"scrollY": false, "scrollY": false,
"paginate": { "paginate": {
"first": "First", "first": "First",
...@@ -683,7 +683,7 @@ ...@@ -683,7 +683,7 @@
"infoEmpty": "&nbsp;&nbsp;&nbsp; Mostrando 0 de 0 registros", "infoEmpty": "&nbsp;&nbsp;&nbsp; Mostrando 0 de 0 registros",
"search": "Filtrar:", "search": "Filtrar:",
"loadingRecords": "Cargando...", "loadingRecords": "Cargando...",
"processing": '<span style="width:100%;"><img src="https://upload.wikimedia.org/wikipedia/commons/7/7a/Ajax_loader_metal_512.gif?20180219130538"></span>', "processing": '<span style="width:2rem;height: 2rem"><img src="https://upload.wikimedia.org/wikipedia/commons/7/7a/Ajax_loader_metal_512.gif?20180219130538"></span>',
"scrollY": false, "scrollY": false,
"paginate": { "paginate": {
"first": "First", "first": "First",
......
...@@ -61,7 +61,7 @@ ...@@ -61,7 +61,7 @@
"infoEmpty": "&nbsp;&nbsp;&nbsp; Mostrando 0 de 0 registros", "infoEmpty": "&nbsp;&nbsp;&nbsp; Mostrando 0 de 0 registros",
"search": "Filtrar:", "search": "Filtrar:",
"loadingRecords": "Cargando...", "loadingRecords": "Cargando...",
"processing": '<span style="width:100%;"><img src="https://upload.wikimedia.org/wikipedia/commons/7/7a/Ajax_loader_metal_512.gif?20180219130538"></span>', "processing": '<span style="width:2rem;height: 2rem"><img src="https://upload.wikimedia.org/wikipedia/commons/7/7a/Ajax_loader_metal_512.gif?20180219130538"></span>',
"scrollY": false, "scrollY": false,
"paginate": { "paginate": {
"first": "First", "first": "First",
...@@ -260,7 +260,7 @@ ...@@ -260,7 +260,7 @@
"infoEmpty": "&nbsp;&nbsp;&nbsp; Mostrando 0 de 0 registros", "infoEmpty": "&nbsp;&nbsp;&nbsp; Mostrando 0 de 0 registros",
"search": "Filtrar:", "search": "Filtrar:",
"loadingRecords": "Cargando...", "loadingRecords": "Cargando...",
"processing": '<span style="width:100%;"><img src="https://upload.wikimedia.org/wikipedia/commons/7/7a/Ajax_loader_metal_512.gif?20180219130538"></span>', "processing": '<span style="width:2rem;height: 2rem"><img src="https://upload.wikimedia.org/wikipedia/commons/7/7a/Ajax_loader_metal_512.gif?20180219130538"></span>',
"scrollY": false, "scrollY": false,
"paginate": { "paginate": {
"first": "First", "first": "First",
...@@ -924,7 +924,7 @@ ...@@ -924,7 +924,7 @@
let print = ""; let print = "";
var lista = data.data; var lista = data.data;
lista.forEach(v => { lista.forEach(v => {
print += '<option value="' + v.codAccion +'">'+v.nombreAccion+'</option>'; print += '<option value="' + v.codAccion +'">'+v.codAccion+' - '+v.nombreAccion+'</option>';
}); });
$("#cboListadoAcciones").html(print); $("#cboListadoAcciones").html(print);
$("#cboListadoAcciones").editableSelect(); $("#cboListadoAcciones").editableSelect();
......
/* global bootbox, loader, elementLoader */ /* global bootbox, loader, elementLoader */
let isChecked = false let isChecked = false
function segundaCarga() { function segundaCarga() {
datosUsuario.listarUsuario(); datosUsuario.listarUsuario();
editarUsuario(); editarUsuario();
clickEliminarUsuario(); clickEliminarUsuario();
...@@ -13,11 +13,36 @@ ...@@ -13,11 +13,36 @@
submitKey('txtUsuario', '#btnBuscar'); submitKey('txtUsuario', '#btnBuscar');
listarProyectos('cboProyecto'); listarProyectos('cboProyecto');
listarTipoDeUsuario(-1, 'cboProyecto', 'cboTipoUsuario'); listarTipoDeUsuario(-1, 'cboProyecto', 'cboTipoUsuario');
asignarEventosSelect();
}
const asignarEventosSelect = () => {
document.querySelector("#cboProyecto").addEventListener('change', (e) => {
let proyecto = e.currentTarget.value
document.querySelector("#cboTipoUsuario").disabled = proyecto === "";
$.ajax({
type: 'POST',
url: "../servlet/MantenimientoMenuServlet?accion=listarTipoUsuario",
dataType: 'JSON',
data: {"codigo": proyecto},
success: function (result) {
if(result.length > 0){
document.querySelector("#cboTipoUsuario").disabled = false;
document.querySelector("#cboTipoUsuario").innerHTML = result.map(obj => `<option value="${obj["codigoDetalle"]}">${obj["nombreTipoUsuario"]}</option>`);
}else{
document.querySelector("#cboTipoUsuario").disabled = true;
document.querySelector("#cboTipoUsuario").innerHTML = "<option value=''>NO EXISTE TIPO USUARIOS</option>";
} }
}
});
});
}
let switchery = new Switchery(document.querySelector('#cbkEstado'), {color: 'green'}); document.querySelector('#txtEstado').innerText = 'MOSTRANDO ACTIVOS';
document.querySelector('#cbkEstado').checked = false;
listarUsuariosManual = (json) => { let switchery = new Switchery(document.querySelector('#cbkEstado'), {color: 'red', secondaryColor: 'green'});
listarUsuariosManual = (json) => {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
$.ajax({ $.ajax({
type: 'POST', type: 'POST',
...@@ -33,9 +58,9 @@ ...@@ -33,9 +58,9 @@
} }
}) })
}) })
} }
listarCargosDeUsuario = () => { listarCargosDeUsuario = () => {
elementLoader.iniciarLoader('cboCargos') elementLoader.iniciarLoader('cboCargos')
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
$.ajax({ $.ajax({
...@@ -49,12 +74,12 @@ ...@@ -49,12 +74,12 @@
} }
}) })
}) })
} }
cargarCargos = () => { cargarCargos = () => {
listarCargosDeUsuario() listarCargosDeUsuario()
.then(data => { .then(data => {
let print = "<option>[SELECCIONE]</option>" let print = "<option value=''>TODOS</option>"
print += data.map(obj => `<option value="${obj}">${obj}</option>`) print += data.map(obj => `<option value="${obj}">${obj}</option>`)
document.getElementById('cboCargos').innerHTML = print document.getElementById('cboCargos').innerHTML = print
}) })
...@@ -62,9 +87,9 @@ ...@@ -62,9 +87,9 @@
$('#cboCargos').select2(); $('#cboCargos').select2();
elementLoader.terminarLoader('cboCargos') elementLoader.terminarLoader('cboCargos')
}) })
} }
function reactivarUsuario() { function reactivarUsuario() {
$('#tblUsuario tbody').on('click', '.reactivar', function () { $('#tblUsuario tbody').on('click', '.reactivar', function () {
var table = $("#tblUsuario").DataTable(); var table = $("#tblUsuario").DataTable();
var data = table.row($(this).parents('tr')).data(); var data = table.row($(this).parents('tr')).data();
...@@ -85,7 +110,9 @@ ...@@ -85,7 +110,9 @@
type: 'POST', type: 'POST',
dataType: 'json', dataType: 'json',
"url": '../servlet/UsuarioServlet?accion=listarUsuarioDetalle', "url": '../servlet/UsuarioServlet?accion=listarUsuarioDetalle',
data: param, data: {
json: JSON.stringify(param)
},
success: function (data, textStatus, jqXHR) { success: function (data, textStatus, jqXHR) {
let lista = data.data let lista = data.data
lista = lista.map(obj => `<div class="checkbox"> lista = lista.map(obj => `<div class="checkbox">
...@@ -164,33 +191,20 @@ ...@@ -164,33 +191,20 @@
} }
}) })
}) })
} }
$('#tblUsuario').on('draw.dt', function () { $('#tblUsuario').on('draw.dt', function () {
$('[data-toggle="tooltip"]').tooltip(); $('[data-toggle="tooltip"]').tooltip();
}); });
var datosUsuario = {listarUsuario: function () { var datosUsuario = {
var tipo = $('#cboTipoBusqueda').val(); listarUsuario: function () {
var filtro;
if (tipo === "1") {
filtro = $('#txtUsuario').val();
} else if (tipo === "2") {
filtro = $('#cboProyecto').val();
} else if (tipo === "3") {
filtro = $('#cboTipoUsuario').val();
} else if (tipo === "4") {
filtro = $('#txtTrabajador').val();
} else if (tipo === "5") {
filtro = $('#cboCargos').val();
} else {
filtro = ""
}
var json = { var json = {
"filtro": filtro, "trabajador": $('#txtTrabajador').val(),
"tipo": tipo, "estadoPersonal": $('#cboEstado').val(),
"proyecto": $('#cboProyecto').val(),
"tipoUsuario": $('#cboTipoUsuario').val(),
"cargo": $('#cboCargos').val(),
"estado": isChecked "estado": isChecked
}; };
let conta = 1; let conta = 1;
...@@ -202,7 +216,7 @@ ...@@ -202,7 +216,7 @@
"infoEmpty": "&nbsp;&nbsp;&nbsp; Mostrando 0 de 0 registros", "infoEmpty": "&nbsp;&nbsp;&nbsp; Mostrando 0 de 0 registros",
"search": "Filtrar:", "search": "Filtrar:",
"loadingRecords": "Cargando...", "loadingRecords": "Cargando...",
"processing": '<span style="width:100%;"><img src="https://upload.wikimedia.org/wikipedia/commons/7/7a/Ajax_loader_metal_512.gif?20180219130538"></span>', "processing": '<span style="width:2rem;height: 2rem"><img src="https://upload.wikimedia.org/wikipedia/commons/7/7a/Ajax_loader_metal_512.gif?20180219130538"></span>',
"scrollY": false, "scrollY": false,
"paginate": { "paginate": {
"first": "First", "first": "First",
...@@ -224,7 +238,7 @@ ...@@ -224,7 +238,7 @@
"bSort": false, "bSort": false,
"bFilter": false, "bFilter": false,
"serverSide": true, "serverSide": true,
"processing": true, "processing": false,
"aaSorting": [], "aaSorting": [],
"ordering": false, "ordering": false,
"bLengthChange": false, "bLengthChange": false,
...@@ -237,7 +251,7 @@ ...@@ -237,7 +251,7 @@
{targets: 2, orderable: false, width: "15%"}, {targets: 2, orderable: false, width: "15%"},
{targets: 3, orderable: false, width: "10%"}, {targets: 3, orderable: false, width: "10%"},
{targets: 4, orderable: false, width: "15%"}, {targets: 4, orderable: false, width: "15%"},
{targets: 5, orderable: false, width: "5%", className: "text-center", visible: isChecked}, {targets: 5, orderable: false, width: "5%", className: "text-center"},
{targets: 6, orderable: false, width: "10%", className: "text-center"} {targets: 6, orderable: false, width: "10%", className: "text-center"}
], ],
"columns": [ "columns": [
...@@ -246,7 +260,8 @@ ...@@ -246,7 +260,8 @@
{"data": "nombreUsuario"}, {"data": "nombreUsuario"},
{"data": "nombreArea"}, {"data": "nombreArea"},
{"data": "nombreCargo"}, {"data": "nombreCargo"},
{"data": "estadoUsuario", {
"data": "estadoUsuario",
render: function (data, type, row) { render: function (data, type, row) {
var retorno; var retorno;
if (data === 0) { if (data === 0) {
...@@ -257,11 +272,14 @@ ...@@ -257,11 +272,14 @@
return retorno; return retorno;
} }
}, },
{"data": "estadoUsuario", "render": function (data, type, row) { {
"data": "estadoUsuario", "render": function (data, type, row) {
let retorno = ``; let retorno = ``;
if (data === 1) { if (data === 1) {
if (![null, undefined, '', 0, '0'].includes(row["tmp_id"])) {
retorno += `<span data-toggle="tooltip" title="Editar" style="cursor: pointer"> <i class='editar click${conta} glyphicon glyphicon-pencil text-teal-800'></i> &nbsp;&nbsp; </span>`; retorno += `<span data-toggle="tooltip" title="Editar" style="cursor: pointer"> <i class='editar click${conta} glyphicon glyphicon-pencil text-teal-800'></i> &nbsp;&nbsp; </span>`;
retorno += `<span data-toggle="tooltip" title="Asignar" style="cursor: pointer"> <i data-value="${row.usuario}" class='asignar icon icon-cog2 text-slate-800'></i>&nbsp;&nbsp; </span>`; retorno += `<span data-toggle="tooltip" title="Asignar" style="cursor: pointer"> <i data-value="${row.usuario}" class='asignar icon icon-cog2 text-slate-800'></i>&nbsp;&nbsp; </span>`;
}
retorno += `<span data-toggle="tooltip" title="Eliminar" style="cursor: pointer"> <i class='eliminar glyphicon glyphicon-trash text-danger-800'></i> </span>`; retorno += `<span data-toggle="tooltip" title="Eliminar" style="cursor: pointer"> <i class='eliminar glyphicon glyphicon-trash text-danger-800'></i> </span>`;
} else { } else {
retorno += `<span data-toggle="tooltip" title="Reactivar" style="cursor: pointer"> <i class='reactivar fa fa-power-off text-success-800'></i>&nbsp;&nbsp; </span>`; retorno += `<span data-toggle="tooltip" title="Reactivar" style="cursor: pointer"> <i class='reactivar fa fa-power-off text-success-800'></i>&nbsp;&nbsp; </span>`;
...@@ -274,119 +292,59 @@ ...@@ -274,119 +292,59 @@
], ],
drawCallback: function (settings) { drawCallback: function (settings) {
loader.terminarLoader() loader.terminarLoader()
},
rowCallback: function (row, data, index) {
if([null,undefined,'',0,'0'].includes(data["tmp_id"])){
$(row).css('background-color', '#c9c9c9')
}else if(Number(data["retirado"]) === 1){
$(row).css('background-color', '#ffd4d4')
} }
} }
if (tipo === "4" || tipo === '5') {
listarUsuariosManual({
busqueda: filtro,
tipo: Number(tipo),
estado: isChecked
})
.then(data => {
paramDataTable.serverSide = false
paramDataTable.data = data
delete paramDataTable.ajax
})
.then(() => {
$("#tblUsuario").DataTable(paramDataTable)
})
.catch(err => console.log(err))
} else {
$("#tblUsuario").DataTable(paramDataTable)
} }
$("#tblUsuario").DataTable(paramDataTable)
}
};
var validar = false;
$('#btnBuscar').click(function () {
validar = $('#formUsuario').validate({
rules: {
txtUsuario: {required: true},
cboTipoUsuario: {required: true},
cboProyecto: {required: true}
},
messages: {
txtUsuario: {required: "<b>&times; Ingrese una Búsqueda</b>"},
cboTipoUsuario: {required: "<b>&times; Seleccione un Tipo de Usuario</b>"},
cboProyecto: {required: "<b>&times; Seleccione un Proyecto</b>"}
} }
}); };
if (validar.form()) { var validar = false;
$('#btnBuscar').click(function () {
// validar = $('#formUsuario').validate({
// rules: {
// txtUsuario: {required: true},
// cboTipoUsuario: {required: true},
// cboProyecto: {required: true},
// cboCargos: {required: true}
// },
// messages: {
// txtUsuario: {required: "<b>&times; Ingrese una Búsqueda</b>"},
// cboTipoUsuario: {required: "<b>&times; Seleccione un Tipo de Usuario</b>"},
// cboProyecto: {required: "<b>&times; Seleccione un Proyecto</b>"},
// cboCargos: {required: "<b>&times; Seleccione un Cargo</b>"}
// }
// });
// if (validar.form()) {
recargar(); recargar();
} // }
}); });
$('#btnLimpiar').click(function () { $('#btnLimpiar').click(function () {
$('#cboTipoBusqueda').val("");
$('#cboTipoBusqueda').change();
$('#txtUsuario').val(""); $('#txtUsuario').val("");
if (validar) { $('#txtTrabajador').val("");
validar.resetForm(); $('#cboProyecto').val('0').trigger('change');
} $('#cboEstado').val('0').trigger('change');
$('#cboCargos').val('').trigger('change');
recargar(); recargar();
}); });
function recargar() {
function recargar() {
loader.iniciarLoader() loader.iniciarLoader()
$("#tblUsuario").DataTable().destroy(); $("#tblUsuario").DataTable().destroy();
datosUsuario.listarUsuario(); datosUsuario.listarUsuario();
} }
$('#cboTipoBusqueda').change(function () { function validCaracForm() {
var tipo = $('#cboTipoBusqueda').val();
if (tipo === "1") {
$('.divBusqueda').removeClass('col-md-12');
$('.divBusqueda').addClass('col-md-6');
$('.divProyecto').addClass('hide');
$('.divTipoUsuario').addClass('hide');
$('.divTrabajador').addClass('hide');
$('.divNombre').removeClass('hide');
$('.divCargo').addClass('hide');
} else if (tipo === "2") {
$('.divBusqueda').removeClass('col-md-12');
$('.divBusqueda').addClass('col-md-6');
$('.divNombre').addClass('hide');
$('.divTipoUsuario').addClass('hide');
$('.divTrabajador').addClass('hide');
$('.divProyecto').removeClass('hide');
$('.divCargo').addClass('hide');
} else if (tipo === "3") {
$('.divBusqueda').addClass('col-md-12');
$('.divBusqueda').removeClass('col-md-6');
$('.divNombre').addClass('hide');
$('.divProyecto').removeClass('hide');
$('.divTrabajador').addClass('hide');
$('.divTipoUsuario').removeClass('hide');
$('.divCargo').addClass('hide');
} else if (tipo === '4') {
$('.divBusqueda').removeClass('col-md-12').addClass('col-md-6');
$('.divNombre').addClass('hide');
$('.divTipoUsuario').addClass('hide');
$('.divTrabajador').removeClass('hide');
$('.divProyecto').addClass('hide');
$('.divCargo').addClass('hide');
} else if (tipo === '5') {
$('.divBusqueda').removeClass('col-md-12').addClass('col-md-6');
$('.divNombre').addClass('hide');
$('.divTipoUsuario').addClass('hide');
$('.divCargo').removeClass('hide');
$('.divProyecto').addClass('hide');
$('.divTrabajador').addClass('hide');
} else {
$('.divBusqueda').addClass('col-md-12');
$('.divBusqueda').removeClass('col-md-6');
$('.divProyecto').addClass('hide');
$('.divNombre').addClass('hide');
$('.divTipoUsuario').addClass('hide');
$('.divTrabajador').addClass('hide');
$('.divCargo').addClass('hide');
}
});
function validCaracForm() {
new Input({el: '#editarUsuario', param: 'alphanumeric'}).validate(); new Input({el: '#editarUsuario', param: 'alphanumeric'}).validate();
new Input({el: '#crearDocumento', param: 'numbers'}).validate(); new Input({el: '#crearDocumento', param: 'numbers'}).validate();
} }
function editarUsuario() { function editarUsuario() {
$('#tblUsuario tbody').on('click', '.editar', function () { $('#tblUsuario tbody').on('click', '.editar', function () {
var table = $("#tblUsuario").DataTable(); var table = $("#tblUsuario").DataTable();
var data = table.row($(this).parents('tr')).data(); var data = table.row($(this).parents('tr')).data();
...@@ -444,13 +402,17 @@ ...@@ -444,13 +402,17 @@
var validar = $("#formEditarUsuario").validate({ var validar = $("#formEditarUsuario").validate({
rules: { rules: {
txtUsuario: {required: true}, txtUsuario: {required: true},
txtClave: {required: true, txtClave: {
minlength: 6} required: true,
minlength: 6
}
}, },
messages: { messages: {
txtUsuario: {required: "<b>&times; Ingrese un Nombre</b>"}, txtUsuario: {required: "<b>&times; Ingrese un Nombre</b>"},
txtClave: {required: "<b>&times; Ingrese una Clave</b>", txtClave: {
minlength: "<b>&times; Mínimo 6 dígitos</b>"} required: "<b>&times; Ingrese una Clave</b>",
minlength: "<b>&times; Mínimo 6 dígitos</b>"
}
}, },
errorPlacement: errorPlacement:
function (error, element) { function (error, element) {
...@@ -621,9 +583,9 @@ ...@@ -621,9 +583,9 @@
submitKey('formEditarUsuario', '.buttonOk'); submitKey('formEditarUsuario', '.buttonOk');
}); });
}); });
} }
eliminarUsuario = (json) => { eliminarUsuario = (json) => {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
$.ajax({ $.ajax({
type: 'POST', type: 'POST',
...@@ -637,9 +599,9 @@ ...@@ -637,9 +599,9 @@
} }
}) })
}) })
} }
function clickEliminarUsuario() { function clickEliminarUsuario() {
$('#tblUsuario tbody').on('click', '.eliminar', function () { $('#tblUsuario tbody').on('click', '.eliminar', function () {
var table = $("#tblUsuario").DataTable(); var table = $("#tblUsuario").DataTable();
var data = table.row($(this).parents('tr')).data(); var data = table.row($(this).parents('tr')).data();
...@@ -682,9 +644,9 @@ ...@@ -682,9 +644,9 @@
} }
}); });
}); });
} }
$('#btnNuevoUsuario').click(function () { $('#btnNuevoUsuario').click(function () {
var formCrear = bootbox.dialog({ var formCrear = bootbox.dialog({
className: "nuevoUsuario", className: "nuevoUsuario",
title: "<span><i class='ace-icon fa fa-tags'></i> CREAR USUARIO</span>", title: "<span><i class='ace-icon fa fa-tags'></i> CREAR USUARIO</span>",
...@@ -760,10 +722,14 @@ ...@@ -760,10 +722,14 @@
messages: { messages: {
cboTipoDocumento: {required: "<b>&times; Seleccione un Tipo de Documento</b>"}, cboTipoDocumento: {required: "<b>&times; Seleccione un Tipo de Documento</b>"},
txtUsuario: {required: "<b>&times; Ingrese un Usuario</b>"}, txtUsuario: {required: "<b>&times; Ingrese un Usuario</b>"},
txtDocumento: {required: "<b>&times; Ingrese su Documento de Identidad</b>", txtDocumento: {
minlength: `<b>&times; Mínimo ${longitud} dígitos</b>`}, required: "<b>&times; Ingrese su Documento de Identidad</b>",
txtClave: {required: "<b>&times; Ingrese una Clave</b>", minlength: `<b>&times; Mínimo ${longitud} dígitos</b>`
minlength: "<b>&times; Mínimo 6 dígitos</b>"} },
txtClave: {
required: "<b>&times; Ingrese una Clave</b>",
minlength: "<b>&times; Mínimo 6 dígitos</b>"
}
}, },
errorPlacement: errorPlacement:
function (error, element) { function (error, element) {
...@@ -865,8 +831,9 @@ ...@@ -865,8 +831,9 @@
validarCombo(); validarCombo();
submitKey('formCrearUsuario', '.buttonOk'); submitKey('formCrearUsuario', '.buttonOk');
}); });
}); });
function listarTipoDocumento() {
function listarTipoDocumento() {
$.ajax({ $.ajax({
type: 'POST', type: 'POST',
url: "../servlet/UsuarioServlet?accion=listarTipoDocumento", url: "../servlet/UsuarioServlet?accion=listarTipoDocumento",
...@@ -879,9 +846,9 @@ ...@@ -879,9 +846,9 @@
$("#cboTipoDocumento").html(print); $("#cboTipoDocumento").html(print);
} }
}); });
} }
function generar() { function generar() {
var numeros = "012346789"; var numeros = "012346789";
var letras = "abcdefghijkmnpqrtuvwxyz"; var letras = "abcdefghijkmnpqrtuvwxyz";
var contraseña = ""; var contraseña = "";
...@@ -892,15 +859,15 @@ ...@@ -892,15 +859,15 @@
contraseña += numeros.charAt(Math.floor(Math.random() * numeros.length)); contraseña += numeros.charAt(Math.floor(Math.random() * numeros.length));
} }
return contraseña; return contraseña;
} }
function claveAleatoria(input) { function claveAleatoria(input) {
$('#btnRandom').click(function () { $('#btnRandom').click(function () {
$('#' + input + '').val(generar(10)); $('#' + input + '').val(generar(10));
}); });
} }
function listarDatos() { function listarDatos() {
$('#crearDocumento').on('change', function () { $('#crearDocumento').on('change', function () {
var tipoDocumento = $('#cboTipoDocumento').val(); var tipoDocumento = $('#cboTipoDocumento').val();
var numeroDocumento = $('#crearDocumento').val(); var numeroDocumento = $('#crearDocumento').val();
...@@ -942,7 +909,8 @@ ...@@ -942,7 +909,8 @@
url: "../servlet/UsuarioServlet?accion=validarUsuario", url: "../servlet/UsuarioServlet?accion=validarUsuario",
dataType: 'JSON', dataType: 'JSON',
data: json2, data: json2,
success: function (data) {debugger success: function (data) {
debugger
if (data === 0) { if (data === 0) {
$('#datosUsuario').text(" " + result["nom_per"] + " " + result["ape_pat_per"] + " " + result["ape_mat_per"]); $('#datosUsuario').text(" " + result["nom_per"] + " " + result["ape_pat_per"] + " " + result["ape_mat_per"]);
$('#cargoUsuario').text(" " + result["nom_are"] + " - " + result["nom_car"]); $('#cargoUsuario').text(" " + result["nom_are"] + " - " + result["nom_car"]);
...@@ -973,9 +941,9 @@ ...@@ -973,9 +941,9 @@
} }
}); });
}); });
} }
function validarCombo() { function validarCombo() {
$("#cboTipoDocumento").on('change', function () { $("#cboTipoDocumento").on('change', function () {
var combo = $('#cboTipoDocumento').val(); var combo = $('#cboTipoDocumento').val();
if (combo === '') { if (combo === '') {
...@@ -988,18 +956,18 @@ ...@@ -988,18 +956,18 @@
soloNumeros("crearDocumento"); soloNumeros("crearDocumento");
} }
}); });
} }
function soloNumeros(input) { function soloNumeros(input) {
$('#' + input).on('keypress keyup blur', function (e) { $('#' + input).on('keypress keyup blur', function (e) {
$(this).val($(this).val().replace(/[^\d].+/, "")); $(this).val($(this).val().replace(/[^\d].+/, ""));
if ((e.which < 48 || e.which > 57)) { if ((e.which < 48 || e.which > 57)) {
e.preventDefault(); e.preventDefault();
} }
}); });
} }
function soloLetras(input) { function soloLetras(input) {
$('#' + input).on('keypress keyup blur', function (e) { $('#' + input).on('keypress keyup blur', function (e) {
var regex = new RegExp(/^[a-zA-Z\s]*$/); var regex = new RegExp(/^[a-zA-Z\s]*$/);
var str = String.fromCharCode(!e.charCode ? e.which : e.charCode); var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
...@@ -1009,9 +977,9 @@ ...@@ -1009,9 +977,9 @@
e.preventDefault(); e.preventDefault();
return false; return false;
}); });
} }
function soloAlfanumerico(input) { function soloAlfanumerico(input) {
$('#' + input).on('keypress keyup blur', function (e) { $('#' + input).on('keypress keyup blur', function (e) {
var regex = new RegExp("^[a-zA-Z0-9]+$"); var regex = new RegExp("^[a-zA-Z0-9]+$");
var str = String.fromCharCode(!e.charCode ? e.which : e.charCode); var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
...@@ -1021,9 +989,9 @@ ...@@ -1021,9 +989,9 @@
e.preventDefault(); e.preventDefault();
return false; return false;
}); });
} }
function asignarUsuarioProyecto() { function asignarUsuarioProyecto() {
$('#tblUsuario tbody').on('click', '.asignar', function (e) { $('#tblUsuario tbody').on('click', '.asignar', function (e) {
var table = $("#tblUsuario").DataTable(); var table = $("#tblUsuario").DataTable();
var data = table.row($(this).parents('tr')).data(); var data = table.row($(this).parents('tr')).data();
...@@ -1067,7 +1035,7 @@ ...@@ -1067,7 +1035,7 @@
listaDetalle.init(function () { listaDetalle.init(function () {
datosDetalle.listarDetalle(codigo); datosDetalle.listarDetalle(codigo);
desactivarDetalle(codigo); desactivarDetalle(codigo);
entrarTrismegistoPlanilla(codigo,$(e.target).attr('data-value')); entrarTrismegistoPlanilla(codigo, $(e.target).attr('data-value'));
activarDetalle(codigo); activarDetalle(codigo);
nuevoProyectoUsuario(codigo); nuevoProyectoUsuario(codigo);
$('#tblDetalle').on('draw.dt', function () { $('#tblDetalle').on('draw.dt', function () {
...@@ -1075,9 +1043,9 @@ ...@@ -1075,9 +1043,9 @@
}); });
}); });
}); });
} }
function verDetalleUsuario() { function verDetalleUsuario() {
$('#tblUsuario tbody').on('click', '.verDetalle', function () { $('#tblUsuario tbody').on('click', '.verDetalle', function () {
var table = $("#tblUsuario").DataTable(); var table = $("#tblUsuario").DataTable();
var data = table.row($(this).parents('tr')).data(); var data = table.row($(this).parents('tr')).data();
...@@ -1117,7 +1085,7 @@ ...@@ -1117,7 +1085,7 @@
datosDetalle.listarDetalle(codigo, false) datosDetalle.listarDetalle(codigo, false)
}); });
}); });
} }
var datosDetalle = {listarDetalle: function (filtro, tipo = true) { var datosDetalle = {listarDetalle: function (filtro, tipo = true) {
var json = { var json = {
...@@ -1145,7 +1113,9 @@ ...@@ -1145,7 +1113,9 @@
"ajax": { "ajax": {
type: 'POST', type: 'POST',
"url": '../servlet/UsuarioServlet?accion=listarUsuarioDetalle', "url": '../servlet/UsuarioServlet?accion=listarUsuarioDetalle',
data: json data: {
json: JSON.stringify(json)
}
}, },
"bSort": false, "bSort": false,
"bFilter": false, "bFilter": false,
...@@ -1168,7 +1138,8 @@ ...@@ -1168,7 +1138,8 @@
{"data": "numeral"}, {"data": "numeral"},
{"data": "nombreProyecto"}, {"data": "nombreProyecto"},
{"data": "nombreTipoUsuario"}, {"data": "nombreTipoUsuario"},
{"data": "estadoUsuarioDetalle", {
"data": "estadoUsuarioDetalle",
render: function (data, type, row) { render: function (data, type, row) {
var retorno; var retorno;
if (data === 0) { if (data === 0) {
...@@ -1179,11 +1150,12 @@ ...@@ -1179,11 +1150,12 @@
return retorno; return retorno;
} }
}, },
{"data": "estadoUsuarioDetalle", "render": function (data, type, row) { {
console.log(row); "data": "estadoUsuarioDetalle", "render": function (data, type, row) {
conta++; conta++;
console.log(row);
if (data === 1) { if (data === 1) {
return `${! row["nombreProyecto"].toString().includes("TRISMEGISTO ASISTENCIA") ? "" : "<span data-toggle=\"tooltip\" title=\"Entrar al Proyecto\" style=\"cursor: pointer\"> <i class='entrar glyphicon glyphicon-new-window text-blue-400'></i>&nbsp;&nbsp; </span>"} return `${!row["nombreProyecto"].toString().includes("TRISMEGISTO ASISTENCIA") ? "" : "<span data-toggle=\"tooltip\" title=\"Entrar al Proyecto\" style=\"cursor: pointer\"> <i class='entrar glyphicon glyphicon-new-window text-blue-400'></i>&nbsp;&nbsp; </span>"}
<span data-toggle="tooltip" title="Eliminar" style="cursor: pointer"> <i class='desactivar glyphicon glyphicon-trash text-danger-800'></i>&nbsp;&nbsp; </span>`; <span data-toggle="tooltip" title="Eliminar" style="cursor: pointer"> <i class='desactivar glyphicon glyphicon-trash text-danger-800'></i>&nbsp;&nbsp; </span>`;
} else { } else {
return `<span data-toggle="tooltip" title="Reactivar" style="cursor: pointer"> <i class='reactivar fa fa-power-off text-success-800'></i>&nbsp;&nbsp; </span>`; return `<span data-toggle="tooltip" title="Reactivar" style="cursor: pointer"> <i class='reactivar fa fa-power-off text-success-800'></i>&nbsp;&nbsp; </span>`;
...@@ -1199,17 +1171,19 @@ ...@@ -1199,17 +1171,19 @@
} }
$("#tblDetalle").DataTable(params); $("#tblDetalle").DataTable(params);
} }
}; };
function recargarDetalle(codigo) {
function recargarDetalle(codigo) {
$("#tblDetalle").DataTable().destroy(); $("#tblDetalle").DataTable().destroy();
datosDetalle.listarDetalle(codigo); datosDetalle.listarDetalle(codigo);
} }
function activarDetalle(filtro) { function activarDetalle(filtro) {
$('#tblDetalle tbody').on('click', '.reactivar', function () { $('#tblDetalle tbody').on('click', '.reactivar', function () {
var table = $("#tblDetalle").DataTable(); var table = $("#tblDetalle").DataTable();
var data = table.row($(this).parents('tr')).data(); var data = table.row($(this).parents('tr')).data();
var codigo = data["codigoUsuarioDetalle"]; var codigo = data["codigoUsuarioDetalle"];
var codigo = data["codigoUsuarioDetalle"];
var json = { var json = {
"codigo": codigo, "codigo": codigo,
array: false array: false
...@@ -1236,19 +1210,19 @@ ...@@ -1236,19 +1210,19 @@
} }
}); });
}); });
} }
function entrarTrismegistoPlanilla(codigo,usuario){ function entrarTrismegistoPlanilla(codigo, usuario) {
$('#tblDetalle tbody').on('click', '.entrar', function () { $('#tblDetalle tbody').on('click', '.entrar', function () {
const json = JSON.stringify({usuario:usuario, pass: '' , codigoProyecto: '37'}); const json = JSON.stringify({usuario: usuario, pass: '', codigoProyecto: '37'});
var table = $("#tblDetalle").DataTable(); var table = $("#tblDetalle").DataTable();
const data = table.row($(this).parents('tr')).data(); const data = table.row($(this).parents('tr')).data();
const url = data["nombreProyecto"] === "TRISMEGISTO ASISTENCIA" ? TP : TPPrueba; const url = data["nombreProyecto"] === "TRISMEGISTO ASISTENCIA" ? TP : TPPrueba;
const win = window.open(`${url}/vistas/security.jsp?body=${encodeURIComponent(json)}`, '_blank'); const win = window.open(`${url}/vistas/security.jsp?body=${encodeURIComponent(json)}`, '_blank');
}); });
} }
function desactivarDetalle(filtro) { function desactivarDetalle(filtro) {
$('#tblDetalle tbody').on('click', '.desactivar', function () { $('#tblDetalle tbody').on('click', '.desactivar', function () {
$('.mantenimientoDetalle').addClass('hide'); $('.mantenimientoDetalle').addClass('hide');
msnConfirm('¿Seguro de eliminar esta asignación?', (option) => { msnConfirm('¿Seguro de eliminar esta asignación?', (option) => {
...@@ -1281,10 +1255,10 @@ ...@@ -1281,10 +1255,10 @@
} }
}) })
}); });
} }
function nuevoProyectoUsuario(codigo) { function nuevoProyectoUsuario(codigo) {
$('#btnAsignarUsuario').click(function () { $('#btnAsignarUsuario').click(function () {
$('.mantenimientoDetalle').addClass('hide'); $('.mantenimientoDetalle').addClass('hide');
var nuevo = bootbox.dialog({ var nuevo = bootbox.dialog({
...@@ -1299,7 +1273,7 @@ ...@@ -1299,7 +1273,7 @@
</label> </label>
<span id="spanAterik" class="asterisk"> (*)</span> <span id="spanAterik" class="asterisk"> (*)</span>
<select id="asignarProyecto" name="cboProyecto" class="form-control"> <select id="asignarProyecto" name="cboProyecto" class="form-control">
<option>SELECCIONE PROYECTO</option> <option value="0">SELECCIONE PROYECTO</option>
</select> </select>
<br> <br>
<label style="font-size: small"> <label style="font-size: small">
...@@ -1307,7 +1281,7 @@ ...@@ -1307,7 +1281,7 @@
</label> </label>
<span id="spanAterik" class="asterisk"> (*)</span> <span id="spanAterik" class="asterisk"> (*)</span>
<select id="asignarUsuario" name="cboUsuario" class="form-control"> <select id="asignarUsuario" name="cboUsuario" class="form-control">
<option>SELECCIONE USUARIO</option> <option value="0">SELECCIONE UN TIPO DE USUARIO</option>
</select> </select>
</div> </div>
<div class="text-right" style="font-size: small"> <div class="text-right" style="font-size: small">
...@@ -1319,6 +1293,7 @@ ...@@ -1319,6 +1293,7 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Asignar", label: "<i class='fa fa-check bigger-110'></i>&nbsp; Asignar",
className: "btn bg-primary border-primary-600 btn-xs buttonOk", className: "btn bg-primary border-primary-600 btn-xs buttonOk",
callback: function () { callback: function () {
if($("#asignarProyecto").val() !== "0" && $('#asignarUsuario').val() !== "0"){
var validar = $("#formAsignarTipoUsuario").validate({ var validar = $("#formAsignarTipoUsuario").validate({
rules: { rules: {
cboProyecto: {required: true}, cboProyecto: {required: true},
...@@ -1334,6 +1309,23 @@ ...@@ -1334,6 +1309,23 @@
} else { } else {
return false; return false;
} }
}else{
bootbox.dialog({
className: "dialogExtraSmall",
title: "<i class='ace-icon fa fa-exclamation-circle white'></i> <span class='white'>Advertencia</span>",
headerClass: "modal-bg-warning",
message: "<span class='text-black'>Debe seleccionar un proyecto y un usuario</span>",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-orange border-orange-600 btn-xs",
callback: function () {
$('.mantenimientoDetalle').removeClass('hide');
}
}
}
});
}
} }
}, },
no: { no: {
...@@ -1346,15 +1338,15 @@ ...@@ -1346,15 +1338,15 @@
} }
}); });
nuevo.init(function () { nuevo.init(function () {
listarProyectos('asignarProyecto');
listarTipoDeUsuario(codigo, 'asignarProyecto', 'asignarUsuario');
validarCombos(); validarCombos();
submitKey('formAsignarTipoUsuario', '.buttonOk'); submitKey('formAsignarTipoUsuario', '.buttonOk');
listarProyectos('asignarProyecto','.nuevoDetalle');
listarTipoDeUsuario(codigo, 'asignarProyecto', 'asignarUsuario','.nuevoDetalle');
}); });
}); });
} }
function validarCombos() { function validarCombos() {
$('#asignarUsuario').attr('disabled', true); $('#asignarUsuario').attr('disabled', true);
$('#asignarProyecto').on('change', function () { $('#asignarProyecto').on('change', function () {
var proyecto = $('#asignarProyecto').val(); var proyecto = $('#asignarProyecto').val();
...@@ -1365,25 +1357,31 @@ ...@@ -1365,25 +1357,31 @@
$('#asignarUsuario').attr('disabled', false); $('#asignarUsuario').attr('disabled', false);
} }
}); });
} }
function listarProyectos(comboBox) { function listarProyectos(comboBox, parent = "") {
$.ajax({ $.ajax({
type: 'POST', type: 'POST',
url: "../servlet/UsuarioServlet?accion=listarProyectos", url: "../servlet/UsuarioServlet?accion=listarProyectos",
dataType: 'JSON', dataType: 'JSON',
success: function (result) { success: function (result) {
var print = " <option value=''>SELECCIONE PROYECTO</option> "; var print = `<option value='0'>${parent !== "" ? "SELECCIONE PROYECTO" : "TODOS"}</option> `;
for (var i in result) { for (var i in result) {
print += " <option value =" + result[i].codigoProyecto + ">" + result[i].nombreProyecto + "</option> "; print += " <option value =" + result[i].codigoProyecto + ">" + result[i].nombreProyecto + "</option> ";
} }
$("#" + comboBox + "").html(print); $("#" + comboBox + "").html(print);
$("#" + comboBox + "").select2() if (parent !== "") {
} $("#" + comboBox + "").select2({
dropdownParent: $(parent)
}); });
} else {
$("#" + comboBox + "").select2();
}
} }
});
}
function listarTipoDeUsuario(usuario, cboproyecto, comboBox) { function listarTipoDeUsuario(usuario, cboproyecto, comboBox, parent = "") {
$("#" + cboproyecto + "").on('change', function () { $("#" + cboproyecto + "").on('change', function () {
var proyecto = $("#" + cboproyecto + "").val(); var proyecto = $("#" + cboproyecto + "").val();
var json = { var json = {
...@@ -1396,19 +1394,28 @@ ...@@ -1396,19 +1394,28 @@
dataType: 'JSON', dataType: 'JSON',
data: json, data: json,
success: function (result) { success: function (result) {
var print = " <option value=''>SELECCIONE TIPO DE USUARIO</option> "; var print = `<option value='0'>
${$("#" + cboproyecto + "").children('option:selected').text() === "TODOS" || parent !== "" ? "SELECCIONE UN TIPO DE USUARIO" : "TODOS"}
</option> `;
for (var i in result) { for (var i in result) {
print += " <option value =" + result[i].codigoDetalle + ">" + result[i].nombreTipoUsuario + "</option> "; print += " <option value =" + result[i].codigoDetalle + ">" + result[i].nombreTipoUsuario + "</option> ";
} }
$("#" + comboBox + "").html(print); $("#" + comboBox + "").html(print);
$("#" + comboBox + "").select2() if (parent !== "") {
$("#" + comboBox + "").select2({
dropdownParent: $(parent )
});
}else{
$("#" + comboBox + "").select2();
}
} }
}); });
}); });
} }
function asignarProyectoUsuario(codigo) { function asignarProyectoUsuario(codigo) {
var cboasignarUsuario = $('#asignarUsuario').val(); var cboasignarUsuario = $('#asignarUsuario').val();
if(cboasignarUsuario !== "0"){
var json = { var json = {
"usuario": codigo, "usuario": codigo,
"proyectoDetalle": cboasignarUsuario "proyectoDetalle": cboasignarUsuario
...@@ -1455,10 +1462,26 @@ ...@@ -1455,10 +1462,26 @@
}); });
} }
} }
});}else{
bootbox.dialog({
className: "dialogExtraSmall",
title: "<i class='ace-icon fa fa-exclamation-circle white'></i> <span class='white'>Advertencia</span>",
headerClass: "modal-bg-warning",
message: "Seleccione un tipo de usuario",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-orange border-orange-600 btn-xs",
callback: function () {
$('.mantenimientoDetalle').removeClass('hide');
}
}
}
}); });
} }
}
function validarUsuarioDependencia(codigo) { function validarUsuarioDependencia(codigo) {
let json = { let json = {
codigo: codigo codigo: codigo
}; };
...@@ -1475,9 +1498,9 @@ ...@@ -1475,9 +1498,9 @@
} }
}); });
}); });
} }
function validarNombreUsuario(nombre) { function validarNombreUsuario(nombre) {
let json = { let json = {
nombre: nombre nombre: nombre
}; };
...@@ -1494,9 +1517,9 @@ ...@@ -1494,9 +1517,9 @@
} }
}); });
}); });
} }
function validarAsignacion(codigo) { function validarAsignacion(codigo) {
let json = { let json = {
codigo: codigo codigo: codigo
}; };
...@@ -1513,13 +1536,19 @@ ...@@ -1513,13 +1536,19 @@
} }
}); });
}); });
} }
refrescar = () => { refrescar = () => {
$("#tblUsuario").DataTable().ajax.reload() $("#tblUsuario").DataTable().ajax.reload()
} }
$('[type="checkbox"]').click(function (e) { $('[type="checkbox"]').click(function (e) {
if (document.querySelector('#cbkEstado').checked) {
document.querySelector('#txtEstado').innerText = 'MOSTRANDO INACTIVOS';
} else {
document.querySelector('#txtEstado').innerText = 'MOSTRANDO ACTIVOS';
}
isChecked = $(this).is(":checked"); isChecked = $(this).is(":checked");
document.getElementById('btnLimpiar').click();
recargar() recargar()
}); });
\ No newline at end of file \ No newline at end of file
<%@ page import="com.mycompany.moduloseguridad.utilities.dotenSrv" %> <%@ page import="com.mycompany.moduloseguridad.utilities.dotenSrv" %>
<%@ page import="io.github.cdimascio.dotenv.Dotenv" %> <%@ page import="io.github.cdimascio.dotenv.Dotenv" %>
<%@ page import="com.mycompany.moduloseguridad.utilities.OsUtils" %> <%@ page import="com.mycompany.moduloseguridad.utilities.OsUtils" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%> <%@page contentType="text/html" pageEncoding="UTF-8" %>
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<%@include file="templates/header.jsp" %> <%@include file="templates/header.jsp" %>
<!--template-core--> <!--template-core-->
<!--css--> <!--css-->
<link href="../css/general.css" rel="stylesheet" type="text/css"/> <link href="../css/general.css" rel="stylesheet" type="text/css"/>
<!--css--> <!--css-->
</head> </head>
<% <%
String TP = dotenSrv.obtenerValorVariableEntorno("TRISMEGISTO_ASISTENCIA_URL"); String TP = dotenSrv.obtenerValorVariableEntorno("TRISMEGISTO_ASISTENCIA_URL");
String TPPrueba = dotenSrv.obtenerValorVariableEntorno("TRISMEGISTO_ASISTENCIA_PRUEBA_URL"); String TPPrueba = dotenSrv.obtenerValorVariableEntorno("TRISMEGISTO_ASISTENCIA_PRUEBA_URL");
%> %>
<script type="application/javascript"> <script type="application/javascript">
const TP = "<%=TP%>"; const TP = "<%=TP%>";
const TPPrueba = "<%=TPPrueba%>"; const TPPrueba = "<%=TPPrueba%>";
</script> </script>
<body onload="segundaCarga();"> <body onload="segundaCarga();">
<%@include file="templates/header-body.jsp" %> <%@include file="templates/header-body.jsp" %>
<!-- content --> <!-- content -->
<div class="row animated fadeIn"> <div class="row animated fadeIn">
<div class="col-sm-12 col-md-12 col-lg-6 col-centered"> <div class="col-sm-12 col-md-12 col-lg-6 col-centered">
<div class="panel panel-primary card-3" style="margin-top: 30px"> <div class="panel panel-primary card-3" style="margin-top: 30px">
<div class="panel-heading" style="padding: 8px 15px"> <div class="panel-heading" style="padding: 8px 15px">
<h6 class="panel-title" style="font-size: 15px; font-family: inherit"><i class="icon icon-search4"></i>&nbsp; Búsqueda de Tipos de Usuario</h6> <h6 class="panel-title" style="font-size: 15px; font-family: inherit"><i class="icon icon-search4"></i>&nbsp;
Búsqueda de Tipos de Usuario</h6>
<div class="heading-elements"> <div class="heading-elements">
<div class="checkbox checkbox-switchery"> <div class="checkbox checkbox-switchery">
<label> <label>
<span id="txtEstado"></span>
<input type="checkbox" id="cbkEstado"> <input type="checkbox" id="cbkEstado">
MOSTRAR INACTIVOS
</label> </label>
</div> </div>
</div> </div>
...@@ -40,92 +41,92 @@ ...@@ -40,92 +41,92 @@
<div class="panel-body" id="panelSearch"> <div class="panel-body" id="panelSearch">
<form id="formUsuario" onsubmit="return false" autocomplete="off"> <form id="formUsuario" onsubmit="return false" autocomplete="off">
<div class="row"> <div class="row">
<div class='divBusqueda col-md-12'> <%-- <div class='divBusqueda col-md-12'>--%>
<%-- <div class="form-group">--%>
<%-- <label style="font-size: small">--%>
<%-- Buscar por: --%>
<%-- </label>--%>
<%-- <span class="asterisk">(*)</span>--%>
<%-- <select id="cboTipoBusqueda" class="form-control" name="cboTipoBusqueda">--%>
<%-- <option value="">SELECCIONE FILTRO</option>--%>
<%-- <option value="4">TRABAJADOR (APELLIDOS Y/O NOMBRES)</option>--%>
<%-- <option value="1">USUARIO (NICKNAME)</option>--%>
<%-- <option value="2">PROYECTO</option>--%>
<%-- <option value="3">TIPO DE USUARIO</option>--%>
<%-- <option value="5">CARGO</option>--%>
<%-- </select>--%>
<%-- </div>--%>
<%-- </div>--%>
<div class='col-md-4'>
<div class="form-group"> <div class="form-group">
<label style="font-size: small"> <label style="font-size: small">
Buscar por: Nº Documento / Nickname:
</label> </label>
<span class="asterisk">(*)</span> <input type="text" id="txtTrabajador" name="txtTrabajador" class="form-control" value=""
<select id="cboTipoBusqueda" class="form-control" name="cboTipoBusqueda"> placeholder="INGRESAR PERSONAL" style="text-transform:uppercase;">
<option value="">SELECCIONE FILTRO</option>
<option value="4">TRABAJADOR (APELLIDOS Y/O NOMBRES)</option>
<option value="1">USUARIO (NICKNAME)</option>
<option value="2">PROYECTO</option>
<option value="3">TIPO DE USUARIO</option>
<option value="5">CARGO</option>
</select>
</div> </div>
</div> </div>
<div class='divTrabajador col-md-6 hide'> <div class='col-md-4'>
<div class="form-group">
<label style="font-size: small">
Nombres y/o Apellidos:
</label>
<span class="asterisk">(*)</span>
<input type="text" id="txtTrabajador" name = "txtTrabajador" class="form-control" value="" placeholder="INGRESE NOMBRE DEL TRABAJADOR" style="text-transform:uppercase;">
</div>
</div>
<div class='divCargo col-md-6 hide'>
<div class="form-group"> <div class="form-group">
<label style="font-size: small"> <label style="font-size: small">
Cargos: Cargos:
</label> </label>
<span class="asterisk">(*)</span> <span class="asterisk">(*)</span>
<select id="cboCargos" name = "cboCargos" class="form-control"> <select id="cboCargos" name="cboCargos" class="form-control">
<option>[SELECCIONE]</option> <option value="">TODOS</option>
</select> </select>
</div> </div>
</div> </div>
<div class='divNombre col-md-6 hide'> <div class=' col-md-4'>
<div class="form-group"> <div class="form-group">
<label style="font-size: small"> <label style="font-size: small">
Nombre: Estado Personal:
</label> </label>
<span class="asterisk">(*)</span> <select id="cboEstado" class="form-control" name="cboEstado">
<input type="text" id="txtUsuario" name = "txtUsuario" class="form-control" value="" placeholder="INGRESE NOMBRE DEL USUARIO (NICKNAME)" style="text-transform:uppercase;"> <option value="0">TODOS</option>
<option value="1">HABILITADO</option>
<option value="2">INHABILITADO</option>
</select>
</div>
</div> </div>
</div> </div>
<div class='divProyecto col-md-6 hide'> <div class="row">
<div class='col-md-4'>
<div class="form-group"> <div class="form-group">
<label style="font-size: small"> <label style="font-size: small">
Proyecto: Proyecto:
</label> </label>
<span class="asterisk">(*)</span> <span class="asterisk">(*)</span>
<select id="cboProyecto" class="form-control" name="cboProyecto"> <select id="cboProyecto" class="form-control" name="cboProyecto">
<option value="">SELECCIONE PROYECTO</option> <option value="0">SELECCIONE UN PROYECTO</option>
</select> </select>
</div> </div>
</div> </div>
<div class='divTipoUsuario col-md-6 hide'> <div class='col-md-4'>
<div class="form-group"> <div class="form-group">
<label style="font-size: small"> <label style="font-size: small">
Tipo de Usuario: Tipo de Usuario:
</label> </label>
<span class="asterisk">(*)</span> <span class="asterisk">(*)</span>
<select id="cboTipoUsuario" class="form-control" name="cboTipoUsuario"> <select id="cboTipoUsuario" class="form-control" name="cboTipoUsuario">
<option value="">SELECCIONE TIPO DE USUARIO</option> <option value="0">SELECCIONE UN TIPO DE USUARIO</option>
</select> </select>
</div> </div>
</div> </div>
</div> </div>
</form> <div class="row" style="display: flex; justify-content: center;">
<div class="row"> <div class="col-md-4">
<div class="col-md-12"> <div class="text-center">
<div class="form-group"> <button class="btn bg-primary border-primary-600 btn-xs" type="button" id="btnBuscar"><i
<div class="text-right"> class="fa fa-search"></i> Buscar
<span class="text-danger">(*) </span> Campo obligatorio </button>
</div> <button class="btn bg-orange border-orange-600 btn-xs" type="button" id="btnLimpiar"><i
</div> class="fa fa-refresh"></i> Limpiar
</div> </button>
</div>
<div class="row">
<div class="col-md-12">
<div class="text-right">
<button class="btn bg-primary border-primary-600 btn-xs" type="button" id="btnBuscar"><i class="fa fa-search"></i> Buscar</button>
<button class="btn bg-orange border-orange-600 btn-xs" type="button" id="btnLimpiar"><i class="fa fa-refresh"></i> Limpiar</button>
</div> </div>
</div> </div>
</div> </div>
</form>
</div> </div>
</div> </div>
</div> </div>
...@@ -133,13 +134,17 @@ ...@@ -133,13 +134,17 @@
<div class="col-sm-12 col-md-12 col-lg-11 col-centered"> <div class="col-sm-12 col-md-12 col-lg-11 col-centered">
<div class="panel panel-primary card-3" style="margin-top: 30px"> <div class="panel panel-primary card-3" style="margin-top: 30px">
<div class="panel-heading" style="padding: 8px 15px"> <div class="panel-heading" style="padding: 8px 15px">
<h6 class="panel-title" style="font-size: 15px; font-family: inherit"><i class="fa fa-list"></i>&nbsp; Listado de Usuarios</h6> <h6 class="panel-title" style="font-size: 15px; font-family: inherit"><i class="fa fa-list"></i>&nbsp;
Listado de Usuarios</h6>
<div class="heading-elements"> <div class="heading-elements">
<button type="button" id="btnNuevoUsuario" class="btn bg-slate border-slate-600 btn-xs"><i class="glyphicon glyphicon-plus"></i>&nbsp; Nuevo Usuario</button> <button type="button" id="btnNuevoUsuario" class="btn bg-slate border-slate-600 btn-xs"><i
class="glyphicon glyphicon-plus"></i>&nbsp; Nuevo Usuario
</button>
</div> </div>
</div> </div>
<div class="table-responsive"> <div class="table-responsive">
<table class="table dataTable table-striped table-hover table-sm table-bordered display" id="tblUsuario"> <table class="table dataTable table-striped table-hover table-sm table-bordered display"
id="tblUsuario">
<thead> <thead>
<tr> <tr>
<th class="text-center">CÓDIGO</th> <th class="text-center">CÓDIGO</th>
...@@ -155,12 +160,12 @@ ...@@ -155,12 +160,12 @@
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<!-- / content --> <!-- / content -->
<%@include file="templates/footer-body.jsp" %> <%@include file="templates/footer-body.jsp" %>
<!--js--> <!--js-->
<script src="../js/pages/usuario.js" type="text/javascript"></script> <script src="../js/pages/usuario.js" type="text/javascript"></script>
<script src="../lib/js/crypto-js.min.js"></script> <script src="../lib/js/crypto-js.min.js"></script>
<!--js--> <!--js-->
</body> </body>
</html> </html>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment