Commit 332fecdd by sistem02 user

[ADD] cambios en seguridad mostrando activos e inactivos

parent c0c776aa
/dist/
\ No newline at end of file
......@@ -329,3 +329,11 @@ table.display tbody tr:hover td {
-moz-border-radius:5px;
border-radius:5px;
}
.glyphicon {
font-size: 13px;
}
[class^="icon-"], [class*=" icon-"] {
font-size: 14px;
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app error-url="">
<context-root>/moduloSeguridad</context-root>
<class-loader delegate="true"/>
<jsp-config>
<property name="keepgenerated" value="true">
<description>Keep a copy of the generated servlet class' java code.</description>
</property>
</jsp-config>
</glassfish-web-app>
......@@ -379,9 +379,9 @@
}
function validCaracForm() {
new Input({el: '#editarUrl', param: 'text'}).validate();
new Input({el: '#editarNombre', param: 'text'}).validate();
new Input({el: '#editarIcono', param: 'text'}).validate();
// new Input({el: '#editarUrl', param: 'text'}).validate();
// new Input({el: '#editarNombre', param: 'text'}).validate();
// s Input({el: '#editarIcono', param: 'text'}).validate();
}
function validarFormulario(jerarquia) {
......@@ -684,7 +684,7 @@
validarInput();
validarFormulario(apunta);
submitKey('formCrearMenu', '.buttonOk');
soloLetras('editarUrl');
// soloLetras('editarUrl');
if (tipo === 1) {
rellenarFormulario(datos, apunta);
}
......
/* global bootbox */
/* global bootbox, rolesUsuario */
let isChecked = false
function segundaCarga() {
datosProyecto.listarProyecto();
editarProyecto();
desactivarProyecto();
activarProyecto();
asignarDetalle();
submitKey('formProyecto', '#btnBuscar');
datosProyecto.listarProyecto()
editarProyecto()
desactivarProyecto()
activarProyecto()
asignarDetalle()
submitKey('formProyecto', '#btnBuscar')
}
// PROYECTO MANTENIMIENTO
let switchery = new Switchery(document.querySelector('#cbkEstado'), {color: 'green'})
var datosProyecto = {listarProyecto: function () {
var filtro = $('#txtProyecto').val();
var filtro = $('#txtProyecto').val()
var json = {
"filtro": filtro
};
"filtro": filtro,
"status": isChecked
}
$("#tblProyecto").DataTable({
"language": {
"lengthMenu": "Mostrar: _MENU_",
......@@ -37,7 +42,9 @@
"ajax": {
type: 'POST',
"url": '../servlet/ProyectoServlet?accion=listarProyecto',
data: json
data: {
json: JSON.stringify(json)
}
},
"bSort": false,
"bFilter": false,
......@@ -53,11 +60,11 @@
{targets: 0, orderable: false, width: "5%", className: "text-center"},
{targets: 1, orderable: false, width: "20%"},
{targets: 2, orderable: false, width: "15%"},
{targets: 3, orderable: false, width: "5%", className: "text-center"},
{targets: 3, orderable: false, width: "5%", className: "text-center", visible: isChecked},
{targets: 4, orderable: false, width: "7%", className: "text-center"}
],
"columns": [
{"data": "numeral"},
{"data": "codigoProyecto"},
{"data": "nombreProyecto"},
{"data": "urlProyecto"},
{"data": "estadoProyecto",
......@@ -73,34 +80,32 @@
},
{"data": "estadoProyecto", "render": function (data, type, row) {
let retorno = ``;
retorno = `
<span data-toggle="tooltip" title="Editar" style="cursor: pointer"> <i class='editar click${row.numeral} glyphicon glyphicon-pencil text-blue-800'></i> &nbsp;&nbsp; </span>`;
retorno = `<span data-toggle="tooltip" title="Editar" style="cursor: pointer"> <i class='editar click${row.numeral} glyphicon glyphicon-pencil text-blue-800'></i> &nbsp;&nbsp; </span>`;
retorno += `<span data-toggle="tooltip" title="Asignar" style="cursor: pointer"> <i class='asignar icon icon-cog2 text-slate-800'></i> &nbsp;&nbsp; </span>`;
if (rolesUsuario.includes('ADMINISTRADOR')) {
if (data === 1) {
retorno += `
<span data-toggle="tooltip" title="Desactivar" style="cursor: pointer"> <i class='desactivar icon-user-block text-danger-800'></i>&nbsp;&nbsp; </span>`;
retorno += `<span data-toggle="tooltip" title="Eliminar" style="cursor: pointer"> <i class='desactivar glyphicon glyphicon-trash text-danger-800'></i>&nbsp;&nbsp; </span>`;
} else {
retorno += `
<span data-toggle="tooltip" title="Activar" style="cursor: pointer"> <i class='activar icon-user-check 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>`;
}
}
retorno += `
<span data-toggle="tooltip" title="Asignar" style="cursor: pointer"> <i class='asignar icon icon-cog2 text-slate-800'></i> </span>`;
return retorno;
}
}
]
});
})
}
}
};
$('#tblProyecto').on('draw.dt', function () {
$('[data-toggle="tooltip"]').tooltip();
});
$('[data-toggle="tooltip"]').tooltip()
})
function recargar() {
$("#tblProyecto").DataTable().destroy();
datosProyecto.listarProyecto();
$("#tblProyecto").DataTable().destroy()
datosProyecto.listarProyecto()
}
var validar = 0;
......@@ -115,28 +120,28 @@
txtBusqueda:
{required: "<b>&times; Ingrese una Búsqueda</b>"}
}
});
})
if (validar.form()) {
recargar();
recargar()
}
});
})
$('#btnLimpiar').click(function () {
$('#txtProyecto').val("");
$('#txtProyecto').val("")
if (validar !== 0) {
validar.resetForm();
validar.resetForm()
}
recargar();
});
recargar()
})
function validCaracForm() {
new Input({el: '#editarNombre', param: 'alphanumeric'}).validate();
new Input({el: '#editarNombre', param: 'alphanumeric'}).validate()
}
function editarProyecto() {
$('#tblProyecto tbody').on('click', '.editar', function () {
var table = $("#tblProyecto").DataTable();
var data = table.row($(this).parents('tr')).data();
var table = $("#tblProyecto").DataTable()
var data = table.row($(this).parents('tr')).data()
var codigo = data["codigoProyecto"];
var nombre = data["nombreProyecto"];
var url = data["urlProyecto"];
......@@ -171,13 +176,13 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Editar",
className: "btn bg-primary border-primary-600 btn-xs buttonOk",
callback: function () {
var nombreNuevo = $('#editarNombre').val().toUpperCase();
var urlNuevo = $('#editarUrl').val();
var nombreNuevo = $('#editarNombre').val().toUpperCase()
var urlNuevo = $('#editarUrl').val()
var json = {
"codigo": codigo,
"nombre": nombreNuevo,
"url": urlNuevo
};
}
var validar = $("#formEditarProyecto").validate({
rules: {
txtNombre: {required: true},
......@@ -187,7 +192,7 @@
txtNombre: {required: "<b>&times; Ingrese un Nombre</b>"},
txtUrl: {required: "<b>&times; Ingrese una Url</b>"}
}
});
})
if (validar.form()) {
validarNombreProyecto(nombreNuevo, nombre, 1)
.then((data) => {
......@@ -222,11 +227,11 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-success border-success-600",
callback: function () {
recargar();
recargar()
}
}
}
});
})
} else {
bootbox.dialog({
title: "<i class='ace-icon fa fa-exclamation-circle white'></i> <span class='white'>Advertencia</span>",
......@@ -237,24 +242,24 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-orange border-orange-600",
callback: function () {
recargar();
recargar()
}
}
}
});
})
}
}
});
})
}
}, no: {
label: "<i class='fa fa-times bigger-110'></i>&nbsp; No",
className: "btn bg-danger border-danger-600",
callback: function () {
$(`#tblProyecto tbody .click${numeral}`).click();
$(`#tblProyecto tbody .click${numeral}`).click()
}
}
}
});
})
} else {
bootbox.dialog({
className: "dialogExtraSmall",
......@@ -266,13 +271,13 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-orange border-orange-600",
callback: function () {
$(`#tblProyecto tbody .click${numeral}`).click();
$(`#tblProyecto tbody .click${numeral}`).click()
}
}
}
});
})
}
});
})
} else {
bootbox.dialog({
......@@ -285,13 +290,13 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-orange border-orange-600",
callback: function () {
$(`#tblProyecto tbody .click${numeral}`).click();
$(`#tblProyecto tbody .click${numeral}`).click()
}
}
}
});
})
}
});
})
} else {
return false;
}
......@@ -304,25 +309,25 @@
}
}
}
});
})
editarProyecto.init(function () {
validCaracForm();
submitKey('formEditarProyecto', '.buttonOk');
});
});
validCaracForm()
submitKey('formEditarProyecto', '.buttonOk')
})
})
}
function activarProyecto() {
$('#tblProyecto tbody').on('click', '.activar', function () {
var table = $("#tblProyecto").DataTable();
var data = table.row($(this).parents('tr')).data();
$('#tblProyecto tbody').on('click', '.reactivar', function () {
var table = $("#tblProyecto").DataTable()
var data = table.row($(this).parents('tr')).data()
var codigo = data["codigoProyecto"];
var json = {
"codigo": codigo
};
}
validarProyecto(codigo)
.then((data) => {
if (data === 0) {
if (data.length === 0) {
$.ajax({
type: 'POST',
url: "../servlet/ProyectoServlet?accion=activarProyecto",
......@@ -340,11 +345,11 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; OK",
className: "btn bg-success border-success-600 btn-xs",
callback: function () {
recargar();
recargar()
}
}
}
});
})
} else {
bootbox.dialog({
className: "dialogExtraSmall",
......@@ -356,14 +361,14 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; OK",
className: "btn bg-orange border-orange-600 btn-xs",
callback: function () {
recargar();
recargar()
}
}
}
});
})
}
}
});
})
} else {
bootbox.dialog({
className: "dialogExtraSmall",
......@@ -378,83 +383,86 @@
}
}
}
});
})
}
});
});
})
})
}
function desactivarProyecto() {
$('#tblProyecto tbody').on('click', '.desactivar', function () {
var table = $("#tblProyecto").DataTable();
var data = table.row($(this).parents('tr')).data();
var codigo = data["codigoProyecto"];
var json = {
"codigo": codigo
};
validarProyecto(codigo)
.then((data) => {
if (data === 0) {
desactivarProyectoRequest = (json) => {
return new Promise((resolve, reject) => {
$.ajax({
type: 'POST',
url: "../servlet/ProyectoServlet?accion=desactivarProyecto",
dataType: 'JSON',
data: json,
success: function (data) {
if (data === 1) {
bootbox.dialog({
className: "dialogExtraSmall",
title: "<i class='ace-icon fa fa-tags white'></i> <span class='white'>Notificación</span>",
headerClass: "modal-bg-success",
message: "Proyecto correctamente modificado",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; OK",
className: "btn bg-success border-success-600 btn-xs",
callback: function () {
recargar();
}
}
}
});
} else {
bootbox.dialog({
title: "<i class='ace-icon fa fa-exclamation-circle white'></i> <span class='white'>Advertencia</span>",
headerClass: "modal-bg-warning",
message: "Ha ocurrido un error",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; OK",
className: "btn bg-orange border-orange-600 btn-xs",
callback: function () {
recargar();
success: function (data, textStatus, jqXHR) {
resolve(data)
},
error: function (jqXHR, textStatus, errorThrown) {
reject('Error en la petición')
}
})
})
}
desactivarUsuarioDetalle = (json) => {
return new Promise((resolve, reject) => {
$.ajax({
type: 'POST',
url: "../servlet/ProyectoServlet?accion=desactivarUsuarioDetalle",
dataType: 'json',
data: json,
success: function (data, textStatus, jqXHR) {
resolve(data)
}, error: function (jqXHR, textStatus, errorThrown) {
reject('Error en la petición')
}
});
})
})
}
function desactivarProyecto() {
$('#tblProyecto tbody').on('click', '.desactivar', function () {
var table = $("#tblProyecto").DataTable()
var data = table.row($(this).parents('tr')).data()
var codigo = data["codigoProyecto"];
var json = {
"codigo": codigo
}
});
validarProyecto(codigo)
.then((data) => {
if (data.length === 0) {
msnConfirm('¿Seguro de dar de baja al proyecto seleccionado?', (option) => {
if (option) {
desactivarProyectoRequest(json)
.then(data => {
if (data === 1) {
msnConfirm('Proyecto deshabilitado exitosamente', () => {
recargar()
})
} 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: "El proyecto seleccionado esta en uso!",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; OK",
className: "btn bg-orange border-orange-600 btn-xs",
callback: function () {
recargar();
msnError('No se pudo deshabilitar el proyecto')
}
})
}
}
});
}
});
})
} else {
msnConfirm(`Existen ${data.length} usuario(s) asignados a este proyecto.
Si continua estos serán deshabilitados <br>
¿Seguro de continuar?`, (option) => {
if (option) {
desactivarUsuarioDetalle(json)
.then(data => {
console.log(data)
})
.catch(err => console.log(err))
}
})
}
})
});
})
}
$('#btnNuevoProyecto').on('click', function () {
......@@ -488,12 +496,12 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-primary border-primary-600 btn-xs buttonOk",
callback: function () {
var nombre = $('#editarNombre').val().toUpperCase();
var url = $('#crearUrl').val();
var nombre = $('#editarNombre').val().toUpperCase()
var url = $('#crearUrl').val()
var json = {
"nombre": nombre,
"url": url
};
}
var validar = $("#formCrearProyecto").validate({
rules: {
txtNombre: {required: true},
......@@ -503,7 +511,7 @@
txtNombre: {required: "<b>&times; Ingrese un Nombre</b>"},
txtUrl: {required: "<b>&times; Ingrese una Url</b>"}
}
});
})
if (validar.form()) {
validarNombreProyecto(nombre, '', 0)
.then((data) => {
......@@ -528,11 +536,11 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-success border-success-600",
callback: function () {
recargar();
recargar()
}
}
}
});
})
} else {
bootbox.dialog({
title: "<i class='ace-icon fa fa-exclamation-circle white'></i> <span class='white'>Advertencia</span>",
......@@ -546,10 +554,10 @@
}
}
}
});
})
}
}
});
})
} else {
bootbox.dialog({
className: "dialogExtraSmall",
......@@ -561,13 +569,13 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-orange border-orange-600 btn-xs",
callback: function () {
$('#btnNuevoProyecto').click();
$('#btnNuevoProyecto').click()
}
}
}
});
})
}
});
})
} else {
bootbox.dialog({
className: "dialogExtraSmall",
......@@ -579,13 +587,13 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-orange border-orange-600 btn-xs",
callback: function () {
$('#btnNuevoProyecto').click();
$('#btnNuevoProyecto').click()
}
}
}
});
})
}
});
})
} else {
return false;
}
......@@ -598,19 +606,19 @@
}
}
}
});
})
crearProyecto.init(function () {
validCaracForm();
submitKey('formCrearProyecto', '.buttonOk');
});
});
validCaracForm()
submitKey('formCrearProyecto', '.buttonOk')
})
})
// MANTENIMIENTO PROYECTO DETALLE
function asignarDetalle() {
$('#tblProyecto tbody').on('click', '.asignar', function () {
var table = $("#tblProyecto").DataTable();
var data = table.row($(this).parents('tr')).data();
var table = $("#tblProyecto").DataTable()
var data = table.row($(this).parents('tr')).data()
var codigo = data["codigoProyecto"];
var nombre = data["nombreProyecto"];
var listaDetalle = bootbox.dialog({
......@@ -643,29 +651,29 @@
label: "<i class='fa fa-times bigger-110'></i>&nbsp; Cerrar",
className: "btn bg-danger border-danger-600 btn-xs",
callback: function () {
recargar();
recargar()
}
}
}
});
})
listaDetalle.init(function () {
$('.close').addClass('hide');
datosDetalle.listarDetalle(codigo);
desactivarDetalle(codigo);
activarDetalle(codigo);
asignarTipoUsuario(codigo);
eliminarDetalleValid(codigo);
$('.close').addClass('hide')
datosDetalle.listarDetalle(codigo)
desactivarDetalle(codigo)
activarDetalle(codigo)
asignarTipoUsuario(codigo)
eliminarDetalleValid(codigo)
$('#tblDetalle').on('draw.dt', function () {
$('[data-toggle="tooltip"]').tooltip();
});
});
});
$('[data-toggle="tooltip"]').tooltip()
})
})
})
}
var datosDetalle = {listarDetalle: function (filtro) {
var json = {
"filtro": filtro
};
}
let conta = 1;
$("#tblDetalle").DataTable({
"language": {
......@@ -723,33 +731,27 @@
{"data": "estadoDetalle", "render": function (data, type, row) {
let retorno = ``;
if (data === 1) {
retorno += `
<span data-toggle="tooltip" title="Desactivar" style="cursor: pointer"> <i class='desactivar icon-user-block text-danger-800'></i>&nbsp;&nbsp;&nbsp; </span>`;
retorno += `<span data-toggle="tooltip" title="Desactivar" style="cursor: pointer"> <i class='desactivar glyphicon glyphicon-trash text-danger-800'></i>&nbsp;&nbsp;&nbsp; </span>`;
} else {
retorno += `
<span data-toggle="tooltip" title="Activar" style="cursor: pointer"> <i class='activar icon-user-check text-success-800'></i>&nbsp;&nbsp;&nbsp; </span>`;
retorno += `<span data-toggle="tooltip" title="Activar" style="cursor: pointer"> <i class='activar fa fa-power-off text-success-800'></i>&nbsp;&nbsp;&nbsp; </span>`;
}
retorno += `
<span data-toggle="tooltip" title="Eliminar" style="cursor: pointer"> <i class='eliminar glyphicon glyphicon-trash text-blue-800'></i> </span>`;
conta++;
return retorno;
}
}
]
});
})
}
}
};
function activarDetalle(filtro) {
$('#tblDetalle tbody').on('click', '.activar', function () {
var table = $("#tblDetalle").DataTable();
var data = table.row($(this).parents('tr')).data();
var table = $("#tblDetalle").DataTable()
var data = table.row($(this).parents('tr')).data()
var codigo = data["codigoDetalle"];
var json = {
"codigo": codigo
};
}
validarDetalle(codigo)
.then((data) => {
if (data === 0) {
......@@ -760,7 +762,7 @@
data: json,
success: function (data) {
if (data === 1) {
$('.mantenimientoDetalle').addClass('hide');
$('.mantenimientoDetalle').addClass('hide')
bootbox.dialog({
className: "dialogExtraSmall",
title: "<i class='ace-icon fa fa-tags white'></i> <span class='white'>Notificación</span>",
......@@ -771,14 +773,14 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; OK",
className: "btn bg-success border-success-600 btn-xs",
callback: function () {
$('.mantenimientoDetalle').removeClass('hide');
recargarDetalle(filtro);
$('.mantenimientoDetalle').removeClass('hide')
recargarDetalle(filtro)
}
}
}
});
})
} else {
$('.mantenimientoDetalle').addClass('hide');
$('.mantenimientoDetalle').addClass('hide')
bootbox.dialog({
className: "dialogExtraSmall",
title: "<i class='ace-icon fa fa-exclamation-circle white'></i> <span class='white'>Advertencia</span>",
......@@ -789,15 +791,15 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; OK",
className: "btn bg-orange border-orange-600 btn-xs",
callback: function () {
$('.mantenimientoDetalle').removeClass('hide');
recargar();
$('.mantenimientoDetalle').removeClass('hide')
recargar()
}
}
}
});
})
}
}
});
})
} else {
bootbox.dialog({
className: "dialogExtraSmall",
......@@ -812,20 +814,20 @@
}
}
}
});
})
}
});
});
})
})
}
function desactivarDetalle(filtro) {
$('#tblDetalle tbody').on('click', '.desactivar', function () {
var table = $("#tblDetalle").DataTable();
var data = table.row($(this).parents('tr')).data();
var table = $("#tblDetalle").DataTable()
var data = table.row($(this).parents('tr')).data()
var codigo = data["codigoDetalle"];
var json = {
"codigo": codigo
};
}
validarDetalle(codigo)
.then((data) => {
if (data === 0) {
......@@ -836,7 +838,7 @@
data: json,
success: function (data) {
if (data === 1) {
$('.mantenimientoDetalle').addClass('hide');
$('.mantenimientoDetalle').addClass('hide')
bootbox.dialog({
className: "dialogExtraSmall",
title: "<i class='ace-icon fa fa-tags white'></i> <span class='white'>Notificación</span>",
......@@ -847,14 +849,14 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; OK",
className: "btn bg-success border-success-600 btn-xs",
callback: function () {
$('.mantenimientoDetalle').removeClass('hide');
recargarDetalle(filtro);
$('.mantenimientoDetalle').removeClass('hide')
recargarDetalle(filtro)
}
}
}
});
})
} else {
$('.mantenimientoDetalle').addClass('hide');
$('.mantenimientoDetalle').addClass('hide')
bootbox.dialog({
className: "dialogExtraSmall",
title: "<i class='ace-icon fa fa-exclamation-circle white'></i> <span class='white'>Advertencia</span>",
......@@ -865,17 +867,17 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; OK",
className: "btn bg-orange border-orange-600 btn-xs",
callback: function () {
$('.mantenimientoDetalle').removeClass('hide');
recargar();
$('.mantenimientoDetalle').removeClass('hide')
recargar()
}
}
}
});
})
}
}
});
})
} else {
$('.mantenimientoDetalle').addClass('hide');
$('.mantenimientoDetalle').addClass('hide')
bootbox.dialog({
className: "dialogExtraSmall",
title: "<i class='ace-icon fa fa-exclamation-circle white'></i> <span class='white'>Advertencia</span>",
......@@ -886,24 +888,24 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; OK",
className: "btn bg-orange border-orange-600 btn-xs",
callback: function () {
$('.mantenimientoDetalle').removeClass('hide');
$('.mantenimientoDetalle').removeClass('hide')
}
}
}
});
})
}
});
});
})
})
}
function recargarDetalle(codigo) {
$("#tblDetalle").DataTable().destroy();
datosDetalle.listarDetalle(codigo);
$("#tblDetalle").DataTable().destroy()
datosDetalle.listarDetalle(codigo)
}
function asignarTipoUsuario(proyecto) {
$('#btnAsignarTipoUsuario').click(function () {
$('.mantenimientoDetalle').addClass('hide');
$('.mantenimientoDetalle').addClass('hide')
var asignarTipo = bootbox.dialog({
title: "<b><i class='ace-icon fa fa-tags'></i> <span class=''>ASIGNAR</span></b>",
headerClass: "modal-bg-primary",
......@@ -930,11 +932,11 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-primary border-primary-600 btn-xs buttonOk",
callback: function () {
var tipoUsuario = $('#cboTipoUsuario').val();
var tipoUsuario = $('#cboTipoUsuario').val()
var json = {
"proyecto": proyecto,
"tipoUsuario": tipoUsuario
};
}
var validar = $("#formAsignarTipoUsuario").validate({
rules: {
cboTipoUsuario: {required: true}
......@@ -942,7 +944,7 @@
messages: {
cboTipoUsuario: {required: "<b>&times; Seleccione un tipo de Usuario</b>"}
}
});
})
if (validar.form()) {
$.ajax({
type: 'POST',
......@@ -951,7 +953,7 @@
data: json,
success: function (data) {
if (data.status === true) {
crearMenuNuevoDetalle(proyecto, data.data.codigo);
crearMenuNuevoDetalle(proyecto, data.data.codigo)
} else {
bootbox.dialog({
className: "dialogExtraSmall",
......@@ -963,14 +965,14 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; OK",
className: "btn-warning",
callback: function () {
$('.mantenimientoDetalle').removeClass('hide');
$('.mantenimientoDetalle').removeClass('hide')
}
}
}
});
})
}
}
});
})
} else {
return false;
}
......@@ -981,22 +983,22 @@
label: "<i class='fa fa-times bigger-110'></i>&nbsp; Cancelar",
className: "btn bg-orange border-orange-600 btn-xs",
callback: function () {
$('.mantenimientoDetalle').removeClass('hide');
$('.mantenimientoDetalle').removeClass('hide')
}
}
}
});
})
asignarTipo.init(function () {
listarComboTipo(proyecto);
submitKey('formAsignarTipoUsuario', '.buttonOk');
});
});
listarComboTipo(proyecto)
submitKey('formAsignarTipoUsuario', '.buttonOk')
})
})
}
function listarComboTipo(proyecto) {
var json = {
"proyecto": proyecto
};
}
$.ajax({
type: 'POST',
url: "../servlet/ProyectoServlet?accion=listarTipoUsuario",
......@@ -1007,19 +1009,19 @@
for (var i in result) {
print += " <option value =" + result[i].codigoTipoUsuario + ">" + result[i].nombreTipoUsuario + "</option> ";
}
$("#cboTipoUsuario").html(print);
$("#cboTipoUsuario").html(print)
}
});
})
}
function eliminarDetalleValid(filtro) {
$('#tblDetalle tbody').on('click', '.eliminar', function () {
var table = $("#tblDetalle").DataTable();
var data = table.row($(this).parents('tr')).data();
var table = $("#tblDetalle").DataTable()
var data = table.row($(this).parents('tr')).data()
var codigo = data["codigoDetalle"];
var json = {
"codigo": codigo
};
}
validarDetalle(codigo)
.then((data) => {
if (data === 0) {
......@@ -1030,7 +1032,7 @@
data: json,
success: function (data) {
if (data >= 1) {
$('.mantenimientoDetalle').addClass('hide');
$('.mantenimientoDetalle').addClass('hide')
bootbox.dialog({
className: "dialogExtraSmall",
headerClass: "modal-bg-primary",
......@@ -1048,7 +1050,7 @@
data: json,
success: function (data) {
if (data >= 1) {
eliminarDetalle(json, filtro);
eliminarDetalle(json, filtro)
} else {
bootbox.dialog({
className: "dialogExtraSmall",
......@@ -1060,28 +1062,28 @@
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');
recargar();
$('.mantenimientoDetalle').removeClass('hide')
recargar()
}
}
}
});
})
}
}
});
})
}
}, no: {
label: "<i class='fa fa-times bigger-110'></i>&nbsp; No",
className: "btn bg-danger border-danger-600 btn-xs",
callback: function () {
$('.mantenimientoDetalle').removeClass('hide');
recargar();
$('.mantenimientoDetalle').removeClass('hide')
recargar()
}
}
}
});
})
} else {
$('.mantenimientoDetalle').addClass('hide');
$('.mantenimientoDetalle').addClass('hide')
bootbox.dialog({
className: "dialogExtraSmall",
headerClass: "modal-bg-primary",
......@@ -1092,24 +1094,24 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Si",
className: "btn bg-primary border-primary-600 btn-xs",
callback: function () {
eliminarDetalle(json, filtro);
eliminarDetalle(json, filtro)
}
}, no: {
label: "<i class='fa fa-times bigger-110'></i>&nbsp; No",
className: "btn bg-danger border-danger-600 btn-xs",
callback: function () {
$('.mantenimientoDetalle').removeClass('hide');
recargarDetalle(filtro);
$('.mantenimientoDetalle').removeClass('hide')
recargarDetalle(filtro)
}
}
}
});
})
}
}
});
})
} else {
$('.mantenimientoDetalle').addClass('hide');
$('.mantenimientoDetalle').addClass('hide')
bootbox.dialog({
className: "dialogExtraSmall",
title: "<i class='ace-icon fa fa-exclamation-circle white'></i> <span class='white'>Advertencia</span>",
......@@ -1120,14 +1122,14 @@
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');
$('.mantenimientoDetalle').removeClass('hide')
}
}
}
});
})
}
});
});
})
})
}
function eliminarDetalle(json, filtro) {
......@@ -1138,7 +1140,7 @@
data: json,
success: function (data) {
if (data === 1) {
$('.mantenimientoDetalle').addClass('hide');
$('.mantenimientoDetalle').addClass('hide')
bootbox.dialog({
className: "dialogExtraSmall",
title: "<i class='ace-icon fa fa-tags white'></i> <span class='white'>Notificación</span>",
......@@ -1149,12 +1151,12 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-success border-success-600 btn-xs",
callback: function () {
$('.mantenimientoDetalle').removeClass('hide');
recargarDetalle(filtro);
$('.mantenimientoDetalle').removeClass('hide')
recargarDetalle(filtro)
}
}
}
});
})
} else {
bootbox.dialog({
className: "dialogExtraSmall",
......@@ -1166,50 +1168,50 @@
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');
recargarDetalle(filtro);
$('.mantenimientoDetalle').removeClass('hide')
recargarDetalle(filtro)
}
}
}
});
})
}
}
});
})
}
// PLUS
function soloNumeros(input) {
$('#' + 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)) {
e.preventDefault();
e.preventDefault()
}
});
})
}
function soloLetras(input) {
$('#' + input).on('keypress keyup blur', function (e) {
var regex = new RegExp(/^[a-zA-Z\s]*$/);
var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
var regex = new RegExp(/^[a-zA-Z\s]*$/)
var str = String.fromCharCode(!e.charCode ? e.which : e.charCode)
if (regex.test(str)) {
return true;
}
e.preventDefault();
e.preventDefault()
return false;
});
})
}
function soloAlfanumerico(input) {
$('#' + input).on('keypress keyup blur', function (e) {
var regex = new RegExp("^[a-zA-Z0-9]+$");
var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
var regex = new RegExp("^[a-zA-Z0-9]+$")
var str = String.fromCharCode(!e.charCode ? e.which : e.charCode)
if (regex.test(str)) {
return true;
}
e.preventDefault();
e.preventDefault()
return false;
});
})
}
// VALIDACIONES PROYECTO
......@@ -1217,7 +1219,7 @@
function validarProyecto(codigo) {
let json = {
codigo: codigo
};
}
return new Promise((resolve, reject) => {
$.ajax({
type: 'POST',
......@@ -1225,12 +1227,12 @@
dataType: 'json',
data: json,
success: function (data, textStatus, jqXHR) {
resolve(data);
resolve(data)
}, error: function (jqXHR, textStatus, errorThrown) {
reject("Error al validar Proyecto");
reject("Error al validar Proyecto")
}
});
});
})
})
}
function validarNombreProyecto(nuevo, actual, tipo) {
......@@ -1238,7 +1240,7 @@
nuevo: nuevo,
actual: actual,
tipo: tipo
};
}
return new Promise((resolve, reject) => {
$.ajax({
type: 'POST',
......@@ -1246,12 +1248,12 @@
dataType: 'json',
data: json,
success: function (data, textStatus, jqXHR) {
resolve(data);
resolve(data)
}, error: function (jqXHR, textStatus, errorThrown) {
reject("Error al validar Nombre del Proyecto");
reject("Error al validar Nombre del Proyecto")
}
});
});
})
})
}
function validarUrlProyecto(nuevo, actual, tipo) {
......@@ -1259,7 +1261,7 @@
nuevo: nuevo,
actual: actual,
tipo: tipo
};
}
return new Promise((resolve, reject) => {
$.ajax({
type: 'POST',
......@@ -1267,12 +1269,12 @@
dataType: 'json',
data: json,
success: function (data, textStatus, jqXHR) {
resolve(data);
resolve(data)
}, error: function (jqXHR, textStatus, errorThrown) {
reject("Error al validar Url del Proyecto");
reject("Error al validar Url del Proyecto")
}
});
});
})
})
}
// VALIDACIONES DETALLE_PROYECTO
......@@ -1280,7 +1282,7 @@
function validarDetalle(codigo) {
let json = {
codigo: codigo
};
}
return new Promise((resolve, reject) => {
$.ajax({
type: 'POST',
......@@ -1288,12 +1290,12 @@
dataType: 'json',
data: json,
success: function (data, textStatus, jqXHR) {
resolve(data);
resolve(data)
}, error: function (jqXHR, textStatus, errorThrown) {
reject("Error al validar Detalle");
reject("Error al validar Detalle")
}
});
});
})
})
}
function crearMenuNuevoDetalle(proyecto, detalle) {
......@@ -1301,7 +1303,7 @@
"codigo": 0,
"proyecto": proyecto,
"tipo": 1
};
}
$.ajax({
type: 'POST',
url: "../servlet/MantenimientoMenuServlet?accion=listarMenu",
......@@ -1321,7 +1323,7 @@
callback: function () {
var conta;
for (var i = 0; i < data.data.length; i++) {
conta = crearMenuExistente(data.data[i].jerarquia, detalle, data.data[i].codigo);
conta = crearMenuExistente(data.data[i].jerarquia, detalle, data.data[i].codigo)
}
if (conta === 0) {
bootbox.dialog({
......@@ -1337,7 +1339,7 @@
}
}
}
});
})
} else {
bootbox.dialog({
className: "dialogExtraSmall",
......@@ -1349,13 +1351,13 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; OK",
className: "btn bg-success border-success-600 btn-xs",
callback: function () {
recargarDetalle(proyecto);
$('.mantenimientoDetalle').removeClass('hide');
recargarDetalle(proyecto)
$('.mantenimientoDetalle').removeClass('hide')
return true;
}
}
}
});
})
}
}
}, no: {
......@@ -1372,17 +1374,17 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; OK",
className: "btn bg-success border-success-600 btn-xs",
callback: function () {
recargarDetalle(proyecto);
$('.mantenimientoDetalle').removeClass('hide');
recargarDetalle(proyecto)
$('.mantenimientoDetalle').removeClass('hide')
return true;
}
}
}
});
})
}
}
}
});
})
} else {
bootbox.dialog({
className: "dialogExtraSmall",
......@@ -1394,16 +1396,16 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; OK",
className: "btn bg-success border-success-600 btn-xs",
callback: function () {
recargarDetalle(proyecto);
$('.mantenimientoDetalle').removeClass('hide');
recargarDetalle(proyecto)
$('.mantenimientoDetalle').removeClass('hide')
return true;
}
}
}
});
})
}
}
});
})
}
function crearMenuExistente(jerarquia, proyecto, codigo) {
......@@ -1412,7 +1414,7 @@
proyecto: proyecto,
tipo: 1,
jerarquia: jerarquia
};
}
$.ajax({
type: 'POST',
url: "../servlet/MantenimientoMenuServlet?accion=nuevoMenuExistente",
......@@ -1425,10 +1427,12 @@
return 1;
} else {
return 0;
}
}
});
})
}
$('[type="checkbox"]').click(function (e) {
isChecked = $(this).is(":checked")
recargar()
})
\ No newline at end of file
/* global bootbox */
/* global bootbox, loader, elementLoader */
let isChecked = false
function segundaCarga() {
datosUsuario.listarUsuario();
editarUsuario();
desactivarUsuario();
activarUsuario();
eliminarUsuario();
clickEliminarUsuario();
reactivarUsuario();
asignarUsuarioProyecto();
verDetalleUsuario()
cargarCargos()
submitKey('txtUsuario', '#btnBuscar');
listarProyectos('cboProyecto');
listarTipoDeUsuario(-1, 'cboProyecto', 'cboTipoUsuario');
}
let switchery = new Switchery(document.querySelector('#cbkEstado'), {color: 'green'});
listarUsuariosManual = (json) => {
return new Promise((resolve, reject) => {
$.ajax({
type: 'POST',
url: '../servlet/UsuarioServlet?accion=listarUsuarioManual',
dataType: "json",
data: {
json: JSON.stringify(json)
},
success: function (data, textStatus, jqXHR) {
resolve(data)
}, error: function (jqXHR, textStatus, errorThrown) {
reject('Error en la petición')
}
})
})
}
listarCargosDeUsuario = () => {
elementLoader.iniciarLoader('cboCargos')
return new Promise((resolve, reject) => {
$.ajax({
type: 'POST',
url: '../servlet/UsuarioServlet?accion=listarCargosDeUsuario',
dataType: "json",
success: function (data, textStatus, jqXHR) {
resolve(data)
}, error: function (jqXHR, textStatus, errorThrown) {
reject('Error en la petición')
}
})
})
}
cargarCargos = () => {
listarCargosDeUsuario()
.then(data => {
let print = "<option>[SELECCIONE]</option>"
print += data.map(obj => `<option value="${obj}">${obj}</option>`)
document.getElementById('cboCargos').innerHTML = print
})
.then(() => {
$('#cboCargos').select2();
elementLoader.terminarLoader('cboCargos')
})
}
function reactivarUsuario() {
$('#tblUsuario tbody').on('click', '.reactivar', function () {
var table = $("#tblUsuario").DataTable();
var data = table.row($(this).parents('tr')).data();
var codigo = data["codigoUsuario"];
var json = {
"codigo": codigo
};
validarUsuarioDependencia(codigo)
.then(data => {
if (data > 0) {
let param = {
filtro: codigo,
start: 0,
length: 10000,
draw: 1
}
$.ajax({
type: 'POST',
dataType: 'json',
"url": '../servlet/UsuarioServlet?accion=listarUsuarioDetalle',
data: param,
success: function (data, textStatus, jqXHR) {
let lista = data.data
lista = lista.map(obj => `<div class="checkbox">
<label>
<input type="checkbox" value="${obj.codigoUsuarioDetalle}" class="cbxAsignaciones" checked="checked">
${obj.nombreProyecto} - ${obj.nombreTipoUsuario}
</label>
</div>`).join('')
bootbox.dialog({
className: "dialogExtraSmall",
title: "<i class='ace-icon fa fa-tags white'></i> <span class='white'>Notificación</span>",
headerClass: "modal-bg-success",
message: lista,
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-success border-success-600 btn-xs",
callback: function () {
let arregloCodigos = $("input.cbxAsignaciones:checkbox:checked").map(function () {
return $(this).val()
}).get()
let param = {
lista: JSON.stringify(arregloCodigos),
array: true
}
$.ajax({
type: 'POST',
url: "../servlet/UsuarioServlet?accion=activarUsuarioDetalle",
dataType: 'JSON',
data: param,
success: function (data) {
if (data === arregloCodigos.length) {
$.ajax({
type: 'POST',
url: "../servlet/UsuarioServlet?accion=activarUsuario",
dataType: 'JSON',
data: json,
success: (data) => {
if (data === 1) {
msnSuccess('Usuario correctamente reactivado', () => {
recargar()
})
} else {
msnError('No se pudo reactivar el usuario')
}
}
})
} else {
msnError('Ha ocurrido un error')
}
}
})
}
}
}
})
}
})
} else {
$.ajax({
type: 'POST',
url: "../servlet/UsuarioServlet?accion=activarUsuario",
dataType: 'JSON',
data: json,
success: (data) => {
if (data === 1) {
msnSuccess('Usuario correctamente reactivado', () => {
recargar()
})
} else {
msnError('No se pudo reactivar el usuario')
}
}
})
}
})
})
}
$('#tblUsuario').on('draw.dt', function () {
$('[data-toggle="tooltip"]').tooltip();
});
var datosUsuario = {listarUsuario: function () {
var tipo = $('#cboTipoBusqueda').val();
var filtro;
......@@ -25,15 +181,20 @@
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 = "";
filtro = ""
}
var json = {
"filtro": filtro,
"tipo": tipo
"tipo": tipo,
"estado": isChecked
};
let conta = 1;
$("#tblUsuario").DataTable({
let paramDataTable = {
"language": {
"lengthMenu": "Mostrar: _MENU_",
"zeroRecords": "&nbsp;&nbsp;&nbsp; No se encontraron resultados",
......@@ -74,11 +235,11 @@
{targets: 2, orderable: false, width: "15%"},
{targets: 3, orderable: false, width: "10%"},
{targets: 4, orderable: false, width: "15%"},
{targets: 5, orderable: false, width: "5%", className: "text-center"},
{targets: 5, orderable: false, width: "5%", className: "text-center", visible: isChecked},
{targets: 6, orderable: false, width: "10%", className: "text-center"}
],
"columns": [
{"data": "numeral"},
{"data": "codigoUsuario"},
{"data": "usuario"},
{"data": "nombreUsuario"},
{"data": "nombreArea"},
......@@ -96,56 +257,74 @@
},
{"data": "estadoUsuario", "render": function (data, type, row) {
let retorno = ``;
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>`;
if (data === 1) {
retorno += `<span data-toggle="tooltip" title="Desactivar" style="cursor: pointer"> <i class='desactivar icon-user-block text-danger-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 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>`;
} else {
retorno += `<span data-toggle="tooltip" title="Activar" style="cursor: pointer"> <i class='activar icon-user-check 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>`;
retorno += `<span data-toggle="tooltip" title="Detalle" style="cursor: pointer"> <i class='verDetalle icon icon-eye text-indigo-800'></i>&nbsp;&nbsp; </span>`;
}
retorno += `<span data-toggle="tooltip" title="Asignar" style="cursor: pointer"> <i class='asignar icon icon-cog2 text-primary-800'></i>&nbsp;&nbsp; </span>`;
retorno += `<span data-toggle="tooltip" title="Eliminar" style="cursor: pointer"> <i class='eliminar glyphicon glyphicon-trash text-slate-800'></i> </span>`;
conta++;
return retorno;
}
}
],
drawCallback: function (settings) {
loader.terminarLoader()
}
}
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)
}
]
});
}
};
var validar;
var validar = false;
$('#btnBuscar').click(function () {
validar = $('#formUsuario').validate({
rules: {
txtUsuario: {required: true},
cboTipoUsuario: {required: true},
cboProyecto: {required: true},
cboTipoBusqueda: {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>"},
cboTipoBusqueda: {required: "<b>&times; Seleccione un Tipo de Busqueda</b>"}
cboProyecto: {required: "<b>&times; Seleccione un Proyecto</b>"}
}
});
if (validar.form()) {
recargar();
}
});
$('#btnLimpiar').click(function () {
$('#cboTipoBusqueda').val("");
$('#cboTipoBusqueda').change();
$('#txtUsuario').val("");
if (validar) {
validar.resetForm();
}
recargar();
});
function recargar() {
loader.iniciarLoader()
$("#tblUsuario").DataTable().destroy();
datosUsuario.listarUsuario();
}
......@@ -157,28 +336,49 @@
$('.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: '#crearDocumento', param: 'numbers'}).validate();
......@@ -420,233 +620,63 @@
});
});
}
function activarUsuario() {
$('#tblUsuario tbody').on('click', '.activar', function () {
var table = $("#tblUsuario").DataTable();
var data = table.row($(this).parents('tr')).data();
var codigo = data["codigoUsuario"];
var json = {
"codigo": codigo
};
validarUsuarioDependencia(codigo)
.then((data) => {
if (data === 0) {
$.ajax({
type: 'POST',
url: "../servlet/UsuarioServlet?accion=activarUsuario",
dataType: 'JSON',
data: json,
success: function (data) {
if (data === 1) {
bootbox.dialog({
className: "dialogExtraSmall",
title: "<i class='ace-icon fa fa-tags white'></i> <span class='white'>Notificación</span>",
headerClass: "modal-bg-success",
message: "Usuario correctamente modificado",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-success border-success-600 btn-xs",
callback: function () {
recargar();
}
}
}
});
} else {
bootbox.dialog({
title: "<i class='ace-icon fa fa-exclamation-circle white'></i> <span class='white'>Advertencia</span>",
headerClass: "modal-bg-warning",
message: "Ha ocurrido un error",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-orange border-orange-600 btn-xs",
callback: function () {
}
}
}
});
}
}
});
} 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: "El usuario seleccionado esta en uso",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-orange border-orange-600 btn-xs",
callback: function () {
}
}
}
});
}
});
});
}
function desactivarUsuario() {
$('#tblUsuario tbody').on('click', '.desactivar', function () {
var table = $("#tblUsuario").DataTable();
var data = table.row($(this).parents('tr')).data();
var codigo = data["codigoUsuario"];
var json = {
"codigo": codigo
};
validarUsuarioDependencia(codigo)
.then((data) => {
if (data === 0) {
$.ajax({
type: 'POST',
url: "../servlet/UsuarioServlet?accion=desactivarUsuario",
dataType: 'JSON',
data: json,
success: function (data) {
if (data === 1) {
bootbox.dialog({
className: "dialogExtraSmall",
title: "<i class='ace-icon fa fa-tags white'></i> <span class='white'>Notificación</span>",
headerClass: "modal-bg-success",
message: "Usuario correctamente modificado",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-success border-success-600 btn-xs",
callback: function () {
recargar();
}
}
}
});
} 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: "Ha ocurrido un error",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-orange border-orange-600 btn-xs",
callback: function () {
}
}
}
});
}
}
});
} 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: "El usuario seleccionado esta en uso",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-orange border-orange-600 btn-xs",
callback: function () {
}
}
}
});
}
});
});
}
function eliminarUsuario() {
$('#tblUsuario tbody').on('click', '.eliminar', function () {
var table = $("#tblUsuario").DataTable();
var data = table.row($(this).parents('tr')).data();
var codigo = data["codigoUsuario"];
var json = {
"codigo": codigo
};
validarUsuarioDependencia(codigo)
.then((data) => {
if (data === 0) {
bootbox.dialog({
className: "dialogExtraSmall",
headerClass: "modal-bg-primary",
title: "<i class='ace-icon fa fa-check-circle white'></i> <span class='white'>Conformidad</span>",
message: "¿Está seguro de eliminar este usuario?",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Si",
className: "btn bg-primary border-primary-600 btn-xs",
callback: function () {
$.ajax({
type: 'POST',
url: "../servlet/UsuarioServlet?accion=eliminarUsuario",
dataType: 'JSON',
data: json,
success: function (data) {
if (data === 1) {
recargar();
bootbox.dialog({
className: "dialogExtraSmall",
title: "<i class='ace-icon fa fa-tags white'></i> <span class='white'>Notificación</span>",
headerClass: "modal-bg-success",
message: "Usuario correctamente eliminado",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-success border-success-600 btn-xs",
callback: function () {
}
}
}
});
} 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: "Ha ocurrido un error",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-orange border-orange-600 btn-xs",
callback: function () {
}
}
}
});
}
}
});
eliminarUsuario = (json) => {
return new Promise((resolve, reject) => {
$.ajax({
type: 'POST',
url: "../servlet/UsuarioServlet?accion=desactivarUsuario",
dataType: 'JSON',
data: json,
success: function (data, textStatus, jqXHR) {
resolve(data)
}, error: function (jqXHR, textStatus, errorThrown) {
reject('Error en la petición UsuarioServlet?accion=desactivarUsuarioS')
}
}, no: {
label: "<i class='fa fa-times bigger-110'></i>&nbsp; No",
className: "btn bg-danger border-danger-600 btn-xs",
callback: function () {
})
})
}
function clickEliminarUsuario() {
$('#tblUsuario tbody').on('click', '.eliminar', function () {
var table = $("#tblUsuario").DataTable();
var data = table.row($(this).parents('tr')).data();
var codigo = data["codigoUsuario"];
var json = {
"codigo": codigo
};
validarUsuarioDependencia(codigo)
.then((data) => {
if (data === 0) {
msnConfirm(`¿Seguro de eliminar este usuario?`, (option) => {
if (option) {
eliminarUsuario(json)
.then(data => {
if (data === 1) {
msnSuccess('Usuario correctamente eliminado', () => {
recargar()
})
} else {
msnError('Ha ocurrido un error')
}
})
}
});
})
} 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: "El usuario seleccionado esta en uso",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-orange border-orange-600 btn-xs",
callback: function () {
}
msnConfirm(`El usuario seleccionado está asignado a ${data} proyecto(s) <br> ¿Seguro de continuar?`, (option) => {
if (option) {
eliminarUsuario(json)
.then(data => {
if (data === 1) {
msnSuccess('Usuario correctamente eliminado', () => {
recargar()
})
} else {
msnError('Ha ocurrido un error')
}
})
}
});
})
}
});
});
......@@ -834,7 +864,6 @@
submitKey('formCrearUsuario', '.buttonOk');
});
});
function listarTipoDocumento() {
$.ajax({
type: 'POST',
......@@ -850,11 +879,16 @@
});
}
function generar(longitud) {
var caracteres = "abcdefghijkmnpqrtuvwxyzABCDEFGHIJKLMNPQRTUVWXYZ2346789/*-%$&#@¡?¿!+";
function generar() {
var numeros = "012346789";
var letras = "abcdefghijkmnpqrtuvwxyz";
var contraseña = "";
for (i = 0; i < longitud; i++)
contraseña += caracteres.charAt(Math.floor(Math.random() * caracteres.length));
for (i = 0; i < 6; i++)
if (i % 2 === 1) {
contraseña += letras.charAt(Math.floor(Math.random() * letras.length));
} else {
contraseña += numeros.charAt(Math.floor(Math.random() * numeros.length));
}
return contraseña;
}
......@@ -1024,16 +1058,14 @@
label: "<i class='fa fa-times bigger-110'></i>&nbsp; Cerrar",
className: "btn bg-danger border-danger-600 btn-xs",
callback: function () {
refrescar()
}
}
}
});
listaDetalle.init(function () {
datosDetalle.listarDetalle(codigo);
eliminarDetalle(codigo);
activarDetalle(codigo);
desactivarDetalle(codigo);
activarDetalle(codigo);
nuevoProyectoUsuario(codigo);
$('#tblDetalle').on('draw.dt', function () {
$('[data-toggle="tooltip"]').tooltip();
......@@ -1042,12 +1074,54 @@
});
}
var datosDetalle = {listarDetalle: function (filtro) {
function verDetalleUsuario() {
$('#tblUsuario tbody').on('click', '.verDetalle', function () {
var table = $("#tblUsuario").DataTable();
var data = table.row($(this).parents('tr')).data();
var codigo = data["codigoUsuario"];
var nombre = data["nombreUsuario"];
var listaDetalle = bootbox.dialog({
title: "<span><i class='ace-icon fa fa-tags'></i> ASIGNAR PROYECTO - USUARIO</span>",
headerClass: "modal-bg-primary",
className: "mantenimientoDetalle",
message: `<div class="panel panel-primary">
<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; ${nombre.toUpperCase()}</h6>
</div>
<div class="table-responsive">
<table class="table table-responsive table-striped table-hover table-bordered" style ="width: 100%" id="tblDetalle">
<thead class="">
<tr>
<th class="text-center">Nº</th>
<th class="text-center">PROYECTO</th>
<th class="text-center">TIPO DE USUARIO</th>
</tr>
</thead>
</table>
</div>
</div>`,
buttons: {
si: {
label: "<i class='fa fa-times bigger-110'></i>&nbsp; Cerrar",
className: "btn bg-danger border-danger-600 btn-xs",
callback: function () {
refrescar()
}
}
}
});
listaDetalle.init(function () {
datosDetalle.listarDetalle(codigo, false)
});
});
}
var datosDetalle = {listarDetalle: function (filtro, tipo = true) {
var json = {
"filtro": filtro
};
let conta = 1;
$("#tblDetalle").DataTable({
let params = {
"language": {
"lengthMenu": "Mostrar: _MENU_",
"zeroRecords": "&nbsp;&nbsp;&nbsp; No se encontraron resultados",
......@@ -1103,129 +1177,68 @@
}
},
{"data": "estadoUsuarioDetalle", "render": function (data, type, row) {
let retorno = ``;
conta++;
if (data === 1) {
retorno += `<span data-toggle="tooltip" title="Desactivar" style="cursor: pointer"> <i class='desactivar icon-user-block text-danger-800'></i>&nbsp;&nbsp; </span>`;
return `<span data-toggle="tooltip" title="Eliminar" style="cursor: pointer"> <i class='desactivar glyphicon glyphicon-trash text-danger-800'></i>&nbsp;&nbsp; </span>`;
} else {
retorno += `<span data-toggle="tooltip" title="Activar" style="cursor: pointer"> <i class='activar icon-user-check 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>`;
}
retorno += `<span data-toggle="tooltip" title="Eliminar" style="cursor: pointer"> <i class='eliminar glyphicon glyphicon-trash text-slate-800'></i> </span>`;
conta++;
return retorno;
}
}
]
});
}
if (tipo === false) {
params.columnDefs.length = 3
params.columns.length = 3
}
$("#tblDetalle").DataTable(params);
}
};
function recargarDetalle(codigo) {
$("#tblDetalle").DataTable().destroy();
datosDetalle.listarDetalle(codigo);
}
function eliminarDetalle(filtro) {
$('#tblDetalle tbody').on('click', '.eliminar', function () {
function activarDetalle(filtro) {
$('#tblDetalle tbody').on('click', '.reactivar', function () {
var table = $("#tblDetalle").DataTable();
var data = table.row($(this).parents('tr')).data();
var codigo = data["codigoUsuarioDetalle"];
var json = {
"codigo": codigo
};
validarAsignacion(codigo)
.then((data) => {
$('.mantenimientoDetalle').addClass('hide');
if (data === 0) {
bootbox.dialog({
className: "dialogExtraSmall",
headerClass: "modal-bg-primary",
title: "<i class='ace-icon fa fa-check-circle white'></i> <span class='white'>Conformidad</span>",
message: "¿Está seguro de eliminar esta asignación?",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Si",
className: "btn bg-primary border-primary-600 btn-xs",
callback: function () {
"codigo": codigo,
array: false
}
$.ajax({
type: 'POST',
url: "../servlet/UsuarioServlet?accion=eliminarUsuarioDetalle",
url: "../servlet/UsuarioServlet?accion=activarUsuarioDetalle",
dataType: 'JSON',
data: json,
success: function (data) {
if (data === 1) {
bootbox.dialog({
className: "dialogExtraSmall",
title: "<i class='ace-icon fa fa-tags white'></i> <span class='white'>Notificación</span>",
headerClass: "modal-bg-success",
message: "Asignación correctamente eliminada",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-success border-success-600 btn-xs",
callback: function () {
$('.mantenimientoDetalle').addClass('hide');
msnSuccess('Asignación correctamente eliminada', () => {
$('.mantenimientoDetalle').removeClass('hide');
recargarDetalle(filtro);
}
}
}
});
})
} 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: "Ha ocurrido un error",
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').addClass('hide');
msnError('Ha ocurrido un error', () => {
$('.mantenimientoDetalle').removeClass('hide');
recargarDetalle(filtro);
})
}
}
}
});
}
}
});
}
}, no: {
label: "<i class='fa fa-times bigger-110'></i>&nbsp; No",
className: "btn bg-danger border-danger-600 btn-xs",
callback: function () {
$('.mantenimientoDetalle').removeClass('hide');
}
}
}
});
} 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: "El Usuario seleccionado tiene historial, no puede ser eliminado",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; OK",
className: "btn bg-orange border-orange-600 btn-xs",
callback: function () {
$('.mantenimientoDetalle').removeClass('hide');
}
}
}
});
}
});
});
}
function desactivarDetalle(filtro) {
$('#tblDetalle tbody').on('click', '.desactivar', function () {
$('.mantenimientoDetalle').addClass('hide');
msnConfirm('¿Seguro de eliminar esta asignación?', (option) => {
if (option) {
var table = $("#tblDetalle").DataTable();
var data = table.row($(this).parents('tr')).data();
var codigo = data["codigoUsuarioDetalle"];
......@@ -1239,102 +1252,23 @@
data: json,
success: function (data) {
if (data === 1) {
$('.mantenimientoDetalle').addClass('hide');
bootbox.dialog({
className: "dialogExtraSmall",
title: "<i class='ace-icon fa fa-tags white'></i> <span class='white'>Notificación</span>",
headerClass: "modal-bg-success",
message: "Asignación correctamente modificada",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-success border-success-600 btn-xs",
callback: function () {
msnSuccess('Asignación correctamente eliminada', () => {
$('.mantenimientoDetalle').removeClass('hide');
recargarDetalle(filtro);
}
}
}
});
})
} else {
$('.mantenimientoDetalle').addClass('hide');
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: "Ha ocurrido un error",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-orange border-orange-600 btn-xs",
callback: function () {
msnError('Ha ocurrido un error', () => {
$('.mantenimientoDetalle').removeClass('hide');
recargarDetalle(filtro);
}
})
}
}
});
}
}
});
})
});
}
function activarDetalle(filtro) {
$('#tblDetalle tbody').on('click', '.activar', function () {
var table = $("#tblDetalle").DataTable();
var data = table.row($(this).parents('tr')).data();
var codigo = data["codigoUsuarioDetalle"];
var json = {
"codigo": codigo
};
$.ajax({
type: 'POST',
url: "../servlet/UsuarioServlet?accion=activarUsuarioDetalle",
dataType: 'JSON',
data: json,
success: function (data) {
if (data === 1) {
$('.mantenimientoDetalle').addClass('hide');
bootbox.dialog({
className: "dialogExtraSmall",
title: "<i class='ace-icon fa fa-tags white'></i> <span class='white'>Notificación</span>",
headerClass: "modal-bg-success",
message: "Asignación correctamente modificada",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-success border-success-600 btn-xs",
callback: function () {
$('.mantenimientoDetalle').removeClass('hide');
recargarDetalle(filtro);
}
}
}
});
} else {
$('.mantenimientoDetalle').addClass('hide');
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: "Ha ocurrido un error",
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');
recargarDetalle(filtro);
}
}
}
});
}
}
});
});
}
function nuevoProyectoUsuario(codigo) {
$('#btnAsignarUsuario').click(function () {
......@@ -1430,6 +1364,7 @@
print += " <option value =" + result[i].codigoProyecto + ">" + result[i].nombreProyecto + "</option> ";
}
$("#" + comboBox + "").html(print);
$("#" + comboBox + "").select2()
}
});
}
......@@ -1452,6 +1387,7 @@
print += " <option value =" + result[i].codigoDetalle + ">" + result[i].nombreTipoUsuario + "</option> ";
}
$("#" + comboBox + "").html(print);
$("#" + comboBox + "").select2()
}
});
});
......@@ -1568,3 +1504,8 @@
refrescar = () => {
$("#tblUsuario").DataTable().ajax.reload()
}
$('[type="checkbox"]').click(function (e) {
isChecked = $(this).is(":checked");
recargar()
});
\ No newline at end of file
......@@ -24,9 +24,12 @@
<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 Proyectos</h6>
<div class="heading-elements">
<ul class="icons-list">
<li><a data-action="collapse"></a></li>
</ul>
<div class="checkbox checkbox-switchery">
<label>
<input type="checkbox" id="cbkEstado">
MOSTRAR INACTIVOS
</label>
</div>
</div>
</div>
<div class="panel-body" id="panelSearch">
......@@ -64,7 +67,7 @@
</div>
</div>
<div class="col-sm-12 col-md-12 col-lg-8 col-centered">
<div class="col-sm-12 col-md-12 col-lg-10 col-centered">
<div class="panel panel-primary card-3" style="margin-top: 30px">
<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 Proyectos</h6>
......@@ -76,7 +79,7 @@
<table class="table dataTable table-striped table-hover table-sm table-bordered display" id="tblProyecto">
<thead>
<tr>
<th class="text-center"></th>
<th class="text-center">CÓDIGO</th>
<th class="text-center">NOMBRE</th>
<th class="text-center" >URL</th>
<th class="text-center">ESTADO</th>
......
......@@ -64,7 +64,7 @@
</div>
</div>
<div class="col-sm-12 col-md-12 col-lg-5 col-centered">
<div class="col-sm-12 col-md-12 col-lg-9 col-centered">
<div class="panel panel-primary card-3" style="margin-top: 30px">
<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 Tipos de Usuario</h6>
......
......@@ -19,14 +19,17 @@
<%@include file="templates/header-body.jsp" %>
<!-- content -->
<div class="row animated fadeIn">
<div class="col-sm-12 col-md-12 col-lg-4 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-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>
<div class="heading-elements">
<ul class="icons-list">
<li><a data-action="collapse"></a></li>
</ul>
<div class="checkbox checkbox-switchery">
<label>
<input type="checkbox" id="cbkEstado">
MOSTRAR INACTIVOS
</label>
</div>
</div>
</div>
<div class="panel-body" id="panelSearch">
......@@ -40,9 +43,31 @@
<span class="asterisk">(*)</span>
<select id="cboTipoBusqueda" class="form-control" name="cboTipoBusqueda">
<option value="">SELECCIONE FILTRO</option>
<option value="1">USUARIO</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='divTrabajador col-md-6 hide'>
<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">
<label style="font-size: small">
Cargos:
</label>
<span class="asterisk">(*)</span>
<select id="cboCargos" name = "cboCargos" class="form-control">
<option>[SELECCIONE]</option>
</select>
</div>
</div>
......@@ -51,8 +76,8 @@
<label style="font-size: small">
Nombre:
</label>
<span id="spanAterik" class="asterisk">(*)</span>
<input type="text" id="txtUsuario" name = "txtUsuario" class="form-control" value="" placeholder="INGRESE NOMBRE DEL USUARIO" style="text-transform:uppercase;">
<span class="asterisk">(*)</span>
<input type="text" id="txtUsuario" name = "txtUsuario" class="form-control" value="" placeholder="INGRESE NOMBRE DEL USUARIO (NICKNAME)" style="text-transform:uppercase;">
</div>
</div>
<div class='divProyecto col-md-6 hide'>
......@@ -60,7 +85,7 @@
<label style="font-size: small">
Proyecto:
</label>
<span id="spanAterik" class="asterisk">(*)</span>
<span class="asterisk">(*)</span>
<select id="cboProyecto" class="form-control" name="cboProyecto">
<option value="">SELECCIONE PROYECTO</option>
</select>
......@@ -71,7 +96,7 @@
<label style="font-size: small">
Tipo de Usuario:
</label>
<span id="spanAterik" class="asterisk">(*)</span>
<span class="asterisk">(*)</span>
<select id="cboTipoUsuario" class="form-control" name="cboTipoUsuario">
<option value="">SELECCIONE TIPO DE USUARIO</option>
</select>
......@@ -112,7 +137,7 @@
<table class="table dataTable table-striped table-hover table-sm table-bordered display" id="tblUsuario">
<thead>
<tr>
<th class="text-center"></th>
<th class="text-center">CÓDIGO</th>
<th class="text-center">USUARIO</th>
<th class="text-center">DATOS</th>
<th class="text-center">ÁREA</th>
......
......@@ -22,8 +22,9 @@
<script type="text/javascript" src="../assets/js/core/libraries/bootstrap.min.js"></script>
<script type="text/javascript" src="../assets/js/plugins/loaders/blockui.min.js"></script>
<script type="text/javascript" src="../assets/js/plugins/forms/styling/switchery.min.js"></script>
<script src="../assets/js/plugins/forms/styling/uniform.min.js" type="text/javascript"></script>
<script type="text/javascript" src="../assets/js/plugins/forms/styling/switchery.min.js"></script>
<script src="../assets/js/plugins/forms/styling/switch.min.js" type="text/javascript"></script>
<script type="text/javascript" src="../assets/js/core/app.js"></script>
<script type="text/javascript" src="../assets/js/bootbox.min.js"></script>
<script src="../assets/js/plugins/tables/datatables/datatables.min.js" type="text/javascript"></script>
......@@ -31,6 +32,7 @@
<script src="../assets/js/validate_inputs.js" type="text/javascript"></script>
<script src="../js/lib/validateAlfi.js" type="text/javascript"></script>
<script src="../assets/js/fontawesome-iconpicker.js" type="text/javascript"></script>
<script src="../assets/js/plugins/forms/selects/select2.min.js" type="text/javascript"></script>
<!--<script src="../assets/js/fontawesome-iconpicker.min.js" type="text/javascript"></script>-->
<!-- /core JS files -->
<!-- /Generales -->
......
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="system">
<system systemId="http://app9.sacooliveros.edu.pe:8080/PlanillaWS/TipoDocumentoService?WSDL" uri="src/conf/xml-resources/web-service-references/TipoDocumentoService/wsdl/app9.sacooliveros.edu.pe_8080/PlanillaWS/TipoDocumentoService.wsdl"/>
<system systemId="http://app9.sacooliveros.edu.pe:8080/PlanillaWS/TipoDocumentoService?xsd=1" uri="src/conf/xml-resources/web-service-references/TipoDocumentoService/wsdl/app9.sacooliveros.edu.pe_8080/PlanillaWS/TipoDocumentoService.xsd_1.xsd"/>
<system systemId="http://app9.sacooliveros.edu.pe:8080/PlanillaWS/PersonalService?WSDL" uri="src/conf/xml-resources/web-service-references/PersonalService/wsdl/app9.sacooliveros.edu.pe_8080/PlanillaWS/PersonalService.wsdl"/>
<system systemId="http://app9.sacooliveros.edu.pe:8080/PlanillaWS/PersonalService?xsd=1" uri="src/conf/xml-resources/web-service-references/PersonalService/wsdl/app9.sacooliveros.edu.pe_8080/PlanillaWS/PersonalService.xsd_1.xsd"/>
<system systemId="http://app9.sacooliveros.edu.pe:8080/PlanillaWS/TipoDocumentoService?WSDL" uri="src/conf/xml-resources/web-service-references/TipoDocumentoService/wsdl/app9.sacooliveros.edu.pe_8080/PlanillaWS/TipoDocumentoService.wsdl"/>
<system systemId="http://app9.sacooliveros.edu.pe:8080/PlanillaWS/TipoDocumentoService?xsd=1" uri="src/conf/xml-resources/web-service-references/TipoDocumentoService/wsdl/app9.sacooliveros.edu.pe_8080/PlanillaWS/TipoDocumentoService.xsd_1.xsd"/>
</catalog>
\ No newline at end of file
No preview for this file type
......@@ -998,16 +998,16 @@ exists or setup the property manually. For example like this:
</target>
<target depends="init,compile,compile-jsps,-pre-dist,-do-dist-with-manifest,-do-dist-without-manifest" name="do-dist"/>
<target depends="init" if="dist.ear.dir" name="library-inclusion-in-manifest">
<copyfiles files="${file.reference.json-20171018.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
<copyfiles files="${file.reference.sqljdbc42.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
<copyfiles files="${file.reference.commons-codec-1.10.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
<copyfiles files="${file.reference.json-20160212.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
<mkdir dir="${build.web.dir}/META-INF"/>
<manifest file="${build.web.dir}/META-INF/MANIFEST.MF" mode="update"/>
</target>
<target depends="init" name="library-inclusion-in-archive" unless="dist.ear.dir">
<copyfiles files="${file.reference.json-20171018.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
<copyfiles files="${file.reference.sqljdbc42.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
<copyfiles files="${file.reference.commons-codec-1.10.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
<copyfiles files="${file.reference.json-20160212.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
</target>
<target depends="init" if="dist.ear.dir" name="-clean-webinf-lib">
<delete dir="${build.web.dir}/WEB-INF/lib"/>
......
build.xml.data.CRC32=7d0c3fff
build.xml.data.CRC32=e2509847
build.xml.script.CRC32=c7931e0f
build.xml.stylesheet.CRC32=651128d4@1.77.1.1
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
nbproject/build-impl.xml.data.CRC32=7d0c3fff
nbproject/build-impl.xml.script.CRC32=fae72e77
nbproject/build-impl.xml.data.CRC32=e2509847
nbproject/build-impl.xml.script.CRC32=a2a0b985
nbproject/build-impl.xml.stylesheet.CRC32=99ea4b56@1.77.1.1
nbproject/jaxws-build.xml.stylesheet.CRC32=6608c2cf
deploy.ant.properties.file=C:\\Users\\sistem17user\\AppData\\Roaming\\NetBeans\\8.2\\config\\GlassFishEE6\\Properties\\gfv3-399171337.properties
deploy.ant.properties.file=C:\\Users\\sistem02user\\AppData\\Roaming\\NetBeans\\8.2\\config\\GlassFishEE6\\Properties\\gfv3258829979.properties
file.reference.commons-codec-1.10.jar=D:\\LIBRERIAS\\commons-codec-1.10.jar
file.reference.json-20171018.jar=D:\\LIBRERIAS\\json-20171018.jar
file.reference.json-20171018.jar=D:\\LIBRERIAS\\json-20160810.jar
file.reference.sqljdbc42.jar=D:\\LIBRERIAS\\sqljdbc42.jar
j2ee.platform.is.jsr109=true
j2ee.server.domain=C:/Users/sistem17user/AppData/Roaming/NetBeans/8.2/config/GF_4.1.1/domain1
j2ee.server.domain=C:/Users/sistem02user/AppData/Roaming/NetBeans/8.2/config/GF_4.1.1/domain1
j2ee.server.home=C:/Program Files/glassfish-4.1.1/glassfish
j2ee.server.instance=[C:\\Program Files\\glassfish-4.1.1\\glassfish;C:\\Program Files\\glassfish-4.1.1\\glassfish\\domains\\domain1]deployer:gfv3ee6wc:localhost:4848
j2ee.server.middleware=C:/Program Files/glassfish-4.1.1
javac.debug=true
javadoc.preview=true
selected.browser=Chrome.INTEGRATED
user.properties.file=C:\\Users\\sistem17user\\AppData\\Roaming\\NetBeans\\8.2\\build.properties
selected.browser=Chrome
user.properties.file=C:\\Users\\sistem02user\\AppData\\Roaming\\NetBeans\\8.2\\build.properties
......@@ -28,6 +28,7 @@ dist.war=${dist.dir}/${war.name}
endorsed.classpath=\
${libs.javaee-endorsed-api-7.0.classpath}
excludes=
file.reference.json-20160212.jar=D:\\LIBRERIAS\\json-20160212.jar
includes=**
j2ee.compile.on.save=true
j2ee.copy.static.files.on.save=true
......@@ -44,7 +45,8 @@ jar.compress=false
javac.classpath=\
${file.reference.json-20171018.jar}:\
${file.reference.sqljdbc42.jar}:\
${file.reference.commons-codec-1.10.jar}
${file.reference.commons-codec-1.10.jar}:\
${file.reference.json-20160212.jar}
# Space-separated list of extra javac options
javac.compilerargs=
javac.debug=true
......
......@@ -23,6 +23,10 @@
<file>${file.reference.commons-codec-1.10.jar}</file>
<path-in-war>WEB-INF/lib</path-in-war>
</library>
<library dirs="200">
<file>${file.reference.json-20160212.jar}</file>
<path-in-war>WEB-INF/lib</path-in-war>
</library>
</web-module-libraries>
<web-module-additional-libraries/>
<source-roots>
......
......@@ -14,7 +14,7 @@ import org.json.JSONObject;
*/
public interface ProyectoDAO {
public JSONObject listarProyecto(String datos, int vstart, int vlength, String draw) throws Exception;
public JSONObject listarProyecto(JSONObject datos, int vstart, int vlength, String draw) throws Exception;
public int editarProyecto(int codigo, String nombre, String url) throws Exception;
......@@ -36,7 +36,7 @@ public interface ProyectoDAO {
public int eliminarDetalle(int codigoDetalle) throws Exception;
public int validarProyecto(int codigo) throws Exception;
public JSONArray validarProyecto(int codigo) throws Exception;
public int validarNombreProyecto(String nombreNuevo, String nombreActual, int tipo) throws Exception;
......@@ -47,4 +47,6 @@ public interface ProyectoDAO {
public int validarMenuDetalle(int codigo) throws Exception;
public int eliminarMenuDetalle(int codigo) throws Exception;
public int desactivarUsuarioDetalle(int codigo) throws Exception;
}
......@@ -49,4 +49,6 @@ public interface UsuarioDAO {
public int validarNombreUsuario(String nombre) throws Exception;
public int validarAsignacion(int codigo) throws Exception;
public JSONObject listarUsuarioManual(JSONObject datos) throws Exception;
}
......@@ -19,7 +19,7 @@ public class ProyectoService {
DAOFactory fabrica = DAOFactory.getDAOFactory(DAOFactory.SQLSERVER);
ProyectoDAO dao = fabrica.getProyectoDAO();
public JSONObject listarProyecto(String filtro, int vstart, int vlength, String draw) {
public JSONObject listarProyecto(JSONObject filtro, int vstart, int vlength, String draw) {
JSONObject obj = null;
try {
obj = dao.listarProyecto(filtro, vstart, vlength, draw);
......@@ -129,8 +129,8 @@ public class ProyectoService {
return rs;
}
public int validarProyecto(int codigo) {
int rs = 0;
public JSONArray validarProyecto(int codigo) {
JSONArray rs = null;
try {
rs = dao.validarProyecto(codigo);
} catch (Exception e) {
......@@ -189,4 +189,14 @@ public class ProyectoService {
return rs;
}
public int desactivarUsuarioDetalle(int codigo) {
int rs = 0;
try {
rs = dao.desactivarUsuarioDetalle(codigo);
} catch (Exception e) {
e.printStackTrace();
}
return rs;
}
}
......@@ -198,4 +198,14 @@ public class UsuarioService {
}
return rs;
}
public JSONObject listarUsuarioManual(JSONObject datos) {
JSONObject obj = null;
try {
obj = dao.listarUsuarioManual(datos);
} catch (Exception e) {
e.printStackTrace();
}
return obj;
}
}
......@@ -77,6 +77,9 @@ public class ProyectoServlet extends HttpServlet {
case "eliminarMenuDetalle":
eliminarMenuDetalle(request, response);
break;
case "desactivarUsuarioDetalle":
desactivarUsuarioDetalle(request, response);
break;
default:
break;
}
......@@ -86,11 +89,12 @@ public class ProyectoServlet extends HttpServlet {
response.setContentType("application/json");
PrintWriter out = response.getWriter();
ProyectoService service = new ProyectoService();
String filtro = request.getParameter("filtro");
String jsonString = request.getParameter("json");
System.out.println("CADENA JSON " + jsonString);
String draw = request.getParameter("draw");
int vstart = Integer.parseInt(request.getParameter("start"));
int vlength = Integer.parseInt(request.getParameter("length"));
JSONObject json = service.listarProyecto(filtro, vstart, vlength, draw);
JSONObject json = service.listarProyecto(new JSONObject(jsonString), vstart, vlength, draw);
out.println(json);
}
......@@ -196,7 +200,7 @@ public class ProyectoServlet extends HttpServlet {
PrintWriter out = response.getWriter();
ProyectoService service = new ProyectoService();
int proyecto = Integer.parseInt(request.getParameter("codigo"));
int rs = service.validarProyecto(proyecto);
JSONArray rs = service.validarProyecto(proyecto);
out.println(rs);
}
......@@ -249,4 +253,13 @@ public class ProyectoServlet extends HttpServlet {
out.println(rs);
}
private void desactivarUsuarioDetalle(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("application/json");
PrintWriter out = response.getWriter();
ProyectoService service = new ProyectoService();
int codigo = Integer.parseInt(request.getParameter("codigo"));
int rs = service.desactivarUsuarioDetalle(codigo);
out.println(rs);
}
}
......@@ -7,6 +7,7 @@ package moduloSeguridad.servlets;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
......@@ -96,6 +97,12 @@ public class UsuarioServlet extends HttpServlet {
case "validarAsignacion":
validarAsignacion(request, response);
break;
case "listarUsuarioManual":
listarUsuarioManual(request, response);
break;
case "listarCargosDeUsuario":
listarCargosDeUsuario(request, response);
break;
default:
break;
}
......@@ -116,27 +123,17 @@ public class UsuarioServlet extends HttpServlet {
for (int i = 0; i < json.length(); i++) {
JSONObject objeto = new JSONObject();
JSONObject obj = json.getJSONObject(i);
int codigoUsuario = obj.getInt("codigoUsuario");
int numeral = obj.getInt("numeral");
String codigoTrabajador = obj.getString("codigoTrabajador");
String usuario = obj.getString("usuario");
int estadoUsuario = obj.getInt("estadoUsuario");
JSONObject prs = new JSONObject(listarPersonalPorCodigo(codigoTrabajador));
String nombreSede = prs.getString("nomSed");
String nombreArea = prs.getString("nomAre");
String nombreCargo = prs.getString("nomCar");
String nombrePer = prs.getString("nomPer");
String nombreApeMat = prs.getString("apeMatPer");
String nombreApePat = prs.getString("apePatPer");
objeto.put("codigoUsuario", codigoUsuario);
objeto.put("numeral", numeral);
objeto.put("usuario", usuario);
objeto.put("estadoUsuario", estadoUsuario);
objeto.put("nombreArea", nombreArea);
objeto.put("nombreCargo", nombreCargo);
objeto.put("nombreUsuario", nombrePer + " " + nombreApePat + " " + nombreApeMat);
objeto.put("nombreSede", nombreSede);
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", prs.getString("nomAre"));
objeto.put("nombreCargo", prs.getString("nomCar"));
objeto.put("nombreUsuario", prs.getString("nomPer") + " " + prs.getString("apePatPer") + " " + prs.getString("apeMatPer"));
objeto.put("nombreSede", prs.getString("nomSed"));
lista.put(objeto);
}
......@@ -258,8 +255,18 @@ public class UsuarioServlet extends HttpServlet {
response.setContentType("application/json");
PrintWriter out = response.getWriter();
UsuarioService srv = new UsuarioService();
int rs = 0;
boolean array = Boolean.parseBoolean(request.getParameter("array"));
if (array) {
JSONArray lista = new JSONArray(request.getParameter("lista"));
for (int i = 0; i < lista.length(); i++) {
int codigo = lista.getInt(i);
rs += srv.activarUsuarioDetalle(codigo);
}
} else {
int codigo = Integer.parseInt(request.getParameter("codigo"));
int rs = srv.activarUsuarioDetalle(codigo);
rs = srv.activarUsuarioDetalle(codigo);
}
out.println(rs);
}
......@@ -348,4 +355,63 @@ public class UsuarioServlet extends HttpServlet {
return port.listarPersonalPorCodigo(tipoDocumento);
}
private void listarUsuarioManual(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("application/json");
PrintWriter out = response.getWriter();
String jsonString = request.getParameter("json");
JSONObject jsonObject = new JSONObject(jsonString);
String busqueda = jsonObject.getString("busqueda");
int tipo = jsonObject.getInt("tipo");
UsuarioService srv = new UsuarioService();
JSONObject json = srv.listarUsuarioManual(jsonObject);
JSONArray listaFinal = new JSONArray();
JSONArray lista = json.getJSONArray("results");
for (int i = 0; i < lista.length(); i++) {
JSONObject _final = new JSONObject();
JSONObject obj = lista.getJSONObject(i);
String codigoTrabajador = obj.getString("codigoTrabajador");
JSONObject prs = new JSONObject(listarPersonalPorCodigo(codigoTrabajador));
String nombreCompleto = prs.getString("nomPer") + " " + prs.getString("apePatPer") + " " + prs.getString("apeMatPer");
String cargo = prs.getString("nomCar");
if (tipo == 4 && (nombreCompleto.toUpperCase()).contains(busqueda.toUpperCase())) {
_final.put("codigoUsuario", obj.getInt("codigoUsuario"));
_final.put("numeral", obj.getInt("numeral"));
_final.put("usuario", obj.getString("usuario"));
_final.put("estadoUsuario", obj.getInt("estadoUsuario"));
_final.put("nombreArea", prs.getString("nomAre"));
_final.put("nombreCargo", prs.getString("nomCar"));
_final.put("nombreUsuario", prs.getString("nomPer") + " " + prs.getString("apePatPer") + " " + prs.getString("apeMatPer"));
_final.put("nombreSede", prs.getString("nomSed"));
listaFinal.put(_final);
} else if (tipo == 5 && (cargo.toUpperCase()).equals(busqueda.toUpperCase())) {
_final.put("codigoUsuario", obj.getInt("codigoUsuario"));
_final.put("numeral", obj.getInt("numeral"));
_final.put("usuario", obj.getString("usuario"));
_final.put("estadoUsuario", obj.getInt("estadoUsuario"));
_final.put("nombreArea", prs.getString("nomAre"));
_final.put("nombreCargo", prs.getString("nomCar"));
_final.put("nombreUsuario", prs.getString("nomPer") + " " + prs.getString("apePatPer") + " " + prs.getString("apeMatPer"));
_final.put("nombreSede", prs.getString("nomSed"));
listaFinal.put(_final);
}
}
out.println(listaFinal);
}
private void listarCargosDeUsuario(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("application/json");
PrintWriter out = response.getWriter();
UsuarioService srv = new UsuarioService();
JSONObject json = srv.listarUsuarioManual(new JSONObject());
ArrayList<String> cargos = new ArrayList<>();
JSONArray lista = json.getJSONArray("results");
for (int i = 0; i < lista.length(); i++) {
JSONObject obj = lista.getJSONObject(i);
JSONObject prs = new JSONObject(listarPersonalPorCodigo(obj.getString("codigoTrabajador")));
if (!cargos.contains(prs.getString("nomCar"))) {
cargos.add(prs.getString("nomCar"));
}
}
out.print(new JSONArray(cargos));
}
}
......@@ -21,7 +21,7 @@ import org.json.JSONObject;
public class ProyectoSqlServerDAO implements ProyectoDAO {
@Override
public JSONObject listarProyecto(String filtro, int vstart, int vlength, String draw) throws Exception {
public JSONObject listarProyecto(JSONObject datos, int vstart, int vlength, String draw) throws Exception {
String base = "security";
Connection con = null;
PreparedStatement pst = null;
......@@ -32,11 +32,17 @@ public class ProyectoSqlServerDAO implements ProyectoDAO {
JSONArray lista = new JSONArray();
int conta = vstart;
try {
String filtro = datos.getString("filtro");
if (filtro.equals("")) {
busqueda = "";
} else {
busqueda = " and nom like '%" + filtro + "%'";
}
if (datos.getBoolean("status")) {
busqueda += "and est = 0";
} else {
busqueda += "and est = 1";
}
query = " select TOP " + vlength + " cod_proyecto, nom, est, url from proyecto "
+ " where cod_proyecto NOT IN "
+ " ( "
......@@ -373,29 +379,36 @@ public class ProyectoSqlServerDAO implements ProyectoDAO {
}
@Override
public int validarProyecto(int codigo) throws Exception {
public JSONArray validarProyecto(int codigo) throws Exception {
String base = "security";
Connection con = null;
PreparedStatement pst = null;
ResultSet rs = null;
JSONArray lista = new JSONArray();
String query = "";
int cant = 0;
try {
query = " select count(*) as cant from proyecto_detalle "
+ " where cod_proyecto = " + codigo + ""
+ " and est = 1 ";
query = " select ud.cod_usuario_detalle from proyecto as p\n"
+ "inner join proyecto_detalle as pd \n"
+ "on pd.cod_proyecto = p.cod_proyecto\n"
+ "inner join usuario_detalle as ud \n"
+ "on ud.cod_proyecto_detalle = pd.cod_proyecto_detalle\n"
+ "where p.cod_proyecto = " + codigo + "\n"
+ "and ud.est = 1 ";
System.out.println("QUERY " + query);
con = SqlServerDAOFactory.getConnectionSQL(base);
pst = con.prepareStatement(query);
rs = pst.executeQuery();
rs.next();
cant = rs.getInt("cant");
while (rs.next()) {
lista.put(rs.getInt(1));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
con.close();
pst.close();
}
return cant;
return lista;
}
@Override
......@@ -543,4 +556,70 @@ public class ProyectoSqlServerDAO implements ProyectoDAO {
}
return rs;
}
@Override
public int desactivarUsuarioDetalle(int codigo) throws Exception {
int resultado = 0;
Connection con = null;
PreparedStatement pst = null;
ResultSet rSet = null;
int rs = 0;
String sql = "";
ResponseHelper response = new ResponseHelper();
try {
con = SqlServerDAOFactory.getConnectionSQL("security");
// con.setAutoCommit(false);
sql = " update usuario_detalle\n"
+ "set est = 0\n"
+ "where cod_usuario_detalle in (\n"
+ "select ud.cod_usuario_detalle from proyecto as p\n"
+ "inner join proyecto_detalle as pd \n"
+ "on pd.cod_proyecto = p.cod_proyecto\n"
+ "inner join usuario_detalle as ud \n"
+ "on ud.cod_proyecto_detalle = pd.cod_proyecto_detalle\n"
+ "where p.cod_proyecto = " + codigo + "\n"
+ "and ud.est = 1\n"
+ ") ";
pst = con.prepareStatement(sql);
rs = pst.executeUpdate();
if (rs > 0) {
sql = " update proyecto_detalle\n"
+ "set est = 0\n"
+ "where cod_proyecto_detalle in (\n"
+ "select pd.cod_proyecto_detalle from proyecto as p\n"
+ "inner join proyecto_detalle as pd \n"
+ "on pd.cod_proyecto = p.cod_proyecto\n"
+ "where p.cod_proyecto = " + codigo + "\n"
+ "and pd.est = 1\n"
+ ") ";
pst = con.prepareStatement(sql);
rs = pst.executeUpdate();
if (rs > 0) {
resultado = 1;
}
}
} catch (Exception e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error --->" + e.getMessage());
} finally {
try {
if (rSet != null) {
rSet.close();
}
if (pst != null) {
pst.close();
}
if (con != null) {
con.close();
}
} catch (Exception e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error --->" + e.getMessage());
}
}
return resultado;
}
}
......@@ -9,6 +9,8 @@ import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import moduloSeguridad.dao.UsuarioDAO;
import moduloSeguridad.utilities.GeneralVariables;
import moduloSeguridad.utilities.ResponseHelper;
import org.json.JSONArray;
import org.json.JSONObject;
......@@ -42,6 +44,11 @@ public class UsuarioSqlServerDAO implements UsuarioDAO {
busqueda01 = "";
break;
}
if (!datos.getBoolean("estado")) {
busqueda01 += " and a.est = 1 ";
} else {
busqueda01 += " and a.est = 0 ";
}
query = " SELECT a.cod_usuario, a.cod_trabajador, a.usu, a.est FROM usuario AS a "
+ " 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 "
......@@ -64,7 +71,6 @@ public class UsuarioSqlServerDAO implements UsuarioDAO {
lista.put(obj);
conta++;
}
System.out.println("cantidad ---> " + lista.length());
} catch (Exception e) {
e.printStackTrace();
} finally {
......@@ -98,6 +104,11 @@ public class UsuarioSqlServerDAO implements UsuarioDAO {
busqueda = "";
break;
}
if (!datos.getBoolean("estado")) {
busqueda += " and a.est = 1 ";
} else {
busqueda += " and a.est = 0 ";
}
query = " SELECT COUNT(*) as cant FROM usuario AS a "
+ " 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 "
......@@ -174,18 +185,26 @@ public class UsuarioSqlServerDAO implements UsuarioDAO {
String query = "";
try {
query = " update usuario "
+ " set est = 0,"
+ " set est = 0 "
+ " where cod_usuario = " + codigo + "";
con = SqlServerDAOFactory.getConnectionSQL(base);
pst = con.prepareStatement(query);
rs = pst.executeUpdate();
if (rs == 1) {
query = " update usuario_detalle "
+ " set est = 0 "
+ " where cod_usuario = " + codigo;
}
con = SqlServerDAOFactory.getConnectionSQL(base);
pst = con.prepareStatement(query);
rs = pst.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
} finally {
con.close();
pst.close();
}
return rs;
return 1;
}
@Override
......@@ -293,7 +312,7 @@ public class UsuarioSqlServerDAO implements UsuarioDAO {
int cantRegistro = 0;
String query2 = " select count(*) as cant "
+ " from usuario_detalle "
+ " where cod_usuario = " + filtro + "";
+ " where cod_usuario = " + filtro;
PreparedStatement pst2 = null;
ResultSet rs2 = null;
pst2 = con.prepareStatement(query2);
......@@ -451,7 +470,8 @@ public class UsuarioSqlServerDAO implements UsuarioDAO {
+ " ud.cod_proyecto_detalle "
+ " FROM "
+ " usuario_detalle AS ud "
+ " WHERE ud.cod_usuario = " + usuario + " "
+ " WHERE ud.cod_usuario = " + usuario + ""
+ " AND ud.est = 1 "
+ " ) ";
} else {
valid = "";
......@@ -466,6 +486,7 @@ public class UsuarioSqlServerDAO implements UsuarioDAO {
+ "WHERE "
+ " cod_proyecto = " + proyecto + " "
+ valid;
System.out.println("LISTADO TIPO USUARIO ---> " + query);
con = SqlServerDAOFactory.getConnectionSQL(base);
pst = con.prepareStatement(query);
rs = pst.executeQuery();
......@@ -545,7 +566,7 @@ public class UsuarioSqlServerDAO implements UsuarioDAO {
try {
query = " select count(*) as cant from auditoria "
+ " where cod_usuario_detalle = " + codigo + "";
con = SqlServerDAOFactory.getConnectionSQL(base);
con = SqlServerDAOFactory.getConnectionSQL(GeneralVariables.nameDB);
pst = con.prepareStatement(query);
rs = pst.executeQuery();
rs.next();
......@@ -558,4 +579,64 @@ public class UsuarioSqlServerDAO implements UsuarioDAO {
}
return cant;
}
@Override
public JSONObject listarUsuarioManual(JSONObject datos) throws Exception {
JSONObject jreturn;
JSONArray lista = new JSONArray();
JSONObject data = new JSONObject();
Connection con = null;
PreparedStatement pst = null;
ResultSet rSet = null;
int rs = 0;
String sql = "";
String condicion = "";
ResponseHelper response = new ResponseHelper();
try {
if (datos.has("estado")) {
if (datos.getBoolean("estado")) {
condicion = " where a.est = 0";
} else {
condicion = " where a.est = 1";
}
}
con = SqlServerDAOFactory.getConnectionSQL(GeneralVariables.nameDB);
sql = " SELECT a.cod_usuario, a.cod_trabajador, a.usu, a.est FROM usuario as a" + condicion;
pst = con.prepareStatement(sql);
rSet = pst.executeQuery();
int conta = 1;
while (rSet.next()) {
JSONObject obj = new JSONObject();
obj.put("numeral", conta++);
obj.put("codigoUsuario", rSet.getInt(1));
obj.put("codigoTrabajador", rSet.getString(2));
obj.put("usuario", rSet.getString(3));
obj.put("estadoUsuario", rSet.getInt(4));
lista.put(obj);
}
response.setResults(lista);
response.setStatus(true);
} catch (Exception e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error --->" + e.getMessage());
} finally {
try {
if (rSet != null) {
rSet.close();
}
if (pst != null) {
pst.close();
}
if (con != null) {
con.close();
}
} catch (Exception e) {
e.printStackTrace();
response.setStatus(false);
response.setMessage("Error --->" + e.getMessage());
}
}
return new JSONObject(response);
}
}
......@@ -11,6 +11,6 @@ package moduloSeguridad.utilities;
*/
public class GeneralVariables {
public static final String nameDB = "moodle";
public static final String nameDB = "security";
}
......@@ -329,3 +329,11 @@ table.display tbody tr:hover td {
-moz-border-radius:5px;
border-radius:5px;
}
.glyphicon {
font-size: 13px;
}
[class^="icon-"], [class*=" icon-"] {
font-size: 14px;
}
\ No newline at end of file
......@@ -379,9 +379,9 @@
}
function validCaracForm() {
new Input({el: '#editarUrl', param: 'text'}).validate();
new Input({el: '#editarNombre', param: 'text'}).validate();
new Input({el: '#editarIcono', param: 'text'}).validate();
// new Input({el: '#editarUrl', param: 'text'}).validate();
// new Input({el: '#editarNombre', param: 'text'}).validate();
// s Input({el: '#editarIcono', param: 'text'}).validate();
}
function validarFormulario(jerarquia) {
......@@ -684,7 +684,7 @@
validarInput();
validarFormulario(apunta);
submitKey('formCrearMenu', '.buttonOk');
soloLetras('editarUrl');
// soloLetras('editarUrl');
if (tipo === 1) {
rellenarFormulario(datos, apunta);
}
......
/* global bootbox */
/* global bootbox, rolesUsuario */
let isChecked = false
function segundaCarga() {
datosProyecto.listarProyecto();
editarProyecto();
desactivarProyecto();
activarProyecto();
asignarDetalle();
submitKey('formProyecto', '#btnBuscar');
datosProyecto.listarProyecto()
editarProyecto()
desactivarProyecto()
activarProyecto()
asignarDetalle()
submitKey('formProyecto', '#btnBuscar')
}
// PROYECTO MANTENIMIENTO
let switchery = new Switchery(document.querySelector('#cbkEstado'), {color: 'green'})
var datosProyecto = {listarProyecto: function () {
var filtro = $('#txtProyecto').val();
var filtro = $('#txtProyecto').val()
var json = {
"filtro": filtro
};
"filtro": filtro,
"status": isChecked
}
$("#tblProyecto").DataTable({
"language": {
"lengthMenu": "Mostrar: _MENU_",
......@@ -37,7 +42,9 @@
"ajax": {
type: 'POST',
"url": '../servlet/ProyectoServlet?accion=listarProyecto',
data: json
data: {
json: JSON.stringify(json)
}
},
"bSort": false,
"bFilter": false,
......@@ -53,11 +60,11 @@
{targets: 0, orderable: false, width: "5%", className: "text-center"},
{targets: 1, orderable: false, width: "20%"},
{targets: 2, orderable: false, width: "15%"},
{targets: 3, orderable: false, width: "5%", className: "text-center"},
{targets: 3, orderable: false, width: "5%", className: "text-center", visible: isChecked},
{targets: 4, orderable: false, width: "7%", className: "text-center"}
],
"columns": [
{"data": "numeral"},
{"data": "codigoProyecto"},
{"data": "nombreProyecto"},
{"data": "urlProyecto"},
{"data": "estadoProyecto",
......@@ -73,34 +80,32 @@
},
{"data": "estadoProyecto", "render": function (data, type, row) {
let retorno = ``;
retorno = `
<span data-toggle="tooltip" title="Editar" style="cursor: pointer"> <i class='editar click${row.numeral} glyphicon glyphicon-pencil text-blue-800'></i> &nbsp;&nbsp; </span>`;
retorno = `<span data-toggle="tooltip" title="Editar" style="cursor: pointer"> <i class='editar click${row.numeral} glyphicon glyphicon-pencil text-blue-800'></i> &nbsp;&nbsp; </span>`;
retorno += `<span data-toggle="tooltip" title="Asignar" style="cursor: pointer"> <i class='asignar icon icon-cog2 text-slate-800'></i> &nbsp;&nbsp; </span>`;
if (rolesUsuario.includes('ADMINISTRADOR')) {
if (data === 1) {
retorno += `
<span data-toggle="tooltip" title="Desactivar" style="cursor: pointer"> <i class='desactivar icon-user-block text-danger-800'></i>&nbsp;&nbsp; </span>`;
retorno += `<span data-toggle="tooltip" title="Eliminar" style="cursor: pointer"> <i class='desactivar glyphicon glyphicon-trash text-danger-800'></i>&nbsp;&nbsp; </span>`;
} else {
retorno += `
<span data-toggle="tooltip" title="Activar" style="cursor: pointer"> <i class='activar icon-user-check 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>`;
}
}
retorno += `
<span data-toggle="tooltip" title="Asignar" style="cursor: pointer"> <i class='asignar icon icon-cog2 text-slate-800'></i> </span>`;
return retorno;
}
}
]
});
})
}
}
};
$('#tblProyecto').on('draw.dt', function () {
$('[data-toggle="tooltip"]').tooltip();
});
$('[data-toggle="tooltip"]').tooltip()
})
function recargar() {
$("#tblProyecto").DataTable().destroy();
datosProyecto.listarProyecto();
$("#tblProyecto").DataTable().destroy()
datosProyecto.listarProyecto()
}
var validar = 0;
......@@ -115,28 +120,28 @@
txtBusqueda:
{required: "<b>&times; Ingrese una Búsqueda</b>"}
}
});
})
if (validar.form()) {
recargar();
recargar()
}
});
})
$('#btnLimpiar').click(function () {
$('#txtProyecto').val("");
$('#txtProyecto').val("")
if (validar !== 0) {
validar.resetForm();
validar.resetForm()
}
recargar();
});
recargar()
})
function validCaracForm() {
new Input({el: '#editarNombre', param: 'alphanumeric'}).validate();
new Input({el: '#editarNombre', param: 'alphanumeric'}).validate()
}
function editarProyecto() {
$('#tblProyecto tbody').on('click', '.editar', function () {
var table = $("#tblProyecto").DataTable();
var data = table.row($(this).parents('tr')).data();
var table = $("#tblProyecto").DataTable()
var data = table.row($(this).parents('tr')).data()
var codigo = data["codigoProyecto"];
var nombre = data["nombreProyecto"];
var url = data["urlProyecto"];
......@@ -171,13 +176,13 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Editar",
className: "btn bg-primary border-primary-600 btn-xs buttonOk",
callback: function () {
var nombreNuevo = $('#editarNombre').val().toUpperCase();
var urlNuevo = $('#editarUrl').val();
var nombreNuevo = $('#editarNombre').val().toUpperCase()
var urlNuevo = $('#editarUrl').val()
var json = {
"codigo": codigo,
"nombre": nombreNuevo,
"url": urlNuevo
};
}
var validar = $("#formEditarProyecto").validate({
rules: {
txtNombre: {required: true},
......@@ -187,7 +192,7 @@
txtNombre: {required: "<b>&times; Ingrese un Nombre</b>"},
txtUrl: {required: "<b>&times; Ingrese una Url</b>"}
}
});
})
if (validar.form()) {
validarNombreProyecto(nombreNuevo, nombre, 1)
.then((data) => {
......@@ -222,11 +227,11 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-success border-success-600",
callback: function () {
recargar();
recargar()
}
}
}
});
})
} else {
bootbox.dialog({
title: "<i class='ace-icon fa fa-exclamation-circle white'></i> <span class='white'>Advertencia</span>",
......@@ -237,24 +242,24 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-orange border-orange-600",
callback: function () {
recargar();
recargar()
}
}
}
});
})
}
}
});
})
}
}, no: {
label: "<i class='fa fa-times bigger-110'></i>&nbsp; No",
className: "btn bg-danger border-danger-600",
callback: function () {
$(`#tblProyecto tbody .click${numeral}`).click();
$(`#tblProyecto tbody .click${numeral}`).click()
}
}
}
});
})
} else {
bootbox.dialog({
className: "dialogExtraSmall",
......@@ -266,13 +271,13 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-orange border-orange-600",
callback: function () {
$(`#tblProyecto tbody .click${numeral}`).click();
$(`#tblProyecto tbody .click${numeral}`).click()
}
}
}
});
})
}
});
})
} else {
bootbox.dialog({
......@@ -285,13 +290,13 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-orange border-orange-600",
callback: function () {
$(`#tblProyecto tbody .click${numeral}`).click();
$(`#tblProyecto tbody .click${numeral}`).click()
}
}
}
});
})
}
});
})
} else {
return false;
}
......@@ -304,25 +309,25 @@
}
}
}
});
})
editarProyecto.init(function () {
validCaracForm();
submitKey('formEditarProyecto', '.buttonOk');
});
});
validCaracForm()
submitKey('formEditarProyecto', '.buttonOk')
})
})
}
function activarProyecto() {
$('#tblProyecto tbody').on('click', '.activar', function () {
var table = $("#tblProyecto").DataTable();
var data = table.row($(this).parents('tr')).data();
$('#tblProyecto tbody').on('click', '.reactivar', function () {
var table = $("#tblProyecto").DataTable()
var data = table.row($(this).parents('tr')).data()
var codigo = data["codigoProyecto"];
var json = {
"codigo": codigo
};
}
validarProyecto(codigo)
.then((data) => {
if (data === 0) {
if (data.length === 0) {
$.ajax({
type: 'POST',
url: "../servlet/ProyectoServlet?accion=activarProyecto",
......@@ -340,11 +345,11 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; OK",
className: "btn bg-success border-success-600 btn-xs",
callback: function () {
recargar();
recargar()
}
}
}
});
})
} else {
bootbox.dialog({
className: "dialogExtraSmall",
......@@ -356,14 +361,14 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; OK",
className: "btn bg-orange border-orange-600 btn-xs",
callback: function () {
recargar();
recargar()
}
}
}
});
})
}
}
});
})
} else {
bootbox.dialog({
className: "dialogExtraSmall",
......@@ -378,83 +383,86 @@
}
}
}
});
})
}
});
});
})
})
}
function desactivarProyecto() {
$('#tblProyecto tbody').on('click', '.desactivar', function () {
var table = $("#tblProyecto").DataTable();
var data = table.row($(this).parents('tr')).data();
var codigo = data["codigoProyecto"];
var json = {
"codigo": codigo
};
validarProyecto(codigo)
.then((data) => {
if (data === 0) {
desactivarProyectoRequest = (json) => {
return new Promise((resolve, reject) => {
$.ajax({
type: 'POST',
url: "../servlet/ProyectoServlet?accion=desactivarProyecto",
dataType: 'JSON',
data: json,
success: function (data) {
if (data === 1) {
bootbox.dialog({
className: "dialogExtraSmall",
title: "<i class='ace-icon fa fa-tags white'></i> <span class='white'>Notificación</span>",
headerClass: "modal-bg-success",
message: "Proyecto correctamente modificado",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; OK",
className: "btn bg-success border-success-600 btn-xs",
callback: function () {
recargar();
}
}
}
});
} else {
bootbox.dialog({
title: "<i class='ace-icon fa fa-exclamation-circle white'></i> <span class='white'>Advertencia</span>",
headerClass: "modal-bg-warning",
message: "Ha ocurrido un error",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; OK",
className: "btn bg-orange border-orange-600 btn-xs",
callback: function () {
recargar();
success: function (data, textStatus, jqXHR) {
resolve(data)
},
error: function (jqXHR, textStatus, errorThrown) {
reject('Error en la petición')
}
})
})
}
desactivarUsuarioDetalle = (json) => {
return new Promise((resolve, reject) => {
$.ajax({
type: 'POST',
url: "../servlet/ProyectoServlet?accion=desactivarUsuarioDetalle",
dataType: 'json',
data: json,
success: function (data, textStatus, jqXHR) {
resolve(data)
}, error: function (jqXHR, textStatus, errorThrown) {
reject('Error en la petición')
}
});
})
})
}
function desactivarProyecto() {
$('#tblProyecto tbody').on('click', '.desactivar', function () {
var table = $("#tblProyecto").DataTable()
var data = table.row($(this).parents('tr')).data()
var codigo = data["codigoProyecto"];
var json = {
"codigo": codigo
}
});
validarProyecto(codigo)
.then((data) => {
if (data.length === 0) {
msnConfirm('¿Seguro de dar de baja al proyecto seleccionado?', (option) => {
if (option) {
desactivarProyectoRequest(json)
.then(data => {
if (data === 1) {
msnConfirm('Proyecto deshabilitado exitosamente', () => {
recargar()
})
} 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: "El proyecto seleccionado esta en uso!",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; OK",
className: "btn bg-orange border-orange-600 btn-xs",
callback: function () {
recargar();
msnError('No se pudo deshabilitar el proyecto')
}
})
}
}
});
}
});
})
} else {
msnConfirm(`Existen ${data.length} usuario(s) asignados a este proyecto.
Si continua estos serán deshabilitados <br>
¿Seguro de continuar?`, (option) => {
if (option) {
desactivarUsuarioDetalle(json)
.then(data => {
console.log(data)
})
.catch(err => console.log(err))
}
})
}
})
});
})
}
$('#btnNuevoProyecto').on('click', function () {
......@@ -488,12 +496,12 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-primary border-primary-600 btn-xs buttonOk",
callback: function () {
var nombre = $('#editarNombre').val().toUpperCase();
var url = $('#crearUrl').val();
var nombre = $('#editarNombre').val().toUpperCase()
var url = $('#crearUrl').val()
var json = {
"nombre": nombre,
"url": url
};
}
var validar = $("#formCrearProyecto").validate({
rules: {
txtNombre: {required: true},
......@@ -503,7 +511,7 @@
txtNombre: {required: "<b>&times; Ingrese un Nombre</b>"},
txtUrl: {required: "<b>&times; Ingrese una Url</b>"}
}
});
})
if (validar.form()) {
validarNombreProyecto(nombre, '', 0)
.then((data) => {
......@@ -528,11 +536,11 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-success border-success-600",
callback: function () {
recargar();
recargar()
}
}
}
});
})
} else {
bootbox.dialog({
title: "<i class='ace-icon fa fa-exclamation-circle white'></i> <span class='white'>Advertencia</span>",
......@@ -546,10 +554,10 @@
}
}
}
});
})
}
}
});
})
} else {
bootbox.dialog({
className: "dialogExtraSmall",
......@@ -561,13 +569,13 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-orange border-orange-600 btn-xs",
callback: function () {
$('#btnNuevoProyecto').click();
$('#btnNuevoProyecto').click()
}
}
}
});
})
}
});
})
} else {
bootbox.dialog({
className: "dialogExtraSmall",
......@@ -579,13 +587,13 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-orange border-orange-600 btn-xs",
callback: function () {
$('#btnNuevoProyecto').click();
$('#btnNuevoProyecto').click()
}
}
}
});
})
}
});
})
} else {
return false;
}
......@@ -598,19 +606,19 @@
}
}
}
});
})
crearProyecto.init(function () {
validCaracForm();
submitKey('formCrearProyecto', '.buttonOk');
});
});
validCaracForm()
submitKey('formCrearProyecto', '.buttonOk')
})
})
// MANTENIMIENTO PROYECTO DETALLE
function asignarDetalle() {
$('#tblProyecto tbody').on('click', '.asignar', function () {
var table = $("#tblProyecto").DataTable();
var data = table.row($(this).parents('tr')).data();
var table = $("#tblProyecto").DataTable()
var data = table.row($(this).parents('tr')).data()
var codigo = data["codigoProyecto"];
var nombre = data["nombreProyecto"];
var listaDetalle = bootbox.dialog({
......@@ -643,29 +651,29 @@
label: "<i class='fa fa-times bigger-110'></i>&nbsp; Cerrar",
className: "btn bg-danger border-danger-600 btn-xs",
callback: function () {
recargar();
recargar()
}
}
}
});
})
listaDetalle.init(function () {
$('.close').addClass('hide');
datosDetalle.listarDetalle(codigo);
desactivarDetalle(codigo);
activarDetalle(codigo);
asignarTipoUsuario(codigo);
eliminarDetalleValid(codigo);
$('.close').addClass('hide')
datosDetalle.listarDetalle(codigo)
desactivarDetalle(codigo)
activarDetalle(codigo)
asignarTipoUsuario(codigo)
eliminarDetalleValid(codigo)
$('#tblDetalle').on('draw.dt', function () {
$('[data-toggle="tooltip"]').tooltip();
});
});
});
$('[data-toggle="tooltip"]').tooltip()
})
})
})
}
var datosDetalle = {listarDetalle: function (filtro) {
var json = {
"filtro": filtro
};
}
let conta = 1;
$("#tblDetalle").DataTable({
"language": {
......@@ -723,33 +731,27 @@
{"data": "estadoDetalle", "render": function (data, type, row) {
let retorno = ``;
if (data === 1) {
retorno += `
<span data-toggle="tooltip" title="Desactivar" style="cursor: pointer"> <i class='desactivar icon-user-block text-danger-800'></i>&nbsp;&nbsp;&nbsp; </span>`;
retorno += `<span data-toggle="tooltip" title="Desactivar" style="cursor: pointer"> <i class='desactivar glyphicon glyphicon-trash text-danger-800'></i>&nbsp;&nbsp;&nbsp; </span>`;
} else {
retorno += `
<span data-toggle="tooltip" title="Activar" style="cursor: pointer"> <i class='activar icon-user-check text-success-800'></i>&nbsp;&nbsp;&nbsp; </span>`;
retorno += `<span data-toggle="tooltip" title="Activar" style="cursor: pointer"> <i class='activar fa fa-power-off text-success-800'></i>&nbsp;&nbsp;&nbsp; </span>`;
}
retorno += `
<span data-toggle="tooltip" title="Eliminar" style="cursor: pointer"> <i class='eliminar glyphicon glyphicon-trash text-blue-800'></i> </span>`;
conta++;
return retorno;
}
}
]
});
})
}
}
};
function activarDetalle(filtro) {
$('#tblDetalle tbody').on('click', '.activar', function () {
var table = $("#tblDetalle").DataTable();
var data = table.row($(this).parents('tr')).data();
var table = $("#tblDetalle").DataTable()
var data = table.row($(this).parents('tr')).data()
var codigo = data["codigoDetalle"];
var json = {
"codigo": codigo
};
}
validarDetalle(codigo)
.then((data) => {
if (data === 0) {
......@@ -760,7 +762,7 @@
data: json,
success: function (data) {
if (data === 1) {
$('.mantenimientoDetalle').addClass('hide');
$('.mantenimientoDetalle').addClass('hide')
bootbox.dialog({
className: "dialogExtraSmall",
title: "<i class='ace-icon fa fa-tags white'></i> <span class='white'>Notificación</span>",
......@@ -771,14 +773,14 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; OK",
className: "btn bg-success border-success-600 btn-xs",
callback: function () {
$('.mantenimientoDetalle').removeClass('hide');
recargarDetalle(filtro);
$('.mantenimientoDetalle').removeClass('hide')
recargarDetalle(filtro)
}
}
}
});
})
} else {
$('.mantenimientoDetalle').addClass('hide');
$('.mantenimientoDetalle').addClass('hide')
bootbox.dialog({
className: "dialogExtraSmall",
title: "<i class='ace-icon fa fa-exclamation-circle white'></i> <span class='white'>Advertencia</span>",
......@@ -789,15 +791,15 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; OK",
className: "btn bg-orange border-orange-600 btn-xs",
callback: function () {
$('.mantenimientoDetalle').removeClass('hide');
recargar();
$('.mantenimientoDetalle').removeClass('hide')
recargar()
}
}
}
});
})
}
}
});
})
} else {
bootbox.dialog({
className: "dialogExtraSmall",
......@@ -812,20 +814,20 @@
}
}
}
});
})
}
});
});
})
})
}
function desactivarDetalle(filtro) {
$('#tblDetalle tbody').on('click', '.desactivar', function () {
var table = $("#tblDetalle").DataTable();
var data = table.row($(this).parents('tr')).data();
var table = $("#tblDetalle").DataTable()
var data = table.row($(this).parents('tr')).data()
var codigo = data["codigoDetalle"];
var json = {
"codigo": codigo
};
}
validarDetalle(codigo)
.then((data) => {
if (data === 0) {
......@@ -836,7 +838,7 @@
data: json,
success: function (data) {
if (data === 1) {
$('.mantenimientoDetalle').addClass('hide');
$('.mantenimientoDetalle').addClass('hide')
bootbox.dialog({
className: "dialogExtraSmall",
title: "<i class='ace-icon fa fa-tags white'></i> <span class='white'>Notificación</span>",
......@@ -847,14 +849,14 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; OK",
className: "btn bg-success border-success-600 btn-xs",
callback: function () {
$('.mantenimientoDetalle').removeClass('hide');
recargarDetalle(filtro);
$('.mantenimientoDetalle').removeClass('hide')
recargarDetalle(filtro)
}
}
}
});
})
} else {
$('.mantenimientoDetalle').addClass('hide');
$('.mantenimientoDetalle').addClass('hide')
bootbox.dialog({
className: "dialogExtraSmall",
title: "<i class='ace-icon fa fa-exclamation-circle white'></i> <span class='white'>Advertencia</span>",
......@@ -865,17 +867,17 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; OK",
className: "btn bg-orange border-orange-600 btn-xs",
callback: function () {
$('.mantenimientoDetalle').removeClass('hide');
recargar();
$('.mantenimientoDetalle').removeClass('hide')
recargar()
}
}
}
});
})
}
}
});
})
} else {
$('.mantenimientoDetalle').addClass('hide');
$('.mantenimientoDetalle').addClass('hide')
bootbox.dialog({
className: "dialogExtraSmall",
title: "<i class='ace-icon fa fa-exclamation-circle white'></i> <span class='white'>Advertencia</span>",
......@@ -886,24 +888,24 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; OK",
className: "btn bg-orange border-orange-600 btn-xs",
callback: function () {
$('.mantenimientoDetalle').removeClass('hide');
$('.mantenimientoDetalle').removeClass('hide')
}
}
}
});
})
}
});
});
})
})
}
function recargarDetalle(codigo) {
$("#tblDetalle").DataTable().destroy();
datosDetalle.listarDetalle(codigo);
$("#tblDetalle").DataTable().destroy()
datosDetalle.listarDetalle(codigo)
}
function asignarTipoUsuario(proyecto) {
$('#btnAsignarTipoUsuario').click(function () {
$('.mantenimientoDetalle').addClass('hide');
$('.mantenimientoDetalle').addClass('hide')
var asignarTipo = bootbox.dialog({
title: "<b><i class='ace-icon fa fa-tags'></i> <span class=''>ASIGNAR</span></b>",
headerClass: "modal-bg-primary",
......@@ -930,11 +932,11 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-primary border-primary-600 btn-xs buttonOk",
callback: function () {
var tipoUsuario = $('#cboTipoUsuario').val();
var tipoUsuario = $('#cboTipoUsuario').val()
var json = {
"proyecto": proyecto,
"tipoUsuario": tipoUsuario
};
}
var validar = $("#formAsignarTipoUsuario").validate({
rules: {
cboTipoUsuario: {required: true}
......@@ -942,7 +944,7 @@
messages: {
cboTipoUsuario: {required: "<b>&times; Seleccione un tipo de Usuario</b>"}
}
});
})
if (validar.form()) {
$.ajax({
type: 'POST',
......@@ -951,7 +953,7 @@
data: json,
success: function (data) {
if (data.status === true) {
crearMenuNuevoDetalle(proyecto, data.data.codigo);
crearMenuNuevoDetalle(proyecto, data.data.codigo)
} else {
bootbox.dialog({
className: "dialogExtraSmall",
......@@ -963,14 +965,14 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; OK",
className: "btn-warning",
callback: function () {
$('.mantenimientoDetalle').removeClass('hide');
$('.mantenimientoDetalle').removeClass('hide')
}
}
}
});
})
}
}
});
})
} else {
return false;
}
......@@ -981,22 +983,22 @@
label: "<i class='fa fa-times bigger-110'></i>&nbsp; Cancelar",
className: "btn bg-orange border-orange-600 btn-xs",
callback: function () {
$('.mantenimientoDetalle').removeClass('hide');
$('.mantenimientoDetalle').removeClass('hide')
}
}
}
});
})
asignarTipo.init(function () {
listarComboTipo(proyecto);
submitKey('formAsignarTipoUsuario', '.buttonOk');
});
});
listarComboTipo(proyecto)
submitKey('formAsignarTipoUsuario', '.buttonOk')
})
})
}
function listarComboTipo(proyecto) {
var json = {
"proyecto": proyecto
};
}
$.ajax({
type: 'POST',
url: "../servlet/ProyectoServlet?accion=listarTipoUsuario",
......@@ -1007,19 +1009,19 @@
for (var i in result) {
print += " <option value =" + result[i].codigoTipoUsuario + ">" + result[i].nombreTipoUsuario + "</option> ";
}
$("#cboTipoUsuario").html(print);
$("#cboTipoUsuario").html(print)
}
});
})
}
function eliminarDetalleValid(filtro) {
$('#tblDetalle tbody').on('click', '.eliminar', function () {
var table = $("#tblDetalle").DataTable();
var data = table.row($(this).parents('tr')).data();
var table = $("#tblDetalle").DataTable()
var data = table.row($(this).parents('tr')).data()
var codigo = data["codigoDetalle"];
var json = {
"codigo": codigo
};
}
validarDetalle(codigo)
.then((data) => {
if (data === 0) {
......@@ -1030,7 +1032,7 @@
data: json,
success: function (data) {
if (data >= 1) {
$('.mantenimientoDetalle').addClass('hide');
$('.mantenimientoDetalle').addClass('hide')
bootbox.dialog({
className: "dialogExtraSmall",
headerClass: "modal-bg-primary",
......@@ -1048,7 +1050,7 @@
data: json,
success: function (data) {
if (data >= 1) {
eliminarDetalle(json, filtro);
eliminarDetalle(json, filtro)
} else {
bootbox.dialog({
className: "dialogExtraSmall",
......@@ -1060,28 +1062,28 @@
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');
recargar();
$('.mantenimientoDetalle').removeClass('hide')
recargar()
}
}
}
});
})
}
}
});
})
}
}, no: {
label: "<i class='fa fa-times bigger-110'></i>&nbsp; No",
className: "btn bg-danger border-danger-600 btn-xs",
callback: function () {
$('.mantenimientoDetalle').removeClass('hide');
recargar();
$('.mantenimientoDetalle').removeClass('hide')
recargar()
}
}
}
});
})
} else {
$('.mantenimientoDetalle').addClass('hide');
$('.mantenimientoDetalle').addClass('hide')
bootbox.dialog({
className: "dialogExtraSmall",
headerClass: "modal-bg-primary",
......@@ -1092,24 +1094,24 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Si",
className: "btn bg-primary border-primary-600 btn-xs",
callback: function () {
eliminarDetalle(json, filtro);
eliminarDetalle(json, filtro)
}
}, no: {
label: "<i class='fa fa-times bigger-110'></i>&nbsp; No",
className: "btn bg-danger border-danger-600 btn-xs",
callback: function () {
$('.mantenimientoDetalle').removeClass('hide');
recargarDetalle(filtro);
$('.mantenimientoDetalle').removeClass('hide')
recargarDetalle(filtro)
}
}
}
});
})
}
}
});
})
} else {
$('.mantenimientoDetalle').addClass('hide');
$('.mantenimientoDetalle').addClass('hide')
bootbox.dialog({
className: "dialogExtraSmall",
title: "<i class='ace-icon fa fa-exclamation-circle white'></i> <span class='white'>Advertencia</span>",
......@@ -1120,14 +1122,14 @@
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');
$('.mantenimientoDetalle').removeClass('hide')
}
}
}
});
})
}
});
});
})
})
}
function eliminarDetalle(json, filtro) {
......@@ -1138,7 +1140,7 @@
data: json,
success: function (data) {
if (data === 1) {
$('.mantenimientoDetalle').addClass('hide');
$('.mantenimientoDetalle').addClass('hide')
bootbox.dialog({
className: "dialogExtraSmall",
title: "<i class='ace-icon fa fa-tags white'></i> <span class='white'>Notificación</span>",
......@@ -1149,12 +1151,12 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-success border-success-600 btn-xs",
callback: function () {
$('.mantenimientoDetalle').removeClass('hide');
recargarDetalle(filtro);
$('.mantenimientoDetalle').removeClass('hide')
recargarDetalle(filtro)
}
}
}
});
})
} else {
bootbox.dialog({
className: "dialogExtraSmall",
......@@ -1166,50 +1168,50 @@
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');
recargarDetalle(filtro);
$('.mantenimientoDetalle').removeClass('hide')
recargarDetalle(filtro)
}
}
}
});
})
}
}
});
})
}
// PLUS
function soloNumeros(input) {
$('#' + 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)) {
e.preventDefault();
e.preventDefault()
}
});
})
}
function soloLetras(input) {
$('#' + input).on('keypress keyup blur', function (e) {
var regex = new RegExp(/^[a-zA-Z\s]*$/);
var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
var regex = new RegExp(/^[a-zA-Z\s]*$/)
var str = String.fromCharCode(!e.charCode ? e.which : e.charCode)
if (regex.test(str)) {
return true;
}
e.preventDefault();
e.preventDefault()
return false;
});
})
}
function soloAlfanumerico(input) {
$('#' + input).on('keypress keyup blur', function (e) {
var regex = new RegExp("^[a-zA-Z0-9]+$");
var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
var regex = new RegExp("^[a-zA-Z0-9]+$")
var str = String.fromCharCode(!e.charCode ? e.which : e.charCode)
if (regex.test(str)) {
return true;
}
e.preventDefault();
e.preventDefault()
return false;
});
})
}
// VALIDACIONES PROYECTO
......@@ -1217,7 +1219,7 @@
function validarProyecto(codigo) {
let json = {
codigo: codigo
};
}
return new Promise((resolve, reject) => {
$.ajax({
type: 'POST',
......@@ -1225,12 +1227,12 @@
dataType: 'json',
data: json,
success: function (data, textStatus, jqXHR) {
resolve(data);
resolve(data)
}, error: function (jqXHR, textStatus, errorThrown) {
reject("Error al validar Proyecto");
reject("Error al validar Proyecto")
}
});
});
})
})
}
function validarNombreProyecto(nuevo, actual, tipo) {
......@@ -1238,7 +1240,7 @@
nuevo: nuevo,
actual: actual,
tipo: tipo
};
}
return new Promise((resolve, reject) => {
$.ajax({
type: 'POST',
......@@ -1246,12 +1248,12 @@
dataType: 'json',
data: json,
success: function (data, textStatus, jqXHR) {
resolve(data);
resolve(data)
}, error: function (jqXHR, textStatus, errorThrown) {
reject("Error al validar Nombre del Proyecto");
reject("Error al validar Nombre del Proyecto")
}
});
});
})
})
}
function validarUrlProyecto(nuevo, actual, tipo) {
......@@ -1259,7 +1261,7 @@
nuevo: nuevo,
actual: actual,
tipo: tipo
};
}
return new Promise((resolve, reject) => {
$.ajax({
type: 'POST',
......@@ -1267,12 +1269,12 @@
dataType: 'json',
data: json,
success: function (data, textStatus, jqXHR) {
resolve(data);
resolve(data)
}, error: function (jqXHR, textStatus, errorThrown) {
reject("Error al validar Url del Proyecto");
reject("Error al validar Url del Proyecto")
}
});
});
})
})
}
// VALIDACIONES DETALLE_PROYECTO
......@@ -1280,7 +1282,7 @@
function validarDetalle(codigo) {
let json = {
codigo: codigo
};
}
return new Promise((resolve, reject) => {
$.ajax({
type: 'POST',
......@@ -1288,12 +1290,12 @@
dataType: 'json',
data: json,
success: function (data, textStatus, jqXHR) {
resolve(data);
resolve(data)
}, error: function (jqXHR, textStatus, errorThrown) {
reject("Error al validar Detalle");
reject("Error al validar Detalle")
}
});
});
})
})
}
function crearMenuNuevoDetalle(proyecto, detalle) {
......@@ -1301,7 +1303,7 @@
"codigo": 0,
"proyecto": proyecto,
"tipo": 1
};
}
$.ajax({
type: 'POST',
url: "../servlet/MantenimientoMenuServlet?accion=listarMenu",
......@@ -1321,7 +1323,7 @@
callback: function () {
var conta;
for (var i = 0; i < data.data.length; i++) {
conta = crearMenuExistente(data.data[i].jerarquia, detalle, data.data[i].codigo);
conta = crearMenuExistente(data.data[i].jerarquia, detalle, data.data[i].codigo)
}
if (conta === 0) {
bootbox.dialog({
......@@ -1337,7 +1339,7 @@
}
}
}
});
})
} else {
bootbox.dialog({
className: "dialogExtraSmall",
......@@ -1349,13 +1351,13 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; OK",
className: "btn bg-success border-success-600 btn-xs",
callback: function () {
recargarDetalle(proyecto);
$('.mantenimientoDetalle').removeClass('hide');
recargarDetalle(proyecto)
$('.mantenimientoDetalle').removeClass('hide')
return true;
}
}
}
});
})
}
}
}, no: {
......@@ -1372,17 +1374,17 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; OK",
className: "btn bg-success border-success-600 btn-xs",
callback: function () {
recargarDetalle(proyecto);
$('.mantenimientoDetalle').removeClass('hide');
recargarDetalle(proyecto)
$('.mantenimientoDetalle').removeClass('hide')
return true;
}
}
}
});
})
}
}
}
});
})
} else {
bootbox.dialog({
className: "dialogExtraSmall",
......@@ -1394,16 +1396,16 @@
label: "<i class='fa fa-check bigger-110'></i>&nbsp; OK",
className: "btn bg-success border-success-600 btn-xs",
callback: function () {
recargarDetalle(proyecto);
$('.mantenimientoDetalle').removeClass('hide');
recargarDetalle(proyecto)
$('.mantenimientoDetalle').removeClass('hide')
return true;
}
}
}
});
})
}
}
});
})
}
function crearMenuExistente(jerarquia, proyecto, codigo) {
......@@ -1412,7 +1414,7 @@
proyecto: proyecto,
tipo: 1,
jerarquia: jerarquia
};
}
$.ajax({
type: 'POST',
url: "../servlet/MantenimientoMenuServlet?accion=nuevoMenuExistente",
......@@ -1425,10 +1427,12 @@
return 1;
} else {
return 0;
}
}
});
})
}
$('[type="checkbox"]').click(function (e) {
isChecked = $(this).is(":checked")
recargar()
})
\ No newline at end of file
/* global bootbox */
/* global bootbox, loader, elementLoader */
let isChecked = false
function segundaCarga() {
datosUsuario.listarUsuario();
editarUsuario();
desactivarUsuario();
activarUsuario();
eliminarUsuario();
clickEliminarUsuario();
reactivarUsuario();
asignarUsuarioProyecto();
verDetalleUsuario()
cargarCargos()
submitKey('txtUsuario', '#btnBuscar');
listarProyectos('cboProyecto');
listarTipoDeUsuario(-1, 'cboProyecto', 'cboTipoUsuario');
}
let switchery = new Switchery(document.querySelector('#cbkEstado'), {color: 'green'});
listarUsuariosManual = (json) => {
return new Promise((resolve, reject) => {
$.ajax({
type: 'POST',
url: '../servlet/UsuarioServlet?accion=listarUsuarioManual',
dataType: "json",
data: {
json: JSON.stringify(json)
},
success: function (data, textStatus, jqXHR) {
resolve(data)
}, error: function (jqXHR, textStatus, errorThrown) {
reject('Error en la petición')
}
})
})
}
listarCargosDeUsuario = () => {
elementLoader.iniciarLoader('cboCargos')
return new Promise((resolve, reject) => {
$.ajax({
type: 'POST',
url: '../servlet/UsuarioServlet?accion=listarCargosDeUsuario',
dataType: "json",
success: function (data, textStatus, jqXHR) {
resolve(data)
}, error: function (jqXHR, textStatus, errorThrown) {
reject('Error en la petición')
}
})
})
}
cargarCargos = () => {
listarCargosDeUsuario()
.then(data => {
let print = "<option>[SELECCIONE]</option>"
print += data.map(obj => `<option value="${obj}">${obj}</option>`)
document.getElementById('cboCargos').innerHTML = print
})
.then(() => {
$('#cboCargos').select2();
elementLoader.terminarLoader('cboCargos')
})
}
function reactivarUsuario() {
$('#tblUsuario tbody').on('click', '.reactivar', function () {
var table = $("#tblUsuario").DataTable();
var data = table.row($(this).parents('tr')).data();
var codigo = data["codigoUsuario"];
var json = {
"codigo": codigo
};
validarUsuarioDependencia(codigo)
.then(data => {
if (data > 0) {
let param = {
filtro: codigo,
start: 0,
length: 10000,
draw: 1
}
$.ajax({
type: 'POST',
dataType: 'json',
"url": '../servlet/UsuarioServlet?accion=listarUsuarioDetalle',
data: param,
success: function (data, textStatus, jqXHR) {
let lista = data.data
lista = lista.map(obj => `<div class="checkbox">
<label>
<input type="checkbox" value="${obj.codigoUsuarioDetalle}" class="cbxAsignaciones" checked="checked">
${obj.nombreProyecto} - ${obj.nombreTipoUsuario}
</label>
</div>`).join('')
bootbox.dialog({
className: "dialogExtraSmall",
title: "<i class='ace-icon fa fa-tags white'></i> <span class='white'>Notificación</span>",
headerClass: "modal-bg-success",
message: lista,
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-success border-success-600 btn-xs",
callback: function () {
let arregloCodigos = $("input.cbxAsignaciones:checkbox:checked").map(function () {
return $(this).val()
}).get()
let param = {
lista: JSON.stringify(arregloCodigos),
array: true
}
$.ajax({
type: 'POST',
url: "../servlet/UsuarioServlet?accion=activarUsuarioDetalle",
dataType: 'JSON',
data: param,
success: function (data) {
if (data === arregloCodigos.length) {
$.ajax({
type: 'POST',
url: "../servlet/UsuarioServlet?accion=activarUsuario",
dataType: 'JSON',
data: json,
success: (data) => {
if (data === 1) {
msnSuccess('Usuario correctamente reactivado', () => {
recargar()
})
} else {
msnError('No se pudo reactivar el usuario')
}
}
})
} else {
msnError('Ha ocurrido un error')
}
}
})
}
}
}
})
}
})
} else {
$.ajax({
type: 'POST',
url: "../servlet/UsuarioServlet?accion=activarUsuario",
dataType: 'JSON',
data: json,
success: (data) => {
if (data === 1) {
msnSuccess('Usuario correctamente reactivado', () => {
recargar()
})
} else {
msnError('No se pudo reactivar el usuario')
}
}
})
}
})
})
}
$('#tblUsuario').on('draw.dt', function () {
$('[data-toggle="tooltip"]').tooltip();
});
var datosUsuario = {listarUsuario: function () {
var tipo = $('#cboTipoBusqueda').val();
var filtro;
......@@ -25,15 +181,20 @@
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 = "";
filtro = ""
}
var json = {
"filtro": filtro,
"tipo": tipo
"tipo": tipo,
"estado": isChecked
};
let conta = 1;
$("#tblUsuario").DataTable({
let paramDataTable = {
"language": {
"lengthMenu": "Mostrar: _MENU_",
"zeroRecords": "&nbsp;&nbsp;&nbsp; No se encontraron resultados",
......@@ -74,11 +235,11 @@
{targets: 2, orderable: false, width: "15%"},
{targets: 3, orderable: false, width: "10%"},
{targets: 4, orderable: false, width: "15%"},
{targets: 5, orderable: false, width: "5%", className: "text-center"},
{targets: 5, orderable: false, width: "5%", className: "text-center", visible: isChecked},
{targets: 6, orderable: false, width: "10%", className: "text-center"}
],
"columns": [
{"data": "numeral"},
{"data": "codigoUsuario"},
{"data": "usuario"},
{"data": "nombreUsuario"},
{"data": "nombreArea"},
......@@ -96,56 +257,74 @@
},
{"data": "estadoUsuario", "render": function (data, type, row) {
let retorno = ``;
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>`;
if (data === 1) {
retorno += `<span data-toggle="tooltip" title="Desactivar" style="cursor: pointer"> <i class='desactivar icon-user-block text-danger-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 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>`;
} else {
retorno += `<span data-toggle="tooltip" title="Activar" style="cursor: pointer"> <i class='activar icon-user-check 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>`;
retorno += `<span data-toggle="tooltip" title="Detalle" style="cursor: pointer"> <i class='verDetalle icon icon-eye text-indigo-800'></i>&nbsp;&nbsp; </span>`;
}
retorno += `<span data-toggle="tooltip" title="Asignar" style="cursor: pointer"> <i class='asignar icon icon-cog2 text-primary-800'></i>&nbsp;&nbsp; </span>`;
retorno += `<span data-toggle="tooltip" title="Eliminar" style="cursor: pointer"> <i class='eliminar glyphicon glyphicon-trash text-slate-800'></i> </span>`;
conta++;
return retorno;
}
}
],
drawCallback: function (settings) {
loader.terminarLoader()
}
}
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)
}
]
});
}
};
var validar;
var validar = false;
$('#btnBuscar').click(function () {
validar = $('#formUsuario').validate({
rules: {
txtUsuario: {required: true},
cboTipoUsuario: {required: true},
cboProyecto: {required: true},
cboTipoBusqueda: {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>"},
cboTipoBusqueda: {required: "<b>&times; Seleccione un Tipo de Busqueda</b>"}
cboProyecto: {required: "<b>&times; Seleccione un Proyecto</b>"}
}
});
if (validar.form()) {
recargar();
}
});
$('#btnLimpiar').click(function () {
$('#cboTipoBusqueda').val("");
$('#cboTipoBusqueda').change();
$('#txtUsuario').val("");
if (validar) {
validar.resetForm();
}
recargar();
});
function recargar() {
loader.iniciarLoader()
$("#tblUsuario").DataTable().destroy();
datosUsuario.listarUsuario();
}
......@@ -157,28 +336,49 @@
$('.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: '#crearDocumento', param: 'numbers'}).validate();
......@@ -420,233 +620,63 @@
});
});
}
function activarUsuario() {
$('#tblUsuario tbody').on('click', '.activar', function () {
var table = $("#tblUsuario").DataTable();
var data = table.row($(this).parents('tr')).data();
var codigo = data["codigoUsuario"];
var json = {
"codigo": codigo
};
validarUsuarioDependencia(codigo)
.then((data) => {
if (data === 0) {
$.ajax({
type: 'POST',
url: "../servlet/UsuarioServlet?accion=activarUsuario",
dataType: 'JSON',
data: json,
success: function (data) {
if (data === 1) {
bootbox.dialog({
className: "dialogExtraSmall",
title: "<i class='ace-icon fa fa-tags white'></i> <span class='white'>Notificación</span>",
headerClass: "modal-bg-success",
message: "Usuario correctamente modificado",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-success border-success-600 btn-xs",
callback: function () {
recargar();
}
}
}
});
} else {
bootbox.dialog({
title: "<i class='ace-icon fa fa-exclamation-circle white'></i> <span class='white'>Advertencia</span>",
headerClass: "modal-bg-warning",
message: "Ha ocurrido un error",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-orange border-orange-600 btn-xs",
callback: function () {
}
}
}
});
}
}
});
} 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: "El usuario seleccionado esta en uso",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-orange border-orange-600 btn-xs",
callback: function () {
}
}
}
});
}
});
});
}
function desactivarUsuario() {
$('#tblUsuario tbody').on('click', '.desactivar', function () {
var table = $("#tblUsuario").DataTable();
var data = table.row($(this).parents('tr')).data();
var codigo = data["codigoUsuario"];
var json = {
"codigo": codigo
};
validarUsuarioDependencia(codigo)
.then((data) => {
if (data === 0) {
$.ajax({
type: 'POST',
url: "../servlet/UsuarioServlet?accion=desactivarUsuario",
dataType: 'JSON',
data: json,
success: function (data) {
if (data === 1) {
bootbox.dialog({
className: "dialogExtraSmall",
title: "<i class='ace-icon fa fa-tags white'></i> <span class='white'>Notificación</span>",
headerClass: "modal-bg-success",
message: "Usuario correctamente modificado",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-success border-success-600 btn-xs",
callback: function () {
recargar();
}
}
}
});
} 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: "Ha ocurrido un error",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-orange border-orange-600 btn-xs",
callback: function () {
}
}
}
});
}
}
});
} 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: "El usuario seleccionado esta en uso",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-orange border-orange-600 btn-xs",
callback: function () {
}
}
}
});
}
});
});
}
function eliminarUsuario() {
$('#tblUsuario tbody').on('click', '.eliminar', function () {
var table = $("#tblUsuario").DataTable();
var data = table.row($(this).parents('tr')).data();
var codigo = data["codigoUsuario"];
var json = {
"codigo": codigo
};
validarUsuarioDependencia(codigo)
.then((data) => {
if (data === 0) {
bootbox.dialog({
className: "dialogExtraSmall",
headerClass: "modal-bg-primary",
title: "<i class='ace-icon fa fa-check-circle white'></i> <span class='white'>Conformidad</span>",
message: "¿Está seguro de eliminar este usuario?",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Si",
className: "btn bg-primary border-primary-600 btn-xs",
callback: function () {
$.ajax({
type: 'POST',
url: "../servlet/UsuarioServlet?accion=eliminarUsuario",
dataType: 'JSON',
data: json,
success: function (data) {
if (data === 1) {
recargar();
bootbox.dialog({
className: "dialogExtraSmall",
title: "<i class='ace-icon fa fa-tags white'></i> <span class='white'>Notificación</span>",
headerClass: "modal-bg-success",
message: "Usuario correctamente eliminado",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-success border-success-600 btn-xs",
callback: function () {
}
}
}
});
} 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: "Ha ocurrido un error",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-orange border-orange-600 btn-xs",
callback: function () {
}
}
}
});
}
}
});
eliminarUsuario = (json) => {
return new Promise((resolve, reject) => {
$.ajax({
type: 'POST',
url: "../servlet/UsuarioServlet?accion=desactivarUsuario",
dataType: 'JSON',
data: json,
success: function (data, textStatus, jqXHR) {
resolve(data)
}, error: function (jqXHR, textStatus, errorThrown) {
reject('Error en la petición UsuarioServlet?accion=desactivarUsuarioS')
}
}, no: {
label: "<i class='fa fa-times bigger-110'></i>&nbsp; No",
className: "btn bg-danger border-danger-600 btn-xs",
callback: function () {
})
})
}
function clickEliminarUsuario() {
$('#tblUsuario tbody').on('click', '.eliminar', function () {
var table = $("#tblUsuario").DataTable();
var data = table.row($(this).parents('tr')).data();
var codigo = data["codigoUsuario"];
var json = {
"codigo": codigo
};
validarUsuarioDependencia(codigo)
.then((data) => {
if (data === 0) {
msnConfirm(`¿Seguro de eliminar este usuario?`, (option) => {
if (option) {
eliminarUsuario(json)
.then(data => {
if (data === 1) {
msnSuccess('Usuario correctamente eliminado', () => {
recargar()
})
} else {
msnError('Ha ocurrido un error')
}
})
}
});
})
} 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: "El usuario seleccionado esta en uso",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-orange border-orange-600 btn-xs",
callback: function () {
}
msnConfirm(`El usuario seleccionado está asignado a ${data} proyecto(s) <br> ¿Seguro de continuar?`, (option) => {
if (option) {
eliminarUsuario(json)
.then(data => {
if (data === 1) {
msnSuccess('Usuario correctamente eliminado', () => {
recargar()
})
} else {
msnError('Ha ocurrido un error')
}
})
}
});
})
}
});
});
......@@ -834,7 +864,6 @@
submitKey('formCrearUsuario', '.buttonOk');
});
});
function listarTipoDocumento() {
$.ajax({
type: 'POST',
......@@ -850,11 +879,16 @@
});
}
function generar(longitud) {
var caracteres = "abcdefghijkmnpqrtuvwxyzABCDEFGHIJKLMNPQRTUVWXYZ2346789/*-%$&#@¡?¿!+";
function generar() {
var numeros = "012346789";
var letras = "abcdefghijkmnpqrtuvwxyz";
var contraseña = "";
for (i = 0; i < longitud; i++)
contraseña += caracteres.charAt(Math.floor(Math.random() * caracteres.length));
for (i = 0; i < 6; i++)
if (i % 2 === 1) {
contraseña += letras.charAt(Math.floor(Math.random() * letras.length));
} else {
contraseña += numeros.charAt(Math.floor(Math.random() * numeros.length));
}
return contraseña;
}
......@@ -1024,16 +1058,14 @@
label: "<i class='fa fa-times bigger-110'></i>&nbsp; Cerrar",
className: "btn bg-danger border-danger-600 btn-xs",
callback: function () {
refrescar()
}
}
}
});
listaDetalle.init(function () {
datosDetalle.listarDetalle(codigo);
eliminarDetalle(codigo);
activarDetalle(codigo);
desactivarDetalle(codigo);
activarDetalle(codigo);
nuevoProyectoUsuario(codigo);
$('#tblDetalle').on('draw.dt', function () {
$('[data-toggle="tooltip"]').tooltip();
......@@ -1042,12 +1074,54 @@
});
}
var datosDetalle = {listarDetalle: function (filtro) {
function verDetalleUsuario() {
$('#tblUsuario tbody').on('click', '.verDetalle', function () {
var table = $("#tblUsuario").DataTable();
var data = table.row($(this).parents('tr')).data();
var codigo = data["codigoUsuario"];
var nombre = data["nombreUsuario"];
var listaDetalle = bootbox.dialog({
title: "<span><i class='ace-icon fa fa-tags'></i> ASIGNAR PROYECTO - USUARIO</span>",
headerClass: "modal-bg-primary",
className: "mantenimientoDetalle",
message: `<div class="panel panel-primary">
<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; ${nombre.toUpperCase()}</h6>
</div>
<div class="table-responsive">
<table class="table table-responsive table-striped table-hover table-bordered" style ="width: 100%" id="tblDetalle">
<thead class="">
<tr>
<th class="text-center">Nº</th>
<th class="text-center">PROYECTO</th>
<th class="text-center">TIPO DE USUARIO</th>
</tr>
</thead>
</table>
</div>
</div>`,
buttons: {
si: {
label: "<i class='fa fa-times bigger-110'></i>&nbsp; Cerrar",
className: "btn bg-danger border-danger-600 btn-xs",
callback: function () {
refrescar()
}
}
}
});
listaDetalle.init(function () {
datosDetalle.listarDetalle(codigo, false)
});
});
}
var datosDetalle = {listarDetalle: function (filtro, tipo = true) {
var json = {
"filtro": filtro
};
let conta = 1;
$("#tblDetalle").DataTable({
let params = {
"language": {
"lengthMenu": "Mostrar: _MENU_",
"zeroRecords": "&nbsp;&nbsp;&nbsp; No se encontraron resultados",
......@@ -1103,129 +1177,68 @@
}
},
{"data": "estadoUsuarioDetalle", "render": function (data, type, row) {
let retorno = ``;
conta++;
if (data === 1) {
retorno += `<span data-toggle="tooltip" title="Desactivar" style="cursor: pointer"> <i class='desactivar icon-user-block text-danger-800'></i>&nbsp;&nbsp; </span>`;
return `<span data-toggle="tooltip" title="Eliminar" style="cursor: pointer"> <i class='desactivar glyphicon glyphicon-trash text-danger-800'></i>&nbsp;&nbsp; </span>`;
} else {
retorno += `<span data-toggle="tooltip" title="Activar" style="cursor: pointer"> <i class='activar icon-user-check 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>`;
}
retorno += `<span data-toggle="tooltip" title="Eliminar" style="cursor: pointer"> <i class='eliminar glyphicon glyphicon-trash text-slate-800'></i> </span>`;
conta++;
return retorno;
}
}
]
});
}
if (tipo === false) {
params.columnDefs.length = 3
params.columns.length = 3
}
$("#tblDetalle").DataTable(params);
}
};
function recargarDetalle(codigo) {
$("#tblDetalle").DataTable().destroy();
datosDetalle.listarDetalle(codigo);
}
function eliminarDetalle(filtro) {
$('#tblDetalle tbody').on('click', '.eliminar', function () {
function activarDetalle(filtro) {
$('#tblDetalle tbody').on('click', '.reactivar', function () {
var table = $("#tblDetalle").DataTable();
var data = table.row($(this).parents('tr')).data();
var codigo = data["codigoUsuarioDetalle"];
var json = {
"codigo": codigo
};
validarAsignacion(codigo)
.then((data) => {
$('.mantenimientoDetalle').addClass('hide');
if (data === 0) {
bootbox.dialog({
className: "dialogExtraSmall",
headerClass: "modal-bg-primary",
title: "<i class='ace-icon fa fa-check-circle white'></i> <span class='white'>Conformidad</span>",
message: "¿Está seguro de eliminar esta asignación?",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Si",
className: "btn bg-primary border-primary-600 btn-xs",
callback: function () {
"codigo": codigo,
array: false
}
$.ajax({
type: 'POST',
url: "../servlet/UsuarioServlet?accion=eliminarUsuarioDetalle",
url: "../servlet/UsuarioServlet?accion=activarUsuarioDetalle",
dataType: 'JSON',
data: json,
success: function (data) {
if (data === 1) {
bootbox.dialog({
className: "dialogExtraSmall",
title: "<i class='ace-icon fa fa-tags white'></i> <span class='white'>Notificación</span>",
headerClass: "modal-bg-success",
message: "Asignación correctamente eliminada",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-success border-success-600 btn-xs",
callback: function () {
$('.mantenimientoDetalle').addClass('hide');
msnSuccess('Asignación correctamente eliminada', () => {
$('.mantenimientoDetalle').removeClass('hide');
recargarDetalle(filtro);
}
}
}
});
})
} 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: "Ha ocurrido un error",
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').addClass('hide');
msnError('Ha ocurrido un error', () => {
$('.mantenimientoDetalle').removeClass('hide');
recargarDetalle(filtro);
})
}
}
}
});
}
}
});
}
}, no: {
label: "<i class='fa fa-times bigger-110'></i>&nbsp; No",
className: "btn bg-danger border-danger-600 btn-xs",
callback: function () {
$('.mantenimientoDetalle').removeClass('hide');
}
}
}
});
} 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: "El Usuario seleccionado tiene historial, no puede ser eliminado",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; OK",
className: "btn bg-orange border-orange-600 btn-xs",
callback: function () {
$('.mantenimientoDetalle').removeClass('hide');
}
}
}
});
}
});
});
}
function desactivarDetalle(filtro) {
$('#tblDetalle tbody').on('click', '.desactivar', function () {
$('.mantenimientoDetalle').addClass('hide');
msnConfirm('¿Seguro de eliminar esta asignación?', (option) => {
if (option) {
var table = $("#tblDetalle").DataTable();
var data = table.row($(this).parents('tr')).data();
var codigo = data["codigoUsuarioDetalle"];
......@@ -1239,102 +1252,23 @@
data: json,
success: function (data) {
if (data === 1) {
$('.mantenimientoDetalle').addClass('hide');
bootbox.dialog({
className: "dialogExtraSmall",
title: "<i class='ace-icon fa fa-tags white'></i> <span class='white'>Notificación</span>",
headerClass: "modal-bg-success",
message: "Asignación correctamente modificada",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-success border-success-600 btn-xs",
callback: function () {
msnSuccess('Asignación correctamente eliminada', () => {
$('.mantenimientoDetalle').removeClass('hide');
recargarDetalle(filtro);
}
}
}
});
})
} else {
$('.mantenimientoDetalle').addClass('hide');
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: "Ha ocurrido un error",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-orange border-orange-600 btn-xs",
callback: function () {
msnError('Ha ocurrido un error', () => {
$('.mantenimientoDetalle').removeClass('hide');
recargarDetalle(filtro);
}
})
}
}
});
}
}
});
})
});
}
function activarDetalle(filtro) {
$('#tblDetalle tbody').on('click', '.activar', function () {
var table = $("#tblDetalle").DataTable();
var data = table.row($(this).parents('tr')).data();
var codigo = data["codigoUsuarioDetalle"];
var json = {
"codigo": codigo
};
$.ajax({
type: 'POST',
url: "../servlet/UsuarioServlet?accion=activarUsuarioDetalle",
dataType: 'JSON',
data: json,
success: function (data) {
if (data === 1) {
$('.mantenimientoDetalle').addClass('hide');
bootbox.dialog({
className: "dialogExtraSmall",
title: "<i class='ace-icon fa fa-tags white'></i> <span class='white'>Notificación</span>",
headerClass: "modal-bg-success",
message: "Asignación correctamente modificada",
buttons: {
si: {
label: "<i class='fa fa-check bigger-110'></i>&nbsp; Aceptar",
className: "btn bg-success border-success-600 btn-xs",
callback: function () {
$('.mantenimientoDetalle').removeClass('hide');
recargarDetalle(filtro);
}
}
}
});
} else {
$('.mantenimientoDetalle').addClass('hide');
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: "Ha ocurrido un error",
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');
recargarDetalle(filtro);
}
}
}
});
}
}
});
});
}
function nuevoProyectoUsuario(codigo) {
$('#btnAsignarUsuario').click(function () {
......@@ -1430,6 +1364,7 @@
print += " <option value =" + result[i].codigoProyecto + ">" + result[i].nombreProyecto + "</option> ";
}
$("#" + comboBox + "").html(print);
$("#" + comboBox + "").select2()
}
});
}
......@@ -1452,6 +1387,7 @@
print += " <option value =" + result[i].codigoDetalle + ">" + result[i].nombreTipoUsuario + "</option> ";
}
$("#" + comboBox + "").html(print);
$("#" + comboBox + "").select2()
}
});
});
......@@ -1568,3 +1504,8 @@
refrescar = () => {
$("#tblUsuario").DataTable().ajax.reload()
}
$('[type="checkbox"]').click(function (e) {
isChecked = $(this).is(":checked");
recargar()
});
\ No newline at end of file
......@@ -24,9 +24,12 @@
<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 Proyectos</h6>
<div class="heading-elements">
<ul class="icons-list">
<li><a data-action="collapse"></a></li>
</ul>
<div class="checkbox checkbox-switchery">
<label>
<input type="checkbox" id="cbkEstado">
MOSTRAR INACTIVOS
</label>
</div>
</div>
</div>
<div class="panel-body" id="panelSearch">
......@@ -64,7 +67,7 @@
</div>
</div>
<div class="col-sm-12 col-md-12 col-lg-8 col-centered">
<div class="col-sm-12 col-md-12 col-lg-10 col-centered">
<div class="panel panel-primary card-3" style="margin-top: 30px">
<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 Proyectos</h6>
......@@ -76,7 +79,7 @@
<table class="table dataTable table-striped table-hover table-sm table-bordered display" id="tblProyecto">
<thead>
<tr>
<th class="text-center"></th>
<th class="text-center">CÓDIGO</th>
<th class="text-center">NOMBRE</th>
<th class="text-center" >URL</th>
<th class="text-center">ESTADO</th>
......
......@@ -64,7 +64,7 @@
</div>
</div>
<div class="col-sm-12 col-md-12 col-lg-5 col-centered">
<div class="col-sm-12 col-md-12 col-lg-9 col-centered">
<div class="panel panel-primary card-3" style="margin-top: 30px">
<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 Tipos de Usuario</h6>
......
......@@ -19,14 +19,17 @@
<%@include file="templates/header-body.jsp" %>
<!-- content -->
<div class="row animated fadeIn">
<div class="col-sm-12 col-md-12 col-lg-4 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-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>
<div class="heading-elements">
<ul class="icons-list">
<li><a data-action="collapse"></a></li>
</ul>
<div class="checkbox checkbox-switchery">
<label>
<input type="checkbox" id="cbkEstado">
MOSTRAR INACTIVOS
</label>
</div>
</div>
</div>
<div class="panel-body" id="panelSearch">
......@@ -40,9 +43,31 @@
<span class="asterisk">(*)</span>
<select id="cboTipoBusqueda" class="form-control" name="cboTipoBusqueda">
<option value="">SELECCIONE FILTRO</option>
<option value="1">USUARIO</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='divTrabajador col-md-6 hide'>
<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">
<label style="font-size: small">
Cargos:
</label>
<span class="asterisk">(*)</span>
<select id="cboCargos" name = "cboCargos" class="form-control">
<option>[SELECCIONE]</option>
</select>
</div>
</div>
......@@ -51,8 +76,8 @@
<label style="font-size: small">
Nombre:
</label>
<span id="spanAterik" class="asterisk">(*)</span>
<input type="text" id="txtUsuario" name = "txtUsuario" class="form-control" value="" placeholder="INGRESE NOMBRE DEL USUARIO" style="text-transform:uppercase;">
<span class="asterisk">(*)</span>
<input type="text" id="txtUsuario" name = "txtUsuario" class="form-control" value="" placeholder="INGRESE NOMBRE DEL USUARIO (NICKNAME)" style="text-transform:uppercase;">
</div>
</div>
<div class='divProyecto col-md-6 hide'>
......@@ -60,7 +85,7 @@
<label style="font-size: small">
Proyecto:
</label>
<span id="spanAterik" class="asterisk">(*)</span>
<span class="asterisk">(*)</span>
<select id="cboProyecto" class="form-control" name="cboProyecto">
<option value="">SELECCIONE PROYECTO</option>
</select>
......@@ -71,7 +96,7 @@
<label style="font-size: small">
Tipo de Usuario:
</label>
<span id="spanAterik" class="asterisk">(*)</span>
<span class="asterisk">(*)</span>
<select id="cboTipoUsuario" class="form-control" name="cboTipoUsuario">
<option value="">SELECCIONE TIPO DE USUARIO</option>
</select>
......@@ -112,7 +137,7 @@
<table class="table dataTable table-striped table-hover table-sm table-bordered display" id="tblUsuario">
<thead>
<tr>
<th class="text-center"></th>
<th class="text-center">CÓDIGO</th>
<th class="text-center">USUARIO</th>
<th class="text-center">DATOS</th>
<th class="text-center">ÁREA</th>
......
......@@ -22,8 +22,9 @@
<script type="text/javascript" src="../assets/js/core/libraries/bootstrap.min.js"></script>
<script type="text/javascript" src="../assets/js/plugins/loaders/blockui.min.js"></script>
<script type="text/javascript" src="../assets/js/plugins/forms/styling/switchery.min.js"></script>
<script src="../assets/js/plugins/forms/styling/uniform.min.js" type="text/javascript"></script>
<script type="text/javascript" src="../assets/js/plugins/forms/styling/switchery.min.js"></script>
<script src="../assets/js/plugins/forms/styling/switch.min.js" type="text/javascript"></script>
<script type="text/javascript" src="../assets/js/core/app.js"></script>
<script type="text/javascript" src="../assets/js/bootbox.min.js"></script>
<script src="../assets/js/plugins/tables/datatables/datatables.min.js" type="text/javascript"></script>
......@@ -31,6 +32,7 @@
<script src="../assets/js/validate_inputs.js" type="text/javascript"></script>
<script src="../js/lib/validateAlfi.js" type="text/javascript"></script>
<script src="../assets/js/fontawesome-iconpicker.js" type="text/javascript"></script>
<script src="../assets/js/plugins/forms/selects/select2.min.js" type="text/javascript"></script>
<!--<script src="../assets/js/fontawesome-iconpicker.min.js" type="text/javascript"></script>-->
<!-- /core JS files -->
<!-- /Generales -->
......
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