File: /var/www/vhost/disk-apps/sigedo-dev.allup.com.co/resources/js/views/users.js
$(document).ready(function() {
function getData(val_password) {
var name = document.getElementById("name").value;
var last_name = document.getElementById("last_name").value;
var email = document.getElementById("email").value;
var password = document.getElementById("password").value;
var phone = document.getElementById("phone").value;
var document_type_id = document.getElementById("document_type_id").value;
var document_user = document.getElementById("document").value;
var gender_id = document.getElementById("gender_id").value;
var birthdate = document.getElementById("birthdate").value;
if (!name || name == "") {
Swal.fire({
type: "error",
title: "Oops...",
text: Lang.get("fronjs.name_required"),
});
return;
}
if (!last_name || last_name == "") {
Swal.fire({
type: "error",
title: "Oops...",
text: Lang.get("fronjs.last_name_required"),
});
return;
}
if (!email || email == "") {
Swal.fire({
type: "error",
title: "Oops...",
text: Lang.get("fronjs.email_required"),
});
return;
}
if ((val_password && !password) || (val_password && password == "")) {
Swal.fire({
type: "error",
title: "Oops...",
text: Lang.get("fronjs.password_required"),
});
return;
}
if (!phone || phone == "") {
Swal.fire({
type: "error",
title: "Oops...",
text: Lang.get("fronjs.phone_required"),
});
return;
}
if (!document_type_id || document_type_id == 0) {
Swal.fire({
type: "error",
title: "Oops...",
text: Lang.get("fronjs.document_type_required"),
});
return;
}
if (!document_user || document_user == "") {
Swal.fire({
type: "error",
title: "Oops...",
text: Lang.get("fronjs.document_user_required"),
});
return;
}
if (!gender_id || gender_id == 0) {
Swal.fire({
type: "error",
title: "Oops...",
text: Lang.get("fronjs.gender_required"),
});
return;
}
if (!birthdate || birthdate == "") {
Swal.fire({
type: "error",
title: "Oops...",
text: Lang.get("fronjs.birthdate_required"),
});
return;
}
var user_roles = [];
if (
$("#user_roles").val() &&
document.getElementById("start_date_validity") &&
document.getElementById("end_date_validity")
) {
user_roles.push($("#user_roles").val());
var start_date_validity = document.getElementById("start_date_validity")
.value;
var end_date_validity = document.getElementById("end_date_validity")
.value;
var active =
document.getElementById("active").value == "true" ? true : false;
if (!user_roles || user_roles.length == 0) {
Swal.fire({
type: "error",
title: "Oops...",
text: Lang.get("fronjs.roles_required"),
});
return;
}
}
var data = {
user_roles,
name,
last_name,
email,
phone,
document_type_id,
document: document_user,
gender_id,
birthdate,
};
if (user_roles.length) {
data.start_date_validity = start_date_validity;
data.end_date_validity = end_date_validity;
data.active = active;
}
if (val_password) {
data.password = password;
} else if (!val_password && password && password != "") {
data.password = password;
}
return data;
}
$("#button_create").on("click", function(e) {
e.preventDefault();
if ((data = getData(true))) {
Swal.fire({
title: Lang.get("fronjs.title_create"),
text: Lang.get("fronjs.text_create"),
type: "warning",
showCancelButton: true,
confirmButtonColor: "#3085d6",
cancelButtonColor: "#d33",
confirmButtonText: Lang.get("fronjs.yes"),
cancelButtonText: Lang.get("fronjs.not"),
}).then((result) => {
if (result.value) {
var laddaBtn = e.currentTarget;
var ladda = Ladda.create(laddaBtn);
ladda.start();
$.ajax({
url: "/users",
type: "POST",
dataType: "json",
contentType: "application/json",
data: JSON.stringify(data),
success: function(response) {
if (response.status) {
ladda.stop();
Swal.fire({
type: response.type,
title: response.title,
text: response.message,
showConfirmButton: true,
}).then((val) => {
$(location).attr("href", "/users");
});
} else {
ladda.stop();
Swal.fire({
type: response.type,
title: response.title,
text: response.message,
});
}
},
});
}
});
}
});
$("#button_update").on("click", function(e) {
e.preventDefault();
var data = getData(false);
if (data) {
var user_id = $("#form_edit").attr("user_id");
const newData = Object.assign(
{ _method: $("input[name=_method]").val() },
data
);
Swal.fire({
title: Lang.get("fronjs.title_update"),
text: Lang.get("fronjs.text_update"),
type: "warning",
showCancelButton: true,
confirmButtonColor: "#3085d6",
cancelButtonColor: "#d33",
confirmButtonText: Lang.get("fronjs.yes"),
cancelButtonText: Lang.get("fronjs.not"),
}).then((result) => {
if (result.value) {
var laddaBtn = e.currentTarget;
var ladda = Ladda.create(laddaBtn);
ladda.start();
$.ajax({
url: "/users/" + user_id,
type: "POST",
dataType: "json",
contentType: "application/json",
data: JSON.stringify(newData),
success: function(response) {
if (response.status) {
ladda.stop();
Swal.fire({
type: response.type,
title: response.title,
text: response.message,
showConfirmButton: true,
}).then((val) => {
$(location).attr("href", "/users");
});
} else {
ladda.stop();
Swal.fire({
type: response.type,
title: response.title,
text: response.message,
});
}
},
});
}
});
}
});
$("#import_template").on("click", function(e) {
e.preventDefault();
var fExcel = document.getElementById("template_users");
fExcel = fExcel.files[0];
if (fExcel) {
var formData = new FormData();
formData.append("template_users", fExcel);
var laddaBtn = e.currentTarget;
var ladda = Ladda.create(laddaBtn);
ladda.start();
$.ajax({
type: "POST",
dataType: "json",
processData: false,
contentType: false,
data: formData,
url: "/import/template/users",
success: function(response) {
if (response.status) {
ladda.stop();
Swal.fire({
type: response.type,
title: response.title,
text: response.message,
showConfirmButton: true,
}).then((val) => {
$(location).attr("href", "/users");
});
} else {
ladda.stop();
Swal.fire({
type: response.type,
title: response.title,
text: response.message,
});
}
},
});
} else {
Swal.fire({
type: "warning",
title: Lang.get("fronjs.not_file_title"),
text: Lang.get("fronjs.not_file_text"),
});
}
});
});
window.deleteRegistry = function(user_id) {
var data = {
_method: "DELETE",
};
Swal.fire({
title: Lang.get("fronjs.title_delete"),
type: "warning",
showCancelButton: true,
confirmButtonColor: "#3085d6",
cancelButtonColor: "#d33",
confirmButtonText: Lang.get("fronjs.yes"),
cancelButtonText: Lang.get("fronjs.not"),
showLoaderOnConfirm: true,
allowOutsideClick: false,
allowEscapeKey: false,
preConfirm: (login) => {
return new Promise((resolve, reject) => {
$.ajax({
url: "/users/" + user_id,
type: "POST",
dataType: "json",
contentType: "application/json",
data: JSON.stringify(data),
success: function(response) {
if (response.status) {
Swal.fire({
type: response.type,
title: response.title,
text: response.message,
showConfirmButton: true,
}).then((val) => {
$(location).attr("href", "/users");
});
} else {
Swal.fire({
type: response.type,
title: response.title,
text: response.message,
});
}
},
});
});
},
}).then((result) => {
console.log(result);
});
};