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/alq-cali.bikenow.co/public/js/academy_document.js
function saveDocument(id) {
    var fDocument = document.getElementById("document");
    var fileName = fDocument.files[0].name;
    var fileSize = fDocument.files[0].size;

    if (fileSize > 5000000) {
        swal("Error", "¡El archivo no debe superar los 5MB!", "error");
        fDocument.files[0].name = '';
        fDocument.value = '';
    } else {
        // recuperamos la extensión del archivo
        var ext = fileName.split('.').pop();

        // Convertimos en minúscula porque
        // la extensión del archivo puede estar en mayúscula
        ext = ext.toLowerCase();

        switch (ext) {
            case 'xlsx':
            case 'csv':
            case 'doc':
            case 'docx':
            case 'pdf':
                break;
            default:
                swal("Error", "¡El archivo no tiene la extensión adecuada!", "error");
                fDocument.files[0].name = '';
                fDocument.value = ''; // reset del valor
        }
        if (fDocument.value) {
            fDocument = fDocument.files[0];
            var formData = new FormData();
            formData.append("id", id);
            formData.append("document", fDocument);

            $.ajax({
                type: "POST",
                dataType: "json",
                processData: false,
                contentType: false,
                headers: {
                    "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
                },
                data: formData,
                url: "/academy_document/saveDocument",
                success: function (r) {
                    if (r.r) {
                        swal(r.m, {
                            icon: "success",
                            buttons: {
                                Ok: true,
                            },
                        }).then((val) => {
                            if (val == "Ok") {
                                $(location).attr("href", "/academy_document");
                            }
                        });
                    } else {
                        swal("Error", "¡Error al cargar el documento!", "error");
                        $("#btn-create-category").prop("disabled", false);
                    }
                },
                error: function (e) {
                    swal("Error", "¡Error al cargar el documento!", "error");
                    $("#btn-create-category").prop("disabled", false);
                },
            });
        }

    }

}

function create() {
    $("#form_create").validator("update");
    $("#form_create")
        .validator("update")
        .on("submit", function (e) {
            if (e.isDefaultPrevented()) { } else {
                e.preventDefault();

                $("#btn-create").addClass("displayNone");
                $("#spinnerButton").removeClass("displayNone");
                let typeAcademy = $("#form_create input[name='type_academy']").val();

                var info = {
                    name: $("#form_create input[name='name']").val(),
                    required: $("#form_create select[name='confirmation_required']").val(),
                    order: $("#form_create input[name='order']").val(),
                    type_academy: typeAcademy,
                    external_form_link: $("#form_create textarea[name='external_form_link']").val(),
                    external_form_id: $("#form_create input[name='external_form_id']").val(),
                    type_person: $("#form_create select[name='type_person']").val(),
                    external_form_exclusive: $("#form_create select[name='external_form_exclusive']").val(),
                    only_attempt: $("#form_create select[name='only_attempt']").val(),
                    single_attempt_alert: $("#form_create textarea[name='single_attempt_alert']").val(),
                    enable_autocomplete: $("#form_create select[name='enable_autocomplete']").val(),
                    enable_guardian_information: $("#form_create select[name='enable_guardian_information']").val(),
                    enable_view_only: $("#form_create select[name='enable_view_only']").val(),
                    academy_location_id: $("#form_create select[name='academy_location_id']").val(),
                };

                swal(Lang.get("messagesClient.academy_doc.tag_1"), {
                    buttons: {
                        cancel: "No",
                        Ok: true,
                    },
                }).then((val) => {
                    if (val == "Ok") {
                        $.ajax({
                            url: "/academy_document/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) {
                                    var id = r.data;
                                    var doc = document.getElementById("document");
                                    var doc = doc.files[0];
                                    if (doc != null) {
                                        saveDocument(id);
                                    } else {
                                        swal(r.m, {
                                            icon: "success",
                                            buttons: {
                                                Ok: true,
                                            },
                                        }).then((val) => {
                                            if (val == "Ok") {
                                                $(location).attr("href", "/academy_document/" + typeAcademy);
                                            }
                                        });
                                    }
                                } else {
                                    swal("Error", r.m, "error");
                                    $("#btn-create").removeClass("displayNone");
                                    $("#spinnerButton").addClass("displayNone");
                                }
                            },
                            error: function (e) {
                                swal("Error", "¡Hubo un Error al crear!", "error");
                                $("#btn-create").removeClass("displayNone");
                                $("#spinnerButton").addClass("displayNone");
                            },
                        });
                    } else {
                        $("#btn-create").removeClass("displayNone");
                        $("#spinnerButton").addClass("displayNone");
                    }
                });
            }
        });
}

function clickEdit(value) {
    $(location).attr("href", "/academy_document/edit/" + value);
}

