File: /var/www/vhost/disk-apps/qas.sports-crowd.com/public/js/users.js
hide = true;
$(document).on("ready", function () {
$("#btn-menu-usuario").on("click", function (event) {
if (hide) {
$("#menuUsuario").show();
hide = false;
} else {
$("#menuUsuario").hide();
hide = true;
}
});
$("input[name='phone']").on("keyup", function () {
this.value = (this.value + "").replace(/[^0-9]/g, "");
});
$("input[name=email]").on("keyup", function () {
if ($("#email").val()) {
var regex = /[\w-\.]{2,}@([\w-]{2,}\.)*([\w-]{2,}\.)[\w-]{2,4}/;
if (regex.test($("#email").val().trim())) {
$(this).css("border", "1px solid green");
document.getElementById("btn-create-user").disabled = false;
} else {
$(this).css("border", "1px solid red");
document.getElementById("btn-create-user").disabled = true;
}
}
});
});
$(document).on("click", function (event) {
var btn = $("#btn-menu-usuario");
var div = $("#menuUsuario");
if (!btn.is(event.target) && !btn.has(event.target).length) {
div.hide();
hide = true;
}
});
// Crear cliente
function createClient() {
$("#createClient").validator("update");
$("#createClient").validator("update").on("submit", function (e) {
if (e.isDefaultPrevented()) {
} else {
e.preventDefault();
if (validatePasswords(true)) {
var tags = $("#createClient select[name='generalMultiselect']").val();
var info = {
first_name: $("#createClient input[name='first_name']").val(),
last_name: $("#createClient input[name='last_name']").val(),
phone: $("#createClient input[name='phone']").val(),
email: $("#createClient input[name='email']").val(),
document: $("#createClient input[name='document']").val(),
password: $("#createClient input[name='password']").val(),
direction: $("#createClient input[name='direction']").val(),
district: $("#createClient input[name='district']").val(),
indications: $("#createClient textarea[name='indications']").val(),
lat: $("#createClient input[name='direction']").attr("data-lat"),
long: $("#createClient input[name='direction']").attr("data-long"),
city_id: $("#createClient select[name='city_id']").val(),
tags: tags,
is_subscriber: $("#createClient input[name='isSubscriber']")[0].checked,
};
swal(Lang.get("messagesClient.user_client_tag1"), {
buttons: {
cancel: "No",
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
$.ajax({
url: "/clients/create",
type: "POST",
contentType: "application/json",
headers: {
"X-CSRF-TOKEN": $(
'meta[name="csrf-token"]'
).attr("content"),
"Content-Type": "application/json",
},
data: JSON.stringify(info),
success: function (r) {
if (r.r) {
swal(r.m, {
icon: "success",
buttons: {
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
$(location).attr(
"href",
"/clients"
);
}
});
} else {
if (r.r == false) {
swal("Error", r.m, "warning");
} else {
swal(
"Error",
Lang.get(
"messagesClient.user_client_tag3"
),
"error"
);
}
}
},
});
}
});
}
}
});
}
function createDeliveryMan() {
$("#createDeliveryMan").validator("update");
$("#createDeliveryMan")
.validator("update")
.on("submit", function (e) {
if (e.isDefaultPrevented()) {
} else {
e.preventDefault();
if (validatePasswords(true)) {
sucursal = $("#createDeliveryMan select[name='sucursal_id']").val();
company = $("#createDeliveryMan select[name='courier_company_id']").val();
if (sucursal == "") {
swal(
"Ok",
Lang.get("messagesClient.user_deliveryMan_tag1"),
"warning"
);
} else if (company == "") {
swal(
"Ok",
Lang.get("messagesClient.user_deliveryMan_tag2"),
"warning"
);
} else {
var info = {
first_name: $("#createDeliveryMan input[name='first_name']").val(),
last_name: $("#createDeliveryMan input[name='last_name']").val(),
phone: $("#createDeliveryMan input[name='phone']").val(),
email: $("#createDeliveryMan input[name='email']").val(),
courier_company: $("#createDeliveryMan input[name='courier_company']").val(),
document: $("#createDeliveryMan input[name='document']").val(),
plate: $("#createDeliveryMan input[name='plate']").val(),
password: $("#createDeliveryMan input[name='password']").val(),
sucursal_id: $("#createDeliveryMan select[name='sucursal_id']").val(),
courier_company_id: $("#createDeliveryMan select[name='courier_company_id']").val(),
};
swal(Lang.get("messagesClient.user_deliveryMan_tag3"), {
buttons: {
cancel: "No",
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
$.ajax({
url: "/deliveryMan/create",
type: "POST",
contentType: "application/json",
headers: {
"X-CSRF-TOKEN": $(
'meta[name="csrf-token"]'
).attr("content"),
"Content-Type": "application/json",
},
data: JSON.stringify(info),
success: function (r) {
if (r.r) {
if (r.id) {
idUser = r.id;
swal(r.m, {
icon: "warning",
buttons: {
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
recoverAccount(idUser);
}
});
} else {
var img = document.getElementById(
"photo"
);
if (img != null) {
saveImageUser(
r.d,
"/user/saveImage"
);
} else {
swal(r.m, {
icon: "success",
buttons: {
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
$(location).attr(
"href",
"/deliveryMan"
);
}
});
}
}
} else {
swal("Error", r.m, "error");
}
},
error: function (e) {
swal(
"Error",
Lang.get(
"messagesClient.user_deliveryMan_tag4"
),
"error"
);
},
});
}
});
}
}
}
});
}
function createAdmin() {
$("#createAdmin").validator("update");
$("#createAdmin")
.validator("update")
.on("submit", function (e) {
if (e.isDefaultPrevented()) {
} else {
e.preventDefault();
if (validatePasswords(true)) {
var info = {
first_name: $("#createAdmin input[name='first_name']").val(),
last_name: $("#createAdmin input[name='last_name']").val(),
phone: $("#createAdmin input[name='phone']").val(),
email: $("#createAdmin input[name='email']").val(),
document: $("#createAdmin input[name='document']").val(),
rol_id: $("#createAdmin select[name='rol_id']").val(),
sucursal_id: $("#createAdmin select[name='sucursal_id']").val(),
password: $("#createAdmin input[name='password']").val(),
tags: $(" #createAdmin select[name='tags']").val(),
};
swal(Lang.get("messagesClient.user_admin_tag1"), {
buttons: {
cancel: "No",
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
$.ajax({
url: "/admins/create",
type: "POST",
contentType: "application/json",
headers: {
"X-CSRF-TOKEN": $(
'meta[name="csrf-token"]'
).attr("content"),
"Content-Type": "application/json",
},
data: JSON.stringify(info),
success: function (r) {
if (r.r) {
swal(r.m, {
icon: "success",
buttons: {
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
$(location).attr(
"href",
"/admins"
);
}
});
} else {
swal("Error", r.m, "error");
}
},
error: function (e) {
swal(
"Error",
"Error al crear usuario",
"error"
);
},
});
}
});
}
}
});
}
// MODAL INFO USUARIO
function clickInfoAdmins(value) {
var info = {
id: value,
};
$.ajax({
url: "admins/info",
type: "POST",
contentType: "application/json",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
"Content-Type": "application/json",
},
data: JSON.stringify(info),
success: function (r) {
$("#first_name").text(r.u.first_name);
if (r.u.last_name != null) {
$("#last_name").text(r.u.last_name);
} else {
$("#last_name").text("");
}
$("#document").text(r.u.document);
$("#email").text(r.u.email);
$("#phone").text(r.u.phone);
$("#created_at").text(r.u.created_at);
$("#sucursal").text(r.i.sucursal_id);
if (r.i.active == 1) {
$("#active").text("Si");
} else {
$("#active").text("No");
}
$("#modal-info-admin").modal();
},
});
}
// MODAL INFO CLIENTE
function clickInfoClient(value) {
var info = {
id: value,
};
$.ajax({
url: "clients/info",
type: "POST",
contentType: "application/json",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
"Content-Type": "application/json",
},
data: JSON.stringify(info),
success: function (r) {
$("#first_name").text(r.first_name);
if (r.last_name != null) {
$("#last_name").text(r.last_name);
} else {
$("#last_name").text("");
}
$("#document").text(r.document);
$("#email").text(r.email);
$("#phone").text(r.phone);
$("#created_at").text(r.created_at);
if (r.active == 1) {
$("#active").text("Si");
} else {
$("#active").text("No");
}
$("#modalInfoClient").modal();
},
});
}
// MODAL INFO MENSAJERO
function clickInfoDeliveryMan(value) {
var info = {
id: value,
};
$.ajax({
url: "deliveryMan/info",
type: "POST",
contentType: "application/json",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
"Content-Type": "application/json",
},
data: JSON.stringify(info),
success: function (r) {
$("#first_name").text(r.u.first_name);
if (r.u.last_name != null) {
$("#last_name").text(r.u.last_name);
} else {
$("#last_name").text("");
}
$("#document").text(r.u.document);
$("#email").text(r.u.email);
$("#phone").text(r.u.phone);
$("#created_at").text(r.u.created_at);
$("#plate").text(r.i.plate);
$("#courier_company_id").text(r.i.courier_company_id);
$("#photo").attr("src", r.img);
if (r.u.active == 1) {
$("#active").text("Si");
} else {
$("#active").text("No");
}
$("#modal-info-deliveryMan").modal();
},
});
}
//editar cliente
function clickEditClient(value) {
_table = $(`#${SELECTOR_PREFIX}`).DataTable();
index = _table.page();
localStorage.setItem("productsTableIndex", index);
$(location).attr("href", "/clients/edit/" + value);
}
function editClient() {
var dir = $("#editClient input[name='direction']").val();
if (dir != "") {
$("#editClient select[name='city_id']").attr("required", true);
} else {
$("#editClient select[name='city_id']").attr("required", false);
}
$("#editClient").validator("update");
$("#editClient")
.validator("update")
.on("submit", function (e) {
if (e.isDefaultPrevented()) {
} else {
e.preventDefault();
if (validatePasswords()) {
var tags = $("#editClient select[name='generalMultiselect']").val();
var info = {
id: $("#btn-edit-client").attr("data-id"),
first_name: $("#editClient input[name='first_name']").val(),
phone: $("#editClient input[name='phone']").val(),
email: $("#editClient input[name='email']").val(),
direction_used: $("#editClient select[name='direction_id']").val(),
document: $("#editClient input[name='document']").val(),
last_name: $("#editClient input[name='last_name']").val(),
password: $("#editClient input[name='password']").val(),
direction: $("#editClient input[name='direction']").val(),
district: $("#editClient input[name='district']").val(),
indications: $("#editClient textarea[name='indications']").val(),
lat: $("#editClient input[name='direction']").attr("data-lat"),
long: $("#editClient input[name='direction']").attr("data-long"),
city_id: $("#editClient select[name='city_id']").val(),
tags: tags,
is_subscriber: $("#editClient input[name='isSubscriber']")[0].checked,
};
swal(Lang.get("messagesClient.user_client_tag5"), {
buttons: {
cancel: "No",
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
$.ajax({
url: "/clients/update",
type: "PUT",
contentType: "application/json",
headers: {
"X-CSRF-TOKEN": $(
'meta[name="csrf-token"]'
).attr("content"),
"Content-Type": "application/json",
},
data: JSON.stringify(info),
success: function (r) {
if (r.r) {
swal(r.m, {
icon: "success",
buttons: {
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
localStorage.setItem(
"setPageTable",
true
);
$(location).attr(
"href",
"/clients"
);
}
});
} else {
swal("Error", r.m, "error");
}
},
error: function (e) {
swal(
"Error",
Lang.get("messagesClient.user_client_tag6"),
"error"
);
},
});
}
});
}
}
});
}
function clickDeleteClient(value) {
swal(Lang.get("messagesClient.user_other_tag6"), {
buttons: {
cancel: "No",
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
var info = {};
$.ajax({
url: "/clients/deleteClient/" + value,
type: "DELETE",
contentType: "application/json",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr(
"content"
),
"Content-Type": "application/json",
},
data: JSON.stringify(info),
success: function (r) {
if (r.r) {
swal(r.m, {
icon: "success",
buttons: {
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
$(location).attr("href", "/clients");
}
});
} else {
swal("Error", Lang.get("messagesClient.user_other_tag2"), "error");
}
},
error: function (r) {
swal("Error", Lang.get("messagesClient.user_other_tag2"), "error");
},
});
}
});
}
//editar mensajero
function clickEditDeliveryMan(value) {
_table = $(`#${SELECTOR_PREFIX}`).DataTable();
index = _table.page();
localStorage.setItem("productsTableIndex", index);
$(location).attr("href", "/deliveryMan/edit/" + value);
}
function editDeliveryMan() {
$("#editDeliveryMan").validator("update");
$("#editDeliveryMan")
.validator("update")
.on("submit", function (e) {
if (e.isDefaultPrevented()) {
} else {
e.preventDefault();
if (validatePasswords()) {
sucursal = $("#editDeliveryMan select[name='sucursal_id']").val();
company = $("#editDeliveryMan select[name='courier_company_id']").val();
if (sucursal == "") {
swal(
"Ok",
Lang.get("messagesClient.user_deliveryMan_tag1"),
"warning"
);
} else if (company == "") {
swal(
"Ok",
Lang.get("messagesClient.user_deliveryMan_tag2"),
"warning"
);
} else {
var info = {
id: $("#btn-edit-deliveryMan").attr("data-id"),
first_name: $("#editDeliveryMan input[name='first_name']").val(),
last_name: $("#editDeliveryMan input[name='last_name']").val(),
phone: $("#editDeliveryMan input[name='phone']").val(),
email: $("#editDeliveryMan input[name='email']").val(),
courier_company: $("#editDeliveryMan input[name='courier_company']").val(),
document: $("#editDeliveryMan input[name='document']").val(),
plate: $("#editDeliveryMan input[name='plate']").val(),
password: $("#editDeliveryMan input[name='password']").val(),
sucursal_id: $("#editDeliveryMan select[name='sucursal_id']").val(),
courier_company_id: $("#editDeliveryMan select[name='courier_company_id']").val(),
};
swal(Lang.get("messagesClient.user_deliveryMan_tag5"), {
buttons: {
cancel: "No",
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
$.ajax({
url: "/deliveryMan/update",
type: "POST",
contentType: "application/json",
headers: {
"X-CSRF-TOKEN": $(
'meta[name="csrf-token"]'
).attr("content"),
"Content-Type": "application/json",
},
data: JSON.stringify(info),
success: function (r) {
if (r.r) {
swal(r.m, {
icon: "success",
buttons: {
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
localStorage.setItem(
"setPageTable",
true
);
$(location).attr(
"href",
"/deliveryMan"
);
}
});
} else {
swal("Error", r.m, "error");
}
},
error: function (e) {
swal(
"Error",
Lang.get(
"messagesClient.user_deliveryMan_tag6"
),
"error"
);
},
});
}
});
}
}
}
});
}
//editar admin
function clickEditAdmins(value) {
_table = $(`#${SELECTOR_PREFIX}`).DataTable();
index = _table.page();
localStorage.setItem("productsTableIndex", index);
$(location).attr("href", "/admins/edit/" + value);
}
function editAdmin() {
$("#editAdmin").validator("update");
$("#editAdmin")
.validator("update")
.on("submit", function (e) {
if (e.isDefaultPrevented()) {
} else {
e.preventDefault();
if (validatePasswords()) {
var info = {
id: $("#btn-edit-user").attr("data-id"),
first_name: $("#editAdmin input[name='first_name']").val(),
last_name: $("#editAdmin input[name='last_name']").val(),
phone: $("#editAdmin input[name='phone']").val(),
email: $("#editAdmin input[name='email']").val(),
document: $("#editAdmin input[name='document']").val(),
rol_id: $("#editAdmin select[name='rol_id']").val(),
sucursal_id: $("#editAdmin select[name='sucursal_id']").val(),
password: $("#editAdmin input[name='password']").val(),
tags: $(" #editAdmin select[name='tags']").val(),
};
swal(Lang.get("messagesClient.user_admin_tag3"), {
buttons: {
cancel: "No",
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
$.ajax({
url: "/admins/update",
type: "POST",
contentType: "application/json",
headers: {
"X-CSRF-TOKEN": $(
'meta[name="csrf-token"]'
).attr("content"),
"Content-Type": "application/json",
},
data: JSON.stringify(info),
success: function (r) {
if (r.r) {
swal(r.m, {
icon: "success",
buttons: {
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
localStorage.setItem(
"setPageTable",
true
);
$(location).attr("href", "/admins");
}
});
} else {
swal("Error", r.m, "error");
}
},
error: function (e) {
swal(
"Error",
Lang.get("messagesClient.user_admin_tag4"),
"error"
);
},
});
}
});
}
}
});
}
function initMap() {
var map = new google.maps.Map(document.getElementById("map"), {
center: {
lat: -34.608444,
lng: -58.3722367,
},
zoom: 15,
});
var geocoder = new google.maps.Geocoder();
document.getElementById("submit").addEventListener("click", function () {
geocodeAddress(geocoder, map);
});
}
function importArchivo() {
var archivo = document.getElementById("archivo");
archivo = archivo.files[0];
if (archivo) {
var formData = new FormData();
formData.append("archivo", archivo);
$.ajax({
type: "POST",
dataType: "json",
processData: false,
contentType: false,
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
},
data: formData,
url: "/Clientes/importar",
success: function (r) {
if (r[0]["respuesta"]) {
swal("Carga realizada con éxito!", {
icon: "success",
buttons: {
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
$(location).attr("href", "/Clientes");
}
});
} else {
swal(
"Error",
"¡Error al ingresar datos por réplica de clientes!",
"error"
);
}
},
});
} else {
swal("Warning", "¡No hay archivo!", "warning");
}
}
function importArchivoMensajeros() {
var archivo = document.getElementById("archivo");
archivo = archivo.files[0];
if (archivo) {
var formData = new FormData();
formData.append("archivo", archivo);
$.ajax({
type: "POST",
dataType: "json",
processData: false,
contentType: false,
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
},
data: formData,
url: "/Mensajeros/importar",
success: function (r) {
if (r[0]["respuesta"]) {
swal("Carga realizada con éxito!", {
icon: "success",
buttons: {
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
$(location).attr("href", "/Mensajeros");
}
});
} else {
swal(
"Error",
"¡Error al ingresar datos por réplica de Mensajeros!",
"error"
);
}
},
});
} else {
swal("Warning", "¡No hay archivo!", "warning");
}
}
/**Activar/Desactivar clientes usando switch*/
function chkClient(value) {
var state;
if ($("#Checkactive" + value).is(":checked")) {
state = true;
} else {
state = false;
}
var info = {
id: value,
state: state,
};
$.ajax({
url: "/clients/active",
type: "POST",
contentType: "application/json",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
"Content-Type": "application/json",
},
data: JSON.stringify(info),
success: function (r) {
if (r.r) {
swal("Ok", "¡Cliente modificado con éxito!");
} else {
swal(
"Error",
Lang.get("messagesClient.user_client_tag6"),
"error"
);
}
},
error: function (e) {
swal("Error", Lang.get("messagesClient.user_client_tag6"), "error");
},
});
}
/**Activar/Desactivar mensajeros usando switch*/
function chkDeliveryMan(value) {
var state;
if ($("#Checkactive" + value).is(":checked")) {
state = true;
} else {
state = false;
}
var info = {
id: value,
state: state,
};
$.ajax({
url: "/deliveryMan/active",
type: "POST",
contentType: "application/json",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
"Content-Type": "application/json",
},
data: JSON.stringify(info),
success: function (r) {
if (r.r) {
swal("Ok", r.m);
} else {
swal(
"Error",
Lang.get("messagesClient.user_deliveryMan_tag6"),
"error"
);
}
},
error: function (e) {
swal(
"Error",
Lang.get("messagesClient.user_deliveryMan_tag6"),
"error"
);
},
});
}
function chkOnlineDelivery(value) {
var state;
if ($("#Checkonline" + value).is(":checked")) {
state = true;
} else {
state = false;
}
var info = {
id: value,
state: state,
};
$.ajax({
url: "/deliveryMan/online",
type: "POST",
contentType: "application/json",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
"Content-Type": "application/json",
},
data: JSON.stringify(info),
success: function (r) {
if (r.r) {
swal("Ok", r.m);
} else {
swal(
"Error",
Lang.get("messagesClient.user_deliveryMan_tag6"),
"error"
);
}
},
error: function (e) {
swal(
"Error",
Lang.get("messagesClient.user_deliveryMan_tag6"),
"error"
);
},
});
}
/**Activar/Desactivar administrador usando switch*/
function chkAdmins(value) {
var state;
if ($("#Checkactive" + value).is(":checked")) {
state = true;
} else {
state = false;
}
var info = {
id: value,
state: state,
};
$.ajax({
url: "/admins/active",
type: "POST",
contentType: "application/json",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
"Content-Type": "application/json",
},
data: JSON.stringify(info),
success: function (r) {
if (r.r) {
swal("Ok", r.m);
} else {
swal(
"Error",
Lang.get("messagesClient.user_admin_tag4"),
"error"
);
}
},
});
}
/**Método para eliminar admin desde la tabla de admins y en editar */
function clickDeleteAdmins(value) {
swal(Lang.get("messagesClient.user_admin_tag5"), {
buttons: {
cancel: "No",
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
var info = {
id: value,
};
$.ajax({
url: "/admins/delete",
type: "POST",
contentType: "application/json",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr(
"content"
),
"Content-Type": "application/json",
},
data: JSON.stringify(info),
success: function (r) {
if (r.r) {
swal(r.m, {
icon: "success",
buttons: {
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
$(location).attr("href", "/admins");
}
});
} else {
swal(
"Ok",
Lang.get("messagesClient.user_admin_tag6"),
"error"
);
}
},
error: function (e) {
swal(
"Ok",
Lang.get("messagesClient.user_admin_tag6"),
"error"
);
},
});
}
});
}
/**Método para eliminar mensajero desde la tabla de admins y en editar */
function clickDeleteDeliveryMan(value) {
swal(Lang.get("messagesClient.user_deliveryMan_tag8"), {
buttons: {
cancel: "No",
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
var info = {
id: value,
};
$.ajax({
url: "/deliveryMan/delete",
type: "POST",
contentType: "application/json",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr(
"content"
),
"Content-Type": "application/json",
},
data: JSON.stringify(info),
success: function (r) {
if (r.r) {
swal(r.m, {
icon: "success",
buttons: {
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
$(location).attr("href", "/deliveryMan");
}
});
} else {
swal(
"Error",
Lang.get("messagesClient.user_deliveryMan_tag8"),
"error"
);
}
},
error: function (r) {
swal(
"Error",
Lang.get("messagesClient.user_deliveryMan_tag8"),
"error"
);
},
});
}
});
}
/**Activar/Desactivar sesion multiple de mensajeros usando switch*/
function chkMSDeliveryMan(value) {
var state;
if ($("#CheckMS" + value).is(":checked")) {
state = 1;
} else {
state = 0;
}
var info = {
id: value,
state: state,
};
$.ajax({
url: "/deliveryMan/multipleSession",
type: "POST",
contentType: "application/json",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
"Content-Type": "application/json",
},
data: JSON.stringify(info),
success: function (r) {
if (r.r) {
swal("Ok", r.m);
} else {
swal(
"Error",
Lang.get("messagesClient.user_deliveryMan_tag7"),
"error"
);
}
},
error: function (e) {
swal(
"Error",
Lang.get("messagesClient.user_deliveryMan_tag7"),
"error"
);
},
});
}
function createDirectionSucursal() {
var type = $("#select_type_order option:selected").val();
if (type && type == 1) {
//obtener valores modal
var lat = $("#pac-input").attr("data-lat");
var long = $("#pac-input").attr("data-long");
var instru = $("#indications-modal").val();
var district = $("#district-modal").val();
var valor = $("#pac-input").val();
//set valores vista
$("#direction").val(valor);
$("#direction").attr("data-id", "");
$("#direction").attr("data-lat", lat);
$("#direction").attr("data-long", long);
$("#indications").val(instru);
$("#district").val(district);
$("#modal_register_direction").css("display", "none");
$(".modal-backdrop").attr("class", "modal fade");
document.documentElement.style.overflow = "scroll";
if (lat && long) {
// calculoCobertura(lat, long);
} else {
swal("Advertencia", "¡Dirección incorrecta!", "warning");
}
} else if (type && type == 5) {
//obtener valores modal
var lat = $("#pac-input").attr("data-lat");
var long = $("#pac-input").attr("data-long");
var instru = $("#indications-modal").val();
var district = $("#district-modal").val();
var valor = $("#pac-input").val();
//set valores vista
$("#address_id").append(
$("<option>", {
value: 0,
text: valor,
})
);
$("#address_id").attr("ec-data-id", "");
$("#address_id").attr("ec-data-direction", valor);
$("#address_id").attr("ec-data-lat", lat);
$("#address_id").attr("ec-data-long", long);
$("#address_id").attr("ec-data-district", district);
$("#address_id").attr("ec-data-instru", instru);
$("#modal_register_direction").css("display", "none");
$(".modal-backdrop").attr("class", "modal fade");
document.documentElement.style.overflow = "scroll";
$("#address_id").val(0).change();
if (lat && long) {
// calculoCobertura(lat, long);
} else {
swal("Advertencia", "¡Dirección incorrecta!", "warning");
}
} else {
//obtener valores modal
var lat = $("#pac-input").attr("data-lat");
var long = $("#pac-input").attr("data-long");
var instru = $("#indications-modal").val();
var district = $("#district-modal").val();
var valor = $("#pac-input").val();
//set valores vista
$("#direction").val(valor);
$("#direction").attr("data-id", "");
$("#direction").attr("data-lat", lat);
$("#direction").attr("data-long", long);
$("#indications").val(instru);
$("#district").val(district);
$("#modal_register_direction").css("display", "none");
$(".modal-backdrop").attr("class", "modal fade");
document.documentElement.style.overflow = "scroll";
if (lat && long) {
// calculoCobertura(lat, long);
} else {
swal("Advertencia", "¡Dirección incorrecta!", "warning");
}
}
}
function recoverAccount(id) {
var info = {
id: id,
};
$.ajax({
url: "/deliveryMan/recover",
type: "PUT",
contentType: "application/json",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
"Content-Type": "application/json",
},
data: JSON.stringify(info),
success: function (r) {
if (r.r) {
swal(r.m, {
icon: "success",
buttons: {
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
clickEditDeliveryMan(r.id);
}
});
} else {
swal("Error", r.m, "error");
}
},
error: function (e) {
swal(
"Error",
Lang.get("messagesClient.user_deliveryMan_tag9"),
"error"
);
},
});
}
function saveImageUser(id, ruta) {
var fImage = document.getElementById("photo");
fImage = fImage.files[0];
if (fImage) {
var formData = new FormData();
formData.append("id", id);
formData.append("photo", fImage);
$.ajax({
type: "POST",
dataType: "json",
processData: false,
contentType: false,
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
},
data: formData,
url: ruta,
success: function (r) {
if (r.r) {
swal(r.m, {
icon: "success",
buttons: {
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
if (ruta == "/user/saveImage") {
$(location).attr("href", "/deliveryMan");
} else {
$("#photo").attr("src", r.file);
}
}
});
} else {
swal("Error", "¡Error al guardar imagen!", "error");
$("#btn-create-user").prop("disabled", false);
}
},
error: function (e) {
swal("Error", "¡Error al guardar imagen!", "error");
$("#btn-create-user").prop("disabled", false);
},
});
} else {
swal("Ok", "Mensajero creado", {
icon: "success",
buttons: {
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
$(location).attr("href", "/deliveryMan");
}
});
}
}
function importSubscribers() {
var archivo = document.getElementById("archivo");
archivo = archivo.files[0];
if (!archivo) {
swal("Advertencia", "¡No hay archivo!", "warning");
return;
}
var t = $("#example22").DataTable();
t.clear().draw();
$("#button-import-subscribers").addClass("displayNone");
$("#spinnerButtonSubscribers").removeClass("displayNone");
var formData = new FormData();
formData.append("archivo", archivo);
$.ajax({
type: "POST",
dataType: "json",
processData: false,
contentType: false,
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
},
data: formData,
url: "/clients/importSubscribers",
success: function (r) {
$("#button-import-subscribers").removeClass("displayNone");
$("#spinnerButtonSubscribers").addClass("displayNone");
if (r.r) {
if (r.d != null && r.d.length > 0) {
for (var i = 0; i < r.d.length; i++) {
t.row.add([
r.d[i].message,
r.d[i].line,
]);
}
$('#logModal').modal("show");
t.draw();
} else {
swal(r.m, {
icon: "success",
buttons: {
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
$(location).attr("href", "/preSubscribers");
}
});
}
} else {
swal("Error", r.m, "error");
}
},
error: function (e) {
$("#button-import-subscribers").removeClass("displayNone");
$("#spinnerButtonSubscribers").addClass("displayNone");
swal("Error", e.responseJSON.message, "error");
}
});
}
function generateSubscribersCredit() {
swal(Lang.get("messagesClient.user_admin_tag7"), {
buttons: {
cancel: "No",
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
$.ajax({
url: "/preSubscribers/generateAbonosCredit",
type: "GET",
contentType: "application/json",
headers: {
"X-CSRF-TOKEN": $(
'meta[name="csrf-token"]'
).attr("content"),
"Content-Type": "application/json",
},
data: null,
success: function (r) {
let msj = "";
if (r.r) {
// if (r.data.length) {
// msj = "A excepción de los siguientes documentos que no cuenta con un usuario: \n \n" + r.data.join("-");
// }
swal(r.m, {
icon: "success",
buttons: {
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
$(location).attr("href", "/preSubscribers");
}
});
} else {
if (r.data) {
if (r.data.length) {
msj = "Listado de documentos o correos: \n \n" + r.data.join(" - ");
}
}
if (r.dataseat) {
if (r.dataseat.length) {
msj = "Listado de sillas: \n \n" + r.dataseat.join("-");
}
}
swal("Alerta", r.m + "\n \n" + msj, "warning");
}
},
error: function (e) {
swal(
"Error",
Lang.get("messagesClient.user_admin_tag8"),
"error"
);
},
});
}
});
}
function generateSubscribersRandom() {
swal("Generar abono de un solo partido", {
buttons: {
cancel: "No",
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
$.ajax({
url: "/preSubscribers/generateSubscribersRandom",
type: "GET",
contentType: "application/json",
headers: {
"X-CSRF-TOKEN": $(
'meta[name="csrf-token"]'
).attr("content"),
"Content-Type": "application/json",
},
data: null,
success: function (r) {
if (r.r) {
let msj = "";
if (r.data.length) {
msj = "A excepción de los siguientes documentos que no cuenta con un usuario: \n \n" + r.data.join("-");
}
swal(r.m + "\n \n" + msj, {
icon: "success",
buttons: {
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
$(location).attr("href", "/preSubscribers");
}
});
} else {
swal("Alerta", r.m, "warning");
}
},
error: function (e) {
swal(
"Error",
Lang.get("messagesClient.user_admin_tag8"),
"error"
);
},
});
}
});
}
function deleteSubscribers() {
swal("¿Eliminar todos los registros de abonados?", {
buttons: {
cancel: "No",
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
$.ajax({
url: "/preSubscribers/deleteSubscribers",
type: "GET",
contentType: "application/json",
headers: {
"X-CSRF-TOKEN": $(
'meta[name="csrf-token"]'
).attr("content"),
"Content-Type": "application/json",
},
data: null,
success: function (r) {
if (r.r) {
swal(r.m, {
icon: "success",
buttons: {
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
$(location).attr("href", "/preSubscribers");
}
});
} else {
swal("Alerta", r.m, "warning");
}
},
error: function (e) {
swal(
"Error",
Lang.get("messagesClient.user_admin_tag8"),
"error"
);
},
});
}
});
}
function alertLogSubscribers() {
swal(Lang.get("messagesClient.user_subscribers.title_1"), {
icon: "error",
buttons: {
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
$(location).attr("href", "/preSubscribers");
}
});
}
function clickExportClients() {
$('#loading').show();
const validateDownloadUrl = document.location.origin + "/clients/validateExport";
const downloadUrl = document.location.origin + "/clients/export/";
let data = {
check: localRetrieve(`${SELECTOR_PREFIX}_check`),
from_date: localRetrieve(`${SELECTOR_PREFIX}_clientsfilterFromDate`),
to_date: localRetrieve(`${SELECTOR_PREFIX}_clientsfilterToDate`),
last_entry_from_date: localRetrieve(`${SELECTOR_PREFIX}_filterLastFromDate`),
last_entry_to_date: localRetrieve(`${SELECTOR_PREFIX}_filterLastToDate`),
status: localRetrieve(`${SELECTOR_PREFIX}_filterStatus`)
};
$.ajax({
type: "POST",
dataType: "json",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
},
data: data,
url: validateDownloadUrl,
success: function (response) {
$('#loading').hide();
if (response.success) {
window.location.assign(downloadUrl + response.data);
} else {
swal("Error", response.message, "error");
}
},
error: function (response) {
$('#loading').hide();
swal("Error", response.responseJSON ? response.responseJSON.message : 'Hubo un error en el servidor, espere unos segundos e intente de nuevo', "error");
}
});
}
function importClientsSegmentation() {
var archivo = document.getElementById("archivoSegmentation");
archivo = archivo.files[0];
if (!archivo) {
swal("Advertencia", "¡No hay archivo!", "warning");
return;
}
var t = $("#example22").DataTable();
t.clear().draw();
$("#buttonImport").addClass("displayNone");
$("#spinnerImport").removeClass("displayNone");
var formData = new FormData();
formData.append("archivo", archivo);
$.ajax({
type: "POST",
dataType: "json",
processData: false,
contentType: false,
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
},
data: formData,
url: "/clients/importSegmentation",
success: function (r) {
$("#buttonImport").removeClass("displayNone");
$("#spinnerImport").addClass("displayNone");
if (r.r) {
if (r.d != null && r.d.length > 0) {
for (var i = 0; i < r.d.length; i++) {
t.row.add([
r.d[i].message,
r.d[i].line,
]);
}
$('#modalImportClients').modal("hide");
$('#logModal').modal("show");
t.draw();
} else {
swal(r.m, {
icon: "success",
buttons: {
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
$(location).attr("href", "/clients");
}
});
}
} else {
swal("Error", r.m, "error");
}
},
error: function (err) {
$("#buttonImport").removeClass("displayNone");
$("#spinnerImport").addClass("displayNone");
swal("Error", err.responseJSON.message, "error");
},
});
}
function importClients() {
var archivo = document.getElementById("file");
archivo = archivo.files[0];
if (!archivo) {
swal("Advertencia", "¡No hay archivo!", "warning");
return;
}
var t = $("#example22").DataTable();
t.clear().draw();
$("#buttonImport").addClass("displayNone");
$("#spinnerImport").removeClass("displayNone");
var formData = new FormData();
formData.append("archivo", archivo);
$.ajax({
type: "POST",
dataType: "json",
processData: false,
contentType: false,
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
},
data: formData,
url: "/clients/import",
success: function (r) {
$("#buttonImport").removeClass("displayNone");
$("#spinnerImport").addClass("displayNone");
if (r.r) {
if (r.d != null && r.d.length > 0) {
for (var i = 0; i < r.d.length; i++) {
t.row.add([
r.d[i].message,
r.d[i].line,
]);
}
$('#modalImportClients').modal("hide");
$('#logModal').modal("show");
t.draw();
} else {
swal(r.m, {
icon: "success",
buttons: {
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
$(location).attr("href", "/clients");
}
});
}
} else {
swal("Error", r.m, "error");
}
},
error: function (err) {
$("#buttonImport").removeClass("displayNone");
$("#spinnerImport").addClass("displayNone");
swal("Error", err.responseJSON.message, "error");
},
});
}
function alertLogClients() {
$(location).attr("href", "/clients");
}
function clickDeletePreSubscriber(value) {
swal(Lang.get("messagesClient.user_subscribers.msj_tag1"), {
buttons: {
cancel: "No",
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
var info = {};
$.ajax({
url: "/preSubscribers/delete/" + value,
type: "DELETE",
contentType: "application/json",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr(
"content"
),
"Content-Type": "application/json",
},
data: JSON.stringify(info),
success: function (r) {
if (r.r) {
swal(r.m, {
icon: "success",
buttons: {
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
$(location).attr("href", "/preSubscribers");
}
});
} else {
swal("Error", Lang.get("messagesClient.user_subscribers.msj_tag2"), "error");
}
},
error: function (r) {
swal("Error", Lang.get("messagesClient.user_subscribers.msj_tag2"), "error");
},
});
}
});
}
function loadCards(id, first_name, last_name, documentNumber, documentType, idCards, userPhoto) {
var cards = getCardsInfo(idCards);
if (id && cards.length) {
var carnet = cards[0];
$('#modal_carnet').modal('show');
if (carnet.html) {
showUserCarnetFromHtml(carnet, id, first_name, last_name, documentNumber, documentType, userPhoto);
return;
}
var canvas = document.getElementById("canvasCarnet");
canvas.setAttribute('identification', documentNumber);
canvas.style.display = "block";
setTimeout(() => {
var ctx = canvas.getContext('2d');
var background = new Image();
background.crossOrigin = "*";
background.src = carnet["url"] + "?v=" + new Date().getTime();
// Asegúrese de que la imagen se cargue primero, de lo contrario, no se dibujará nada.
background.onload = function () {
ctx.drawImage(background, 0, 0);
}
var user = `${first_name} ${last_name}`;
var cardName = carnet['name'];
var optionalField = carnet['optional'] ? carnet['optional'] : '';
var font_type = carnet['font_type'];
var font_color = carnet['font_color'];
let identification = (documentType ? ((documentType == 'ID' ? 'CC' : documentType) + ': ' + documentNumber) : (documentNumber ? 'CC: ' + documentNumber : documentNumber)).toUpperCase();
user = user.toUpperCase();
cardName = cardName.toUpperCase();
let qrData = {
'u': id,
'c': carnet['id']
};
var qr = new Image();
qr.src = String(generate(JSON.stringify(qrData)));
background.onload = () => {
canvas.height = canvas.width * (background.height / background.width);
ctx.drawImage(background, 0, 0, canvas.width, canvas.height);
ctx.beginPath();
if (!font_color) {
ctx.fillStyle = 'white';
} else {
ctx.fillStyle = font_color;
}
if (!font_type) {
ctx.font = "bold 20px Arial black";
} else {
let font = 'bold 20px ' + font_type;
ctx.font = font;
}
ctx.textAlign = 'left';
let nameSplit = user.split(' ');
if (nameSplit.length > 3) {
ctx.fillText(nameSplit[0] + ' ' + nameSplit[1], 20, 160);
ctx.fillText(nameSplit[2] + ' ' + nameSplit[3], 20, 180);
} else {
ctx.fillText(user.length > 23 ? user.substring(0, 22) + '...' : user, 20, 180);
}
if (!font_type) {
ctx.font = 'bold 14px Arial';
} else {
let cardNameFont = '14px ' + font_type;
ctx.font = cardNameFont;
}
ctx.fillText(cardName.length > 30 ? cardName.substring(0, 29) + '...' : cardName, 20, 200);
ctx.fillText(identification, canvas.width / 4, 230);
if (optionalField) ctx.fillText(optionalField.length > 30 ? optionalField.substring(0, 29) + '...' : optionalField, canvas.width / 4, 290);
if (!font_color) {
ctx.fillStyle = '#edd549';
} else {
ctx.fillStyle = font_color;
}
ctx.fillText('> ', (canvas.width / 4) - 20, 230);
if (optionalField) ctx.fillText('✔ ', (canvas.width / 4) - 20, 290);
var someimage = window.document.getElementById('qr');
for (var i = 0; i < someimage.getElementsByTagName('img').length; i++) {
var myimg = someimage.getElementsByTagName('img')[i];
}
ctx.fillStyle = "#FFFFFF";
ctx.fillRect(canvas.width - 105, canvas.height - 165, 90, 90); // something in the background
ctx.drawImage(myimg, canvas.width - 100, canvas.height - 160, 80, 80);
myimg.onload = function () {
ctx.drawImage(myimg, canvas.width - 100, canvas.height - 160, 80, 80);
}
ctx.closePath();
};
}, 200);
} else {
document.getElementById("alertModal").style.display = "block";
}
}
function showUserCarnetFromHtml(carnet, user_id, first_name, last_name, identification, documentType, userPhoto) {
$("#canvas-container").html(carnet.html);
$("#athlete_names").html(first_name);
$("#athlete_last_names").html(last_name);
$("#identification").html(documentType + ' ' + identification);
if ($("#user-photo") && userPhoto) {
$("#user-photo").attr('src', userPhoto + '?_dc=' + new Date().getTime());
}
let qrData = {
'u': user_id,
'c': carnet['id']
};
generate(JSON.stringify(qrData));
setTimeout(() => {
const container = document.getElementById("qr");
const canvas = container.querySelector("canvas");
if (canvas) {
const base64 = canvas.toDataURL("image/png");
$('#qr-code').attr('src', base64);
} else {
const img = container.querySelector("img");
if (img) {
const base64 = img.src;
$('#qr-code').attr('src', base64);
}
}
}, 100);
}
function getCardsInfo(idCards) {
var data;
$.ajax({
type: "GET",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
},
url: "/carnet/getCarnets/" + idCards,
data: null,
async: false,
success: function (r) {
if (r.r) {
data = r.d;
} else {
swal("Error", r.m, "error");
}
},
error: function (textStatus, errorThrown) {
document.getElementById("btn-canvacarne").style.display = "none";
swal("Error", Lang.get("messagesClient.carnet.if_exists"), "error");
},
});
return data;
}
function generate(user_input) {
document.getElementById("qr").innerHTML = "";
var qrcode = new QRCode(document.getElementById("qr"), {
text: `${user_input}`,
width: 170, //default 128
height: 170,
colorDark: "#000000",
colorLight: "#ffffff",
correctLevel: QRCode.CorrectLevel.H
});
return qrcode;
}
function clearQr() {
var bandera = false;
$('#modal_carnet').on('hide.bs.modal', function (event) {
var canvasQr = window.document.getElementById("qr");
var seeCanvas = canvasQr.getElementsByTagName('canvas')
if (bandera == false) {
for (let i = 0; i < canvasQr.getElementsByTagName('canvas').length; i++) {
var ctx = seeCanvas[i].getContext('2d');
ctx.clearRect(0, 0, seeCanvas[i].width, seeCanvas[i].height);
}
bandera = true;
}
});
}
function canvasDownloadCard() {
var canvas = document.getElementById("canvasCarnet");
if (canvas) {
imageData = canvas.toDataURL("image/png", 1.0).replace("image/png", "image/octet-stream");
downloadImage(imageData, 'carnet-' + canvas.getAttribute('identification') + '.png');
} else {
const element = document.getElementById("previewDiv");
html2canvas(element).then(canvas => {
const link = document.createElement("a");
link.download = "carnet.png";
link.href = canvas.toDataURL("image/png");
link.click();
});
}
}
// The standard ID-1 or CR80 ID card
async function canvasDownloadCardForPrint() {
var canvas = document.getElementById("canvasCarnet");
if (!canvas) {
const element = document.getElementById("previewDiv");
canvas = await html2canvas(element)
}
context = canvas.getContext('2d');
var backCanvas = document.createElement('canvas');
backCanvas.width = 1012;
backCanvas.height = 638;
var backCtx = backCanvas.getContext('2d');
// save main canvas contents
backCtx.drawImage(canvas, 0, 0, 1012, 638);
imageData = backCanvas.toDataURL("image/png", 1.0).replace("image/png", "image/octet-stream");
convertDPIImage(imageData, 'carnet-' + canvas.getAttribute('identification') + '.jpg');
}
// Save | Download image
function downloadImage(imageData, filename = 'untitled.jpeg') {
var a = document.createElement('a');
a.download = filename;
a.href = imageData;
a.click();
}
function convertDPIImage(imageData, filename = 'untitled.jpeg') {
var formData = new FormData();
formData.append("image", imageData);
$.ajax({
type: "POST",
dataType: "json",
processData: false,
contentType: false,
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
},
data: formData,
url: "/carnet/convertDPIImage",
success: function (r) {
if (r.r) {
downloadImage(r.d, filename);
} else {
swal("Error", r.m, "error");
}
},
error: function (e) {
swal("Error", "¡Error al descargar el carné!", "error");
},
});
}