HEX
Server: Apache/2.4.61 (Ubuntu)
System: Linux hosting106 7.0.12-1-pve #1 SMP PREEMPT_DYNAMIC PMX 7.0.12-1 (2026-06-09T21:07Z) x86_64
User: clinicadentalargarate.com (1193)
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: /home/cursos.ril.es/resources/views/admin/listado.blade.php
@extends('layouts.menu')

@section('header')
    @parent

    <meta name="csrf-token" content="{{ csrf_token() }}">
    <title>Alumnos</title>
    {!! Html::style('styles/lista.css') !!}

@stop

@section('pagina')

    <div class="separacion-top"></div>

<div class="col-sm-8 col-sm-offset-2">

    <div class="page-header">
        <h1><span class="fi-list"></span> Alumnos del Curso: <small>{{ $curso->resumen . " " . $curso->fechaInicio }}</small> <a href="/admin/listainteresados/{{ $curso->id }}" class="btn btn-primary">Ir a interesados</a></h1>
        <h3>Número mínimo: {{ $curso->numMin }}, Número máximo: {{ $curso->numMax }}, cuesta: {{ $curso->precios }}</h3>

        <input type="hidden" id="idCurso" name="idCurso" value="{{ $curso->id }}">

        <div class="form-group">
            <select name="plantillas" id="plantillas" class="form-control">
                @foreach($plantillas as $plantilla)
                    <option value="{{ $plantilla->id }}">{{ $plantilla->nombre }}</option>
                @endforeach
            </select>
        </div>

        <button class="btn btn-info" id="enviar">Enviar <span class="fi-mail"></span></button>
    </div>
</div>
<div class="col-sm-8 col-sm-offset-2">
    <div class="table-responsive">
        <table class="table table-striped">
            <thead>
            <tr>
                <th>Nombre y apellidos</th>
                <th>Contacto</th>
                <th></th>
                <th class="items-sr">Señal</th>
                <th class="items-sr">Resto</th>
                <th>Regalo</th>
                <th class="items-o">Observaciones</th>
                <th>Quitar</th>
                <th></th>
            </tr>
            </thead>
            <tbody>

            @foreach ($lista as $user)
                <tr class="grupo">
                    <td>{{ $user['name'] ." ". $user['apellidos'] }}</td>
                    <td>
                        <button onclick="contacto('{{ $user['email'] . "|" . $user['telefono'] }}');" class="btn btn-default contacto"><span class="fi-plus"> Info</span></button>
                    </td>
                    <td>
                            @if($user['senal']=="" or $user['senal']==0)
                                <button type="submit" class="btn btn-warning btnSenal" value="{{ $user['ids'] }}" id="{{ $user['ids'] }}">No</button>
                            @else
                                <button type="submit" class="btn btn-success btnSenal" value="{{ $user['ids'] }}" id="{{ $user['ids'] }}">Si</button>
                            @endif
                    </td>
                    <td>
                        <input type="text" class="form-control senal" id="senal-{{ $user['ids'] }}" value="{{ $user['senal'] }}" name="senal">
                        <input type="hidden" name="_token" value="{{ csrf_token() }}">
                    </td>
                    <td>
                        <input type="text" class="form-control resto" id="resto-{{ $user['ids'] }}" value="{{ $user['resto'] }}" name="resto">
                        <input type="hidden" name="_token" value="{{ csrf_token() }}">
                    </td>
                    <td>
                        <form action="/alumnoscursos/textoregalo/{{ $user['regalo'] }}/{{ $user['ids'] }}" method="post">
                            <input type="hidden" name="_token" value="{!! csrf_token() !!}">
                            @if($user['regalo']==0)
                                <button type="submit" class="btn btn-warning">No</button>
                            @else
                                <button type="submit" class="btn btn-success">Si</button>
                            @endif
                        </form>
                    </td>
                    <td>
                        <input type="text" class="form-control observaciones" id="observaciones-{{ $user['ids'] }}" value="{{ $user['observaciones'] }}">
                        <input type="hidden" name="_token" value="{{ csrf_token() }}">
                    </td>
                    <td>
                        <button class='btn btn-default' data-toggle='modal' data-target='#quitarAlumno' onclick='modal("{{ $user['ids'] }}");'><span class='fi-x'></span></button>
                    </td>
                    <td><input type="checkbox" onclick="check(this);" class="chk" value="{{ $user['email'] }}"></td>
                </tr>
            @endforeach

            <tr class="info">
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
                <td>Lista de Espera</td>
                <td></td>
                <td></td>
            </tr>

            @for($i=0;$i< count($espera); $i++)
                <tr>
                    <td>{{ $espera[$i]->name . " " . $espera[$i]->apellidos }}</td>
                    <td></td>
                    <td></td>
                    <td>{{ $espera[$i]->senal }}</td>
                    <td>{{ $espera[$i]->resto }}</td>
                    <td>{{ $espera[$i]->regalo }}</td>
                    <td>{{ $espera[$i]->observaciones }}</td>
                    <td>
                        <button class='btn btn-default' data-toggle='modal' data-target='#quitarAlumno' onclick='modal("{{ $curso->id."-".$espera[$i]->id."-1" }}");'><span class='fi-x'></span></button>
                    </td>
                    <td><input type="checkbox" class="chk" value="{{ $espera[$i]->email }}"></td>
                </tr>
            @endfor

            </tbody>
        </table>
    </div>
    <button class="btn btn-primary" id="insertar">Añadir Alumno</button>
    <button type="button" class="btn btn-primary" id="marcar">Marcar / Desmarcar</button>
