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/demo.sports-crowd.com/public/js/categories.js
function saveImage(id) {
    var fImage = document.getElementById("image");
    fImage = fImage.files[0];
    if (fImage) {
        var formData = new FormData();
        formData.append("id", id);
        formData.append("image", fImage);

        $.ajax({
            type: "POST",
            dataType: "json",
            processData: false,
            contentType: false,
            headers: {
                "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
            },
            data: formData,
            url: "/categories/saveImage",
            success: function (r) {
                if (r.r) {
                    swal(Lang.get("messagesClient.screen_categories_tag5"), {
                        icon: "success",
                        buttons: {
                            Ok: true,
                        },
                    }).then((val) => {
                        if (val == "Ok") {
                            $(location).attr('href', '/categories/' + localStorage.getItem("storeType"));
                        }
                    });
                } else {
                    swal("Error", "¡Error al crear la categoría!", "error");
                    $("#btn-create-category").prop("disabled", false);
                }
            },
            error: function (e) {
                swal("Error", "¡Error al crear la categoría!", "error");
                $("#btn-create-category").prop("disabled", false);
            },
        });
    } else {
        swal("Ok", "Categoría creada sin imagen.", {
            icon: "success",
            buttons: {
                Ok: true,
            },
        }).then((val) => {
            if (val == "Ok") {
                $(location).attr('href', '/categories/' + localStorage.getItem("storeType"));
            }
        });
    }
}

function updateImage(id) {
    var fImage = document.getElementById("image");
    fImage = fImage.files[0];
    if (fImage) {
        var formData = new FormData();
        formData.append("id", id);
        formData.append("image", fImage);

        $.ajax({
            type: "POST",
            dataType: "json",
            processData: false,
            contentType: false,
            headers: {
                "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
            },
            data: formData,
            url: "/categories/updateImage",
            success: function (r) {
                if (r.r) {
                    swal(r.m, {
                        icon: "success",
                        buttons: {
                            Ok: true,
                        },
                    }).then((val) => {
                        if (val == "Ok") {
                            $(location).attr('href', '/categories/' + localStorage.getItem("storeType"));
                        }
                    });
                } else {
                    swal("Error", r.m, "error");
                }
            },
        });
    } else {
        swal("Ok", "Categoría actualizada sin imagen.", {
            icon: "success",
            buttons: {
                Ok: true,
            },
        }).then((val) => {
            if (val == "Ok") {
                $(location).attr('href', '/categories/' + localStorage.getItem("storeType"));
            }
        });
    }
}

function createCategory() {
    $("#createCategory").validator("update");
    $("#createCategory")
        .validator("update")
        .on("submit", function (e) {
            if (e.isDefaultPrevented()) {
            } else {
                e.preventDefault();
                $("#btn-create-category").prop("disabled", true);

                var name = $(" #createCategory input[name='name']").val();
                var priority = $("#createCategory input[name='priority']").val();
                var sucursal_id = $("#createCategory select[name='sucursal_id']").val();

                if (!sucursal_id) {
                    sucursal_id = null;
                }

                if (name == "" || priority == "") {
                    swal(Lang.get("messagesClient.screen_categories_tag4"), "warning", Lang.get("messagesClient.screen_categories_tag1"));
                    $("#btn-create-category").prop("disabled", false);
                } else {
                    var info = {
                        name: name,
                        priority: priority,
                        sucursal_id: sucursal_id,
                        store_type: localStorage.getItem("storeType")
                    };

                    swal(Lang.get("messagesClient.screen_categories_tag2"), {
                        buttons: {
                            cancel: "No",
                            Ok: true,
                        },
                    }).then((val) => {
                        if (val == "Ok") {
                            createCategory(info);
                        } else {
                            $("#btn-create-category").prop("disabled", false);
                        }
                    });
                }
            }
        });

    /**
     * Esta función hace un llamado AJAX y envia un json creando un nuevo registro de categoría
     * @param info el json con la informacion de la vista
     * @version 2018/05/20
     */
    function createCategory(info) {
        $.ajax({
            url: "/categories/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_category = r.d;
                    var img = document.getElementById("image");
                    if (img != null) {
                        saveImage(id_category);
                    } else {
                        swal(r.m, {
                            icon: "success",
                            buttons: {
                                Ok: true,
                            },
                        }).then((val) => {
                            if (val == "Ok") {
                                $(location).attr('href', '/categories/' + localStorage.getItem("storeType"));
                            }
                        });
                    }
                } else {
                    swal("Error", r.m, { icon: "error" });
                    $("#btn-create-category").prop("disabled", false);
                }
            },
            error: function (e) {
                swal("Error", Lang.get("messagesClient.screen_categories_tag6"), "error");
                $("#btn-create-category").prop("disabled", false);
            },
        });
    }
}

