File: /var/www/vhost/disk-apps/sigedo-qas.allup.com.co/resources/js/views/userdocuments.js
$(document).ready(function() {
$("#filetype_id").change(function() {
document.getElementById("expedition_date").value = "";
document.getElementById("expiration_date").value = "";
});
$("#already_exists").change(function() {
if (this.checked) {
$("#container_document_upload").removeClass("displayNone");
$(".select2").select2();
} else {
$("#container_document_upload").addClass("displayNone");
}
});
$("#filestatus_id").change(function() {
$("#container_commitment").addClass("displayNone");
if (this.value == "4") {
$("#container_commitment").removeClass("displayNone");
}
});
$("#expedition_date").change(function() {
var start = this.value;
var term = $("#filetype_id")
.find("option:selected")
.attr("term");
if (start && start != "" && term) {
start = start.split("-");
var d = new Date(parseInt(start[0]), parseInt(start[1]) - 1, parseInt(start[2]));
var year = d.getFullYear();
var month = d.getMonth();
var day = d.getDate();
var fulldate = new Date(year, month, day + parseInt(term));
var toDate = fulldate.toISOString().slice(0, 10);
document.getElementById("expiration_date").value = toDate;
}
});
var route = window.location.href;
route = route.split("/");
if (route[3] == "userdocuments" && route[5] == "documents" && route[7] == "edit") {
$("#expedition_date").change();
$("#filestatus_id").change();
}
$("#filepath").change(function() {
var file = $("#filepath")[0].files[0].name;
$("label[for='filepath']").text(file);
});
function getData() {
var filetype_id = document.getElementById("filetype_id").value;
var expedition_date = document.getElementById("expedition_date").value;
var expiration_date = document.getElementById("expiration_date").value;
var document_upload_id = document.getElementById("document_upload_id").value;
var already_exists = $("#already_exists").is(":checked");
if (!filetype_id || filetype_id == 0) {
Swal.fire({
type: "error",
title: "Oops...",
text: Lang.get("fronjs.filetype_required"),
});
return;
}
if (!expedition_date || expedition_date == "") {
Swal.fire({
type: "error",
title: "Oops...",
text: Lang.get("fronjs.expedition_date_required"),
});
return;
}
if (already_exists) {
if (!document_upload_id || document_upload_id == 0) {
Swal.fire({
type: "error",
title: "Oops...",
text: Lang.get("fronjs.document_upload_required"),
});
return;
}
}
var file = document.getElementById("filepath");
file = file.files[0];
if (file) {
var maximum_file_size = $("#filepath").attr("maximum_file_size");
var size = file.size / 1024 / 1024;
size = size.toFixed(2);
if (parseInt(size) > parseInt(maximum_file_size)) {
Swal.fire({
type: "error",
title: "Oops...",
text: Lang.get("fronjs.maximum_file_size", {
size: maximum_file_size + "Mb",
}),
});
return;
}
}
if ($("#filestatus_id").val()) {
var filestatus_id = $("#filestatus_id").val();
var observations = document.getElementById("observations").value != "" ? document.getElementById("observations").value : null;
var commitment_date = document.getElementById("commitment_date").value;
if ($("#filestatus_id").val() == "4" && commitment_date == "") {
Swal.fire({
type: "error",
title: "Oops...",
text: Lang.get("fronjs.commitment_date_required"),
});
return;
}
} else {
var filestatus_id = null;
var observations = null;
var commitment_date = null;
}
var data = {
already_exists,
document_upload_id,
filestatus_id,
observations,
filetype_id,
expedition_date,
expiration_date: expiration_date != "" ? expiration_date : null,
commitment_date,
};
return data;
}
$("#button_create").on("click", function(e) {
e.preventDefault();
if ((info = getData())) {
var user_id = $("#form_create").attr("user_id");
info.user_id = user_id;
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: "/userdocuments/" + user_id + "/documents",
type: "POST",
dataType: "json",
contentType: "application/json",
data: JSON.stringify(info),
success: function(response) {
if (response.status) {
var file = document.getElementById("filepath");
file = file.files[0];
if (file && !info.already_exists) {
uploadFile(user_id, response.data);
} else {
ladda.stop();
Swal.fire({
type: response.type,
title: response.title,
text: response.message,
showConfirmButton: true,
}).then((val) => {
$(location).attr("href", "/userdocuments/" + user_id + "/documents");
});
}
} else {
ladda.stop();
Swal.fire({
type: response.type,
title: response.title,
text: response.message,
});
}
},
});
}
});
}
});
$("#button_update").on("click", function(e) {
e.preventDefault();
var info = getData();
if (info) {
var user_id = $("#form_edit").attr("user_id");
info.user_id = user_id;
var userdocument_id = $("#form_edit").attr("userdocument_id");
const newData = Object.assign({ _method: $("input[name=_method]").val() }, info);
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: "/userdocuments/" + user_id + "/documents/" + userdocument_id + "/edit",
type: "POST",
dataType: "json",
contentType: "application/json",
data: JSON.stringify(newData),
success: function(response) {
ladda.stop();
if (response.status) {
var file = document.getElementById("filepath");
file = file.files[0];
if (file && !info.already_exists) {
uploadFile(user_id, userdocument_id);
} else {
Swal.fire({
type: response.type,
title: response.title,
text: response.message,
showConfirmButton: true,
}).then((val) => {
$(location).attr("href", "/userdocuments/" + user_id + "/documents");
});
}
} else {
Swal.fire({
type: response.type,
title: response.title,
text: response.message,
});
}
},
});
}
});
}
});
});
window.deleteRegistry = function(user_id, userdocument_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: "/userdocuments/" + userdocument_id + "/documents",
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", "/userdocuments/" + user_id + "/documents");
});
} else {
Swal.fire({
type: response.type,
title: response.title,
text: response.message,
});
}
},
});
});
},
}).then((result) => {
console.log(result);
});
};
window.uploadFile = function(user_id, userdocument_id) {
var file = document.getElementById("filepath");
file = file.files[0];
var formData = null;
formData = new FormData();
formData.append("user_id", user_id);
formData.append("userdocument_id", userdocument_id);
formData.append("fileUser", file);
$.ajax({
type: "POST",
dataType: "json",
processData: false,
contentType: false,
data: formData,
url: "/userdocuments/uploadFile",
success: function(response) {
Swal.fire({
type: response.type,
title: response.title,
text: response.message,
showConfirmButton: true,
}).then((val) => {
$(location).attr("href", "/userdocuments/" + user_id + "/documents");
});
},
error: function(e) {
console.log("error: ", e);
},
});
};
window.downloadFile = function(userdocument_id) {
$.ajax({
type: "POST",
dataType: "json",
processData: false,
contentType: false,
data: formData,
url: "/userdocuments/uploadFile",
success: function(response) {
Swal.fire({
type: response.type,
title: response.title,
text: response.message,
showConfirmButton: true,
}).then((val) => {
$(location).attr("href", "/userdocuments/" + user_id + "/documents");
});
},
error: function(e) {
console.log("error: ", e);
},
});
};
window.approvedDocument = function(user_id, userdocument_id) {
Swal.fire({
title: Lang.get("fronjs.title_approved_document"),
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: "/userdocuments/changeStatus/" + userdocument_id,
type: "GET",
dataType: "json",
contentType: "application/json",
data: null,
success: function(response) {
if (response.status) {
Swal.fire({
type: response.type,
title: response.title,
text: response.message,
showConfirmButton: true,
}).then(() => {
$(location).attr("href", "/userdocuments/" + user_id + "/documents");
});
} else {
Swal.fire({
type: response.type,
title: response.title,
text: response.message,
});
}
},
});
});
},
}).then((result) => {
console.log(result);
});
};