File: /var/www/vhost/disk-apps/demo.sports-crowd.com/public/js/academy_schedules.js
function create() {
    createRegister(
        '/academy_schedules/create',
        Lang.get("messagesClient.academy_schedules.create_question"),
        "/academy_schedules",
        null
    );
}
function clickEdit(value) {
    $(location).attr("href", "/academy_schedules/edit/" + value);
}
function edit() {
    editRegister(
        '/academy_schedules/update/',
        Lang.get("messagesClient.academy_schedules.edit_question"),
        "/academy_schedules",
        null
    );
}
function clickDelete(value) {
    deleteRegister(
        "/academy_schedules/delete/" + value,
        Lang.get("messagesClient.academy_schedules.delete_question"),
        "/academy_schedules"
    );
}
function chk(value) {
    activate(value, "/academy_schedules/active");
}
function getAcademyLocations() {
    $.ajax({
        url: '/academy_schedules/locations',
        type: "GET",
        contentType: "application/json",
        headers: {
            "X-CSRF-TOKEN": $(
                'meta[name="csrf-token"]'
            ).attr("content"),
            "Content-Type": "application/json",
        },
        success: function (r) {
            $("select[name='locations']").empty();
            $.each(r, function (index, option) {
                $("select[name='locations']").append($('<option>', {
                    value: option.id,
                    text: option.name
                }));
            });
        },
        error: function (e) {
            swal("Error", Lang.get("messagesClient.academy_locations.error_get"), "error");
            $("#btn-create").removeClass("displayNone");
            $("#spinnerButton").addClass("displayNone");
        },
    });
}
function getAcademyCategories() {
    $.ajax({
        url: '/academy_schedules/categories',
        type: "POST",
        contentType: "application/json",
        headers: {
            "X-CSRF-TOKEN": $(
                'meta[name="csrf-token"]'
            ).attr("content"),
            "Content-Type": "application/json",
        },
        data: JSON.stringify({
            locations: $("select[name='locations']").val()
        }),
        success: function (r) {
            $("select[name='categories']").empty();
            $.each(r, function (index, option) {
                $("select[name='categories']").append($('<option>', {
                    value: option.id,
                    text: option.name
                }));
            });
        },
        error: function (e) {
            swal("Error", Lang.get("messagesClient.academy_categories.error_get"), "error");
            $("#btn-create").removeClass("displayNone");
            $("#spinnerButton").addClass("displayNone");
        },
    });
}
function getAcademyCoaches() {
    $.ajax({
        url: '/academy_schedules/coaches',
        type: "POST",
        contentType: "application/json",
        headers: {
            "X-CSRF-TOKEN": $(
                'meta[name="csrf-token"]'
            ).attr("content"),
            "Content-Type": "application/json",
        },
        data: JSON.stringify({
            locations: $("select[name='locations']").val(),
            categories: $("select[name='categories']").val()
        }),
        success: function (r) {
            $("select[name='coaches']").empty();
            r.sort((a, b) => {
                let aText = a.first_name + ' ' + a.last_name;
                let bText = b.first_name + ' ' + b.last_name;
                return aText.localeCompare(bText);
            });
            $.each(r, function (index, option) {
                $("select[name='coaches']").append($('<option>', {
                    value: option.id,
                    text: option.first_name + ' ' + option.last_name
                }));
            });
        },
        error: function (e) {
            swal("Error", Lang.get("messagesClient.academy_coaches.error_get"), "error");
            $("#btn-create").removeClass("displayNone");
            $("#spinnerButton").addClass("displayNone");
        },
    });
}
function clickExportAll() {
    $('#loading').show();
    var validateDownloadUrl = document.location.origin + "/academy_schedules/validateExport";
    var downloadUrl = document.location.origin + "/academy_schedules/export/";
    $.ajax({
        type: "POST",
        contentType: "application/json",
        headers: {
            "X-CSRF-TOKEN": $(
                'meta[name="csrf-token"]'
            ).attr("content"),
            "Content-Type": "application/json",
        },
        data: JSON.stringify({
            categories: $("select[name='categories']").val(),
            locations: $("select[name='locations']").val(),
            coaches: $("select[name='coaches']").val()
        }),
        url: validateDownloadUrl,
        success: function (response) {
            $('#loading').hide();
            if (response.success) {
                window.location.assign(downloadUrl + response.data);
            } else {
                swal("Error", response.message, "error");
            }
        },
        error: function (response) {
            $('#loading').hide();
            swal("Error", response.responseJSON ? response.responseJSON.message :
                'Hubo un error en el servidor, espere unos segundos e intente de nuevo', "error");
        }
    });
}