function edit() {
    $("#form_edit").validator("update");
    $("#form_edit")
        .validator("update")
        .on("submit", function (e) {
            if (e.isDefaultPrevented()) { } else {
                e.preventDefault();

                $("#btn-edit").addClass("displayNone");
                $("#spinnerButton").removeClass("displayNone");
                let typeAcademy = $("#form_edit input[name='type_academy']").val();

                var info = {
                    name: $("#form_edit input[name='name']").val(),
                    required: $("#form_edit select[name='confirmation_required']").val(),
                    order: $("#form_edit input[name='order']").val(),
                    type_academy: typeAcademy,
                    external_form_link: $("#form_edit textarea[name='external_form_link']").val(),
                    external_form_id: $("#form_edit input[name='external_form_id']").val(),
                    type_person: $("#form_edit select[name='type_person']").val(),
                    external_form_exclusive: $("#form_edit select[name='external_form_exclusive']").val(),
                    only_attempt: $("#form_edit select[name='only_attempt']").val(),
                    single_attempt_alert: $("#form_edit textarea[name='single_attempt_alert']").val(),
                    enable_autocomplete: $("#form_edit select[name='enable_autocomplete']").val(),
                    enable_guardian_information: $("#form_edit select[name='enable_guardian_information']").val(),
                    enable_view_only: $("#form_edit select[name='enable_view_only']").val(),
                    academy_location_id: $("#form_edit select[name='academy_location_id']").val(),
                };

                var id = $("#form_edit").attr("object_id");

                swal(Lang.get("messagesClient.academy_doc.tag_2"), {
                    buttons: {
                        cancel: "No",
                        Ok: true,
                    },
                }).then((val) => {
                    if (val == "Ok") {
                        $.ajax({
                            url: "/academy_document/update/" + id,
                            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) {
                                    var doc = document.getElementById("document");
                                    var doc = doc.files[0];
                                    if (doc != null) {
                                        saveDocument(id);
                                    } else {
                                        swal(r.m, {
                                            icon: "success",
                                            buttons: {
                                                Ok: true,
                                            },
                                        }).then((val) => {
                                            if (val == "Ok") {
                                                $(location).attr("href", "/academy_document/" + typeAcademy);
                                            }
                                        });
                                    }
                                } else {
                                    swal("Error", "¡Hubo un Error al actualizar!", "error");
                                    $("#btn-edit").removeClass("displayNone");
                                    $("#spinnerButton").addClass("displayNone");
                                }
                            },
                            error: function (e) {
                                swal("Error", "¡Hubo un Error al actualizar!", "error");
                                $("#btn-edit").removeClass("displayNone");
                                $("#spinnerButton").addClass("displayNone");
                            },
                        });
                    } else {
                        $("#btn-edit").removeClass("displayNone");
                        $("#spinnerButton").addClass("displayNone");
                    }
                });
            }
        });
}

function clickDelete(value) {
    swal(Lang.get("messagesClient.academy_doc.tag_6"), {
        buttons: {
            cancel: "No",
            Ok: true,
        },
    }).then((val) => {
        if (val == "Ok") {
            var info = {
                _method: "DELETE",
            };

            $.ajax({
                url: "/academy_document/delete/" + value,
                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.reload();
                            }
                        });
                    } else {
                        swal(r.m, {
                            icon: "error"
                        });
                    }
                },
                error: function (e) {
                    swal("Error", Lang.get("messagesClient.academy_doc.error_delete"), "error");
                },
            });
        }
    });
}

function chk(value) {
    var state;
    if ($("#Checkactive" + value).is(":checked")) {
        state = 1;
    } else {
        state = 0;
    }

    var info = {
        id: value,
        state: state,
    };

    $.ajax({
        url: "/academy_document/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(r.m, {
                    icon: "success",
                    buttons: {
                        Ok: true,
                    },
                });
            } else {
                swal("Error", r.m, "error");
            }
        },
        error: function (e) {
            swal("Error", Lang.get("messagesClient.academy_doc.error_update_active"), "error");
        },
    });
}

function chkRequired(value) {
    var state;
    if ($("#Checkrequired" + value).is(":checked")) {
        state = 1;
    } else {
        state = 0;
    }

    var info = {
        id: value,
        state: state,
    };

    $.ajax({
        url: "/academy_document/activateRequired",
        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,
                    },
                });
            } else {
                swal("Error", r.m, "error");
            }
        },
        error: function (e) {
            swal("Error", Lang.get("messagesClient.academy_doc.error_update_active"), "error");
        },
    });
}

function chkRemovable(value) {
    var state;
    if ($("#chkRemovable" + value).is(":checked")) {
        state = 1;
    } else {
        state = 0;
    }

    var info = {
        id: value,
        state: state,
    };

    $.ajax({
        url: "/academy_document/activateRemovable",
        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,
                    },
                });
            } else {
                swal("Error", r.m, "error");
            }
        },
        error: function (e) {
            swal("Error", Lang.get("messagesClient.academy_doc.error_update_active"), "error");
        },
    });
}