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/resources/views/memberships/edit.blade.php
@extends('modules.head') @section('contenido')
<h3>
    <a class="ruta" class="" href="{{ url('/memberships') }}">
        {{__('memberships.texts.memberships') }}
    </a>
    <span class="separador-ruta">|</span>
    <a class="ruta" class="" href="{{ url('/memberships/edit' . '/' . $membership->id) }}">
        {{__('memberships.texts.edit')}}
    </a>
</h3>

<div class="box">
    <div class="box-header with-border">
        <h3 class="box-title">{{__('memberships.texts.edit')}}</h3>
    </div>

    <div class="box-body">
        <form method="POST" id="form_edit" enctype="multipart/form-data">
            @include('memberships.form')
            @include('layouts.button_edit')
        </form>
    </div>
</div>
@endsection

@section('inline-js')
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/sweetalert2@11.4.20/dist/sweetalert2.min.css">
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11.4.20/dist/sweetalert2.min.js"></script>
<script>
    let tagsArray = <?php echo json_encode($membership->tags); ?>;
    let listTagsArray = <?php echo json_encode($membership->list_tags); ?>;

    $(document).ready(function() {
        var dataTags = $.map(tagsArray, function(obj) {
            obj.id = obj.id;
            obj.text = obj.name;
            obj.selected = true;
            return obj;
        });
        var dataListTags = $.map(listTagsArray, function(obj) {
            obj.id = obj.id;
            obj.text = obj.name;
            obj.selected = true;
            return obj;
        });

        $('#form_edit').validator().on('submit', function(e) {
            if (e.isDefaultPrevented()) {
                swal("Error", Lang.get('memberships.messages.validation_error'), "error");
                $("#btn-create-category").prop("disabled", false);
                $("#btn-edit").removeClass("displayNone");
                $("#spinnerButton").addClass("displayNone");
            } else {
                e.preventDefault();
                let form = document.getElementById('form_edit');
                let formData = new FormData(form);

                $.ajax({
                    url: '/memberships/update/{{$membership->id}}',
                    type: "POST",
                    headers: {
                        "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
                        "Accept": "application/json"
                    },
                    processData: false,
                    contentType: false,
                    data: formData,
                    success: function(response) {
                        Swal.fire({
                            title: Lang.get('memberships.messages.edit_success'),
                            icon: 'success',
                            confirmButtonText: 'Ok'
                        }).then((result) => {
                            if (result.isConfirmed) {
                                window.location.href = '/memberships';
                            }
                        });
                    },
                    error: function(a) {
                        let errors = a.responseJSON.errors;
                        if (!errors) {
                            Swal.fire({
                                title: 'Error',
                                text: a.responseJSON.message ?? Lang.get('memberships.messages.generic_error'),
                                icon: 'error'
                            });
                        }
                        let tableHTML = `
                        <table border="1" style="width:100%; border-collapse:collapse;">
                            <thead>
                                <tr>
                                    <th style="padding: 5px;">Campo</th>
                                    <th style="padding: 5px;">Errores</th>
                                </tr>
                            </thead>
                            <tbody>
                        `;

                        for (const [field, messages] of Object.entries(errors)) {
                            tableHTML += `
                                <tr>
                                    <td style="padding: 5px;">${field}</td>
                                    <td style="padding: 5px;">
                                        <ul style="margin: 0; padding-left: 15px;">
                                            ${messages.map(msg => `<li>${msg}</li>`).join('')}
                                        </ul>
                                    </td>
                                </tr>
                            `;
                        }

                        tableHTML += `
                            </tbody>
                        </table>
                        `;
                        Swal.fire({
                            title: "Error",
                            html: tableHTML,
                            icon: "error"
                        });
                    }
                });
            }
        });

        $("#tags").select2({
            multiple: true,
            data: dataTags,
            ajax: {
                url: '/tags/search',
                dataType: 'json',
                processResults: function(response) {
                    var data = $.map(response.data, function(obj) {
                        obj.id = obj.id;
                        obj.text = obj.name;
                        return obj;
                    });
                    return {
                        results: response.data
                    };
                }
            }
        });
        $("#list_tags").select2({
            multiple: true,
            data: dataListTags,
            ajax: {
                url: '/tags/search',
                dataType: 'json',
                processResults: function(response) {
                    var data = $.map(response.data, function(obj) {
                        obj.id = obj.id;
                        obj.text = obj.name;
                        return obj;
                    });
                    return {
                        results: response.data
                    };
                }
            }
        });
    });

    let edit = () => true;
</script>
@endsection