</div>

    <div class="col-sm-8 col-sm-offset-2" style="padding-top: 30px;">
        <h3>Total: <span class="total">{{ $todo }}</span> €</h3>
    </div>

    <div class="col-sm-12">
        <div class="contenedor" data-behaviour="search-on-list">
            <input type="text" class="input-query" data-search-on-list="search" placeholder="Buscar..."/>
            <span class="counter" data-search-on-list="counter"></span>
            <div class="list-wrap">
                <ul class="list" data-search-on-list="list">
                    @foreach($alumnos as $alumno)
                        <li class="list-item" data-search-on-list="list-item">
                            <a href="/alumnoscursos/insertaralumno/{{ $curso->id }}/{{ $alumno->id }}" class="list-item-link">{{ $alumno->name . ' ' . $alumno->apellidos}} <span class="item-list-subtext">{{ $alumno->email }}</span></a>
                        </li>
                    @endforeach
                </ul>
            </div>
        </div>
    </div>


    <div id="contacto" class="modal fade" role="dialog">
        <div class="modal-dialog">

            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal">&times;</button>
                    <h4 class="modal-title">Datos de contacto</h4>
                </div>
                <div class="modal-body">
                    <p>Email: <a id="mailto"><span id="email"></span></a></p>
                    <p>Teléfono: <a id="tel"><span id="telefono"></span></a></p>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
                </div>
            </div>

        </div>
    </div>

    <div id="quitarAlumno" class="modal fade" role="dialog">
        <div class="modal-dialog">

            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal">&times;</button>
                    <h4 class="modal-title">Quitar el Alumno</h4>
                </div>
                <div class="modal-body">
                    <p>¿Quitar al Alumno del curso?</p>
                </div>
                <div id="modal-append" class="modal-footer">

                </div>
            </div>

        </div>
    </div>


@stop