/*
 * En caso de que se haga clic en el icono de editar
 * se redirecciona a la vista de edición de categoría
 */
function clickEditCategory(value) {
    _table = $("#example2").DataTable();
    index = _table.page();
    localStorage.setItem("productsTableIndex", index);
    $(location).attr("href", "/categories/" + localStorage.getItem("storeType") + "/edit/" + value);
}

/**
 * Esta función obtiene los datos de la vista de edtitar y los envía a la capa de lógica
 * para la actualización de los datos de una línea de negocio
 * @version 2018/10/02
 */
function editCategory() {
    $("#editCategory").validator("update");
    $("#editCategory")
        .validator("update")
        .on("submit", function (e) {
            if (e.isDefaultPrevented()) {
            } else {
                $("#btn-edit-category").prop("disabled", true);
                e.preventDefault();

                var name = $(" #editCategory input[name='name']").val();
                var priority = $(" #editCategory input[name='priority']").val();
                var sucursal_id = $("#editCategory select[name='sucursal_id']").val();

                if (!sucursal_id) {
                    sucursal_id = null;
                }

                if (name == "" || priority == "") {
                    swal("Error", Lang.get("messagesClient.screen_edit_categories_tag2"), "warning");
                    $("#btn-edit-category").prop("disabled", false);
                } else {
                    var info = {
                        id: $(" #editCategory input[name='id']").val(),
                        name: name,
                        priority: priority,
                        sucursal_id: sucursal_id,
                        store_type: localStorage.getItem("storeType")
                    };

                    swal(
                        Lang.get("messagesClient.screen_edit_Categories_tag5"),
                        {
                            buttons: {
                                cancel: "No",
                                Ok: true,
                            },
                        }
                    ).then((val) => {
                        if (val == "Ok") {
                            updateCategory(info);
                        } else {
                            $("#btn-edit-category").prop("disabled", false);
                        }
                    });
                }
            }
        });
}

/**
 * Esta función hace un llamado AJAX y envia un json actualizando un registro de linea de negocio
 * @param info el json con la informacion de la vista
 * @version 2018/05/20
 */
function updateCategory(info) {
    $.ajax({
        url: "/categories/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) {
                var id_category = r.d.id;
                var img = document.getElementById("image");
                if (img != null) {
                    updateImage(id_category);
                } else {
                    swal(
                        Lang.get("messagesClient.screen_edit_categories_tag3"),
                        {
                            icon: "success",
                            buttons: {
                                Ok: true,
                            },
                        }
                    ).then((val) => {
                        if (val == "Ok") {
                            localStorage.setItem("setPageTable", true);
                            $(location).attr('href', '/categories/' + localStorage.getItem("storeType"));
                        }
                    });
                }
            } else {
                swal("Error", r.m, { icon: "error" });
                $("#btn-create-category").prop("disabled", false);
            }
        },
        error: function (e) {
            swal(
                "Error",
                Lang.get("messagesClient.screen_edit_categories_tag4"),
                "error"
            );
            $("#btn-edit-category").prop("disabled", false);
        },
    });
}

function setPageTable() {
    localStorage.setItem("setPageTable", true);
    $(location).attr('href', '/categories/' + localStorage.getItem("storeType"));
}

function chkCategory(value) {
    var state;

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

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

    $.ajax({
        url: "/categories/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.screen_edit_Categories_tag6"), "error");
            }
        },
        error: function (e) {
            swal("Error", Lang.get("messagesClient.screen_edit_Categories_tag6"), "error");
        },
    });
}

//eliminar categoría
function clickDeleteCategory(value) {
    var info = {
        id: value,
    };
    swal(Lang.get("messagesClient.screen_delete_Categories_tag1"), {
        buttons: {
            cancel: "No",
            Ok: true,
        },
    }).then((val) => {
        if (val == "Ok") {
            deleteCategory(info);
        }
    });
}

//funcion eliminar linea de negocio
function deleteCategory(info) {
    $.ajax({
        url: "/categories/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', '/categories/' + localStorage.getItem("storeType"));
                    }
                });
            } else {
                swal("Error", Lang.get("messagesClient.screen_delete_categories_tag2"), "error");
            }
        },
        error: function (e) {
            swal("Error", Lang.get("messagesClient.screen_delete_categories_tag2"), "error");
        },
    });
}