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/teamdemo.sports-crowd.com/public/js/tickets_matches.js
/* Mensaje personalizado con comodines que se utilizan 
para tener mayor detalle en la notificación que le llega al hincha */
const personalizedMessage = 'Hola hincha ${fan} \n\nSabemos que hoy estas apoyando al equipo más que nunca, y te queremos enviar un saludo muy especial por parte del equipo. Esperamos celebrar juntos hoy con una gran victoria y podamos sumar más puntos y logros al equipo. \n\nSaludos';

// MODAL NOTIFICACIONES
function clickNotification(value) {
    $('#email').val(value.dataset.id);
    $('#message').val('');
    $("#modal-notification").modal();
}

function clickMassNotification() {
    _table = $("#example2").DataTable();
    let query = _table.ajax.json().queries[_table.ajax.json().queries.length - 1].query;
    let bindings = _table.ajax.json().queries[_table.ajax.json().queries.length - 1].bindings;
    $('#query').val(query.split(' limit ')[0]);
    $('#bindings').val(bindings);
    $('#message').val('');
    $("#modal-notification").modal();
}

function sendNotification() {
    var email = $('#email').val(),
        query = $('#query').val(),
        bindings = $('#bindings').val(),
        message = $('#message').val();
    if (!message) {
        swal('', 'Por favor ingrese el mensaje a enviar', 'error');
        return;
    }
    $("#btn-send-notification").addClass('displayNone');
    $("#spinnerButton").removeClass('displayNone');
    var formData = new FormData();
    formData.append("email", email);
    formData.append("query", query);
    formData.append("bindings", bindings);
    formData.append("message", message);
    $.ajax({
        type: "POST",
        dataType: "json",
        processData: false,
        contentType: false,
        headers: {
            "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
        },
        data: formData,
        url: "/tickets_matches/notification",
        success: function (r) {
            if (r.r) {
                swal(r.m, {
                    icon: "success",
                    buttons: {
                        Ok: true,
                    },
                }).then((val) => {
                    if (val == "Ok") {
                        $(location).attr('href', '/tickets_matches');
                    }
                });
            } else {
                swal('', r.m, 'error');
                $("#btn-send-notification").removeClass('displayNone');
                $("#spinnerButton").addClass('displayNone');
            }
        },
        error: function (e) {
            swal('', 'Error al enviar notificación, ' + e.responseJSON.message, 'error');
            $("#btn-send-notification").removeClass('displayNone');
            $("#spinnerButton").addClass('displayNone');
        }
    });
}

function pasteMessage() {
    $('#message').val(personalizedMessage);
}

function clickExport() {
    $('#loading').show();
    _table = $("#example2").DataTable();
    let query = _table.ajax.json().queries[_table.ajax.json().queries.length - 1].query;
    let bindings = _table.ajax.json().queries[_table.ajax.json().queries.length - 1].bindings;
    query = query.split(' limit ')[0];

    var validateDownloadUrl = document.location.origin + "/tickets_matches/validateExport";
    var downloadUrl = document.location.origin + "/tickets_matches/export/";

    var formData = new FormData();
    formData.append("query", query);
    formData.append("bindings", bindings);

    $.ajax({
        type: "POST",
        dataType: "json",
        processData: false,
        contentType: false,
        headers: {
            "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
        },
        data: formData,
        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.message, "error");
        }
    });
}