@section('footer')
    @parent

    <script src="https://code.jquery.com/jquery-2.2.3.min.js" integrity="sha256-a23g1Nt4dtEYOj7bR+vTu7+T8VP13humZFBJNIYoEJo=" crossorigin="anonymous"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>

    <script>

        (function() {
            // TODO: be more elegant here
            function format(text) {
                return text.replace(/ /g, '').replace(/(<([^>]+)>)/ig, '').toLowerCase();
            }

            var SearchOnList = {
                $LIST: '[data-search-on-list=list]',
                $SEARCH: '[data-search-on-list=search]',
                $LIST_ITEM: '[data-search-on-list=list-item]',
                $COUNTER: '[data-search-on-list=counter]',
                TEMPLATE_EMTPY: '<li class="list-item list-item--disable">No se encontraron resultados</li>',

                init: function($element) {
                    this.items = [];
                    this.itemsMatched = [];

                    this.$element = $element;
                    this.$list = this.$element.find(this.$LIST);
                    this.$search = this.$element.find(this.$SEARCH);
                    this.$counter = this.$element.find(this.$COUNTER);

                    this.items = this._getAllItems();
                    this.itemsMatched = this.items;

                    this._updateCounter();
                    this._handleResults();
                    this._setEventListeners();
                },

                _setEventListeners: function() {
                    this.$search
                            .on('keyup', $.proxy(this._onKeyup, this))
                            .on('query:changed', $.proxy(this._handleQueryChanged, this))
                            .on('query:results:some', $.proxy(this._handleResults, this))
                            .on('query:results:none', $.proxy(this._handleNoResults, this))
                },

                _onKeyup: function() {
                    var query = this.$search.val(),
                            previousQuery = this.$search.data('previousQuery', query);

                    // TODO: Decide when query actually changed
                    if (this._queryChanged()) {
                        this.$search.trigger('query:changed', {
                            query: query,
                            previousQuery: previousQuery
                        });
                    }
                },

                _queryChanged: function() {
                    var query = this.$search.val();
                    if ($.trim(query).length === 0 && this.$search.data('previousQuery') === undefined) {
                        return false;
                    }
                    return true;
                },

                _handleQueryChanged: function(e, data) {
                    this.itemsMatched = this.items.map(function(item) {
                        if (format(item.name).match(format(data.query))) {
                            return {
                                name: item.name,
                                visible: true
                            }
                        }
                        return {
                            name: item.name,
                            visible: false
                        }
                    });

                    this._render();
                    this._updateCounter();
                },

                _handleNoResults: function() {
                    this.$list.html(this.TEMPLATE_EMTPY);
                },

                _handleResults: function() {
                    this.$list.empty().append(this._renderItemsVisible())
                },

                _someItemsVisible: function() {
                    return this.itemsMatched.some(function(item) {
                        return item.visible;
                    });
                },

                _render: function() {
                    (this._someItemsVisible()) ?
                            this.$search.trigger('query:results:some'):
                            this.$search.trigger('query:results:none');
                },

                _updateCounter: function() {
                    (this._someItemsVisible()) ?
                            this.$counter.text(this._renderItemsVisible().length):
                            this.$counter.text('');
                },

                _getAllItems: function() {
                    var $items = this.$list.find(this.$LIST_ITEM);

                    return $items.map(function() {
                        var $item = $(this);

                        return {
                            name: $item.html(),
                            visible: true
                        };
                    }).toArray();
                },

                _renderItemsVisible: function() {
                    var itemInTemplate;
                    return this.itemsMatched.sort(function(a, b) {
                        if (a.name < b.name) return -1
                        if (a.name > b.name) return 1;
                        return 0;
                    }).reduce(function(items, item) {
                        itemInTemplate = '<li class="list-item" data-search-on-list="list-item">' + item.name + '</li>';
                        if (item.visible) {
                            items.push(itemInTemplate);
                        }
                        return items;
                    }, []);
                }
            };

            window.SearchOnList = SearchOnList;
        })();

        SearchOnList.init($('[data-behaviour=search-on-list]'));


        $(document).ready(function(){
            $(".contenedor").hide();

            $("#insertar").click(function(){
                if($(".contenedor").is(":visible")){
                    $(".contenedor").hide();
                }
                else{
                    $(".contenedor").show();
                }
            });
        });


    </script>

    <script>

        var arrayEmails = "";
        var email = "";
        var telefono = "";
        var senal = "";

        function check(chk){
            arrayEmails = arrayEmails.replace($(chk).val() + "|", "");
            if(chk.checked){
                arrayEmails = arrayEmails + $(chk).val() + "|";
            }else{
            }
        }

        function contacto(datos){
            var arr = datos.split("|");
            email = arr[0];
            telefono = arr[1];
        }

        $(document).ready(function(){

            function checkBtnSenal(btn){
                if(btn.text()=="No"){
                    btn.removeClass("btn-warning");
                    btn.addClass("btn-success");
                    btn.text("Si");
                    return true;
                }
                else{
                    btn.removeClass("btn-success");
                    btn.addClass("btn-warning");
                    btn.text("No");
                    return false;
                }
            }

            $(".btnSenal").click(function(){
                if(checkBtnSenal($(this))){
                    senal(50, "senal-" + $(this).val(), 0);
                }
                else{
                    senal(0, "senal-" + $(this).val(), 1);
                    resto(0, "resto-" + $(this).val());
                }
            });

            $("input[name=senal]").keyup(function(){
                $.ajaxSetup({
                    headers: {
                        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                    }
                });
                $.ajax({
                    url: "/calcular/resto",
                    method: "POST",
                    data:
                    {
                        senal : $(this).val(),
                        ids : $(this).attr('id'),
                    },
                    datatype: "text"
                });
            });

            function senal(val, id, op){
                $.ajaxSetup({
                    headers: {
                        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                    }
                });
                $.ajax({
                    url: "/anadir/senal",
                    type: "POST",
                    data:
                    {
                        senal : val,
                        ids : id,
                    }
                }).done(function(data){
                    var obj = jQuery.parseJSON(data);
                    var idResto = "resto" +  id.substr(5);
                    $("#" + idResto).val(obj.resto);
                    $("#" + id).val(obj.senal);
                    $(".total").text(obj.total);
                    if(op==0){
                        resto(obj.resto, idResto);
                    }
                    if($("#" + id).val() != 0){
                        $("#" + id.substr(6)).removeClass("btn-warning");
                        $("#" + id.substr(6)).addClass("btn-success");
                        $("#" + id.substr(6)).text("Si");
                    }
                    else{
                        $("#" + id.substr(6)).removeClass("btn-success");
                        $("#" + id.substr(6)).addClass("btn-warning");
                        $("#" + id.substr(6)).text("No");
                    }
                });
            }

            function resto(val, id){
                $.ajaxSetup({
                    headers: {
                        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                    }
                });
                $.ajax({
                    url: "/anadir/resto",
                    type: "POST",
                    data:
                    {
                        resto : val,
                        ids : id,
                    }
                }).done(function(data){
                    var obj = jQuery.parseJSON(data);
                    $("#" + id).val(obj.resto);
                    $(".total").text(obj.total);
                });
            }

            function observaciones(val, id){
                $.ajaxSetup({
                    headers: {
                        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                    }
                });
                $.ajax({
                    url: "/anadir/observaciones",
                    method: "POST",
                    data:
                    {
                        observaciones : val,
                        ids : id,
                    },
                    datatype: "text"
                });
            }

            $(".senal").keypress(function(e) {
                if(e.which == 13) {
                    senal($(this).val(), $(this).attr('id'), 0);
                }
            });

            $(".senal").blur(function(){
                senal($(this).val(), $(this).attr('id'), 0);
            });

            $(".resto").keypress(function(e) {
                if(e.which == 13) {
                    resto($(this).val(), $(this).attr('id'));
                }
            });

            $(".resto").blur(function(){
                resto($(this).val(), $(this).attr('id'));
            });

            $(".observaciones").keypress(function(e) {
                if(e.which == 13) {
                    observaciones($(this).val(), $(this).attr('id'));
                }
            });

            $(".observaciones").blur(function(){
                observaciones($(this).val(), $(this).attr('id'));
            });

            $("#marcar").click(function(){
                if($(".chk").is(":checked")){
                    $(".chk").prop( "checked", false );
                }
                else{
                    $(".chk").prop( "checked", true );
                }

            });

            $(".contacto").click(function(){
                $("#email").text(email);
                $("#telefono").text(telefono);
                $("#mailto").attr("href", "mailto:" + email)
                $("#tel").attr("href", "tel:+" + telefono)
                $('#contacto').modal('show');
            });

            $('#enviar').click(function(){

                if(arrayEmails != ""){
                    $.ajax({
                        url: "/alumnoscursos/emails",
                        method: "POST",
                        data:
                        {
                            emails : arrayEmails,
                            id : $("#idCurso").val(),
                            idPlantilla : $("#plantillas").val(),
                        },
                        datatype: "text"
                    }).done(function() {
                        alert( "success" );
                    });
                }
                else{
                    alert("No hay ningún alumno seleccionado!");
                }
            });

        });

        function modal(ids){
            $("#modal-append").empty();
            var form = "<form method='POST' action='/admin/listaespera/" + ids + "' style='float: right;'><input type='hidden' name='_token' value='{!! csrf_token() !!}'><input name='_method' type='hidden' value='DELETE'><button type='submit' class='btn btn-danger'></span> Borrar</button></form>";
            var boton = "<button type='button' class='btn btn-default' data-dismiss='modal' style='float: left;'>Cancelar</button>";
            $("#modal-append").append(form);
            $("#modal-append").append(boton);
        }



    </script>

@stop