HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
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);
  });
};