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