Проблема в управлении модальным делом, я не могу удалить выбранный элемент, но только первый - PullRequest
0 голосов
/ 10 февраля 2019

У меня есть коллекция объектов, каждый из которых идентифицируется по своему идентификатору.Эти объекты показаны в таблице, и для каждого из этих объектов предлагается возможность выполнения операции с контроллера с использованием уникального идентификатора.К сожалению, если я хочу сделать это с помощью модальных.Это выполняется (в данном случае исключение) всегда для первого объекта коллекции.

<table class="table table-bordered table-hover">
            <thead class="thead-light" align="center">
                <tr>
                    <th scope="col">DATA PROGRAMMATA</th>
                    <th scope="col">MOTIVO DELLA VISITA</th>
                    <th scope="col">STATO PRENOTAZIONE</th>
                    <th scope="col">GIORNI ALLA SCADENZA</th>
                    <th scope="col">ESITO</th>
                    <th scope="col">NOTA</th>
                    <th scope="col">NUMERO RINVII</th>
                    <th scope="col">DATA EFFETTIVA</th>
                    <th scope="col">FUNZIONI</th>
                </tr>
            </thead>
            <tbody
                th:each="convocazione : ${dipendente.getConvocazioniOrdinatePerData()}">
                <tr align="center">
...
    <td>
                            <!-- Button trigger modal 0 Cancellazione -->
                            <button type="button" class="btn btn-warning" data-toggle="modal"
                                data-target="#exampleModalCenter0">Cancella convocazione</button>
                            <!-- Modal Cancellazione numerato 0-->
                            <div class="modal fade" id="exampleModalCenter0" tabindex="-1"
                                role="dialog" aria-labelledby="exampleModalCenterTitle0"
                                aria-hidden="true">
                                <div class="modal-dialog modal-dialog-centered" role="document">
                                    <div class="modal-content">
                                        <div class="modal-header">
                                            <h5 class="modal-title" id="exampleModalCenterTitle0">Attenzione!
                                                Richiesta di cancellazione</h5>
                                            <button type="button" class="close" data-dismiss="modal"
                                                aria-label="Close">
                                                <span aria-hidden="true">&times;</span>
                                            </button>
                                        </div>
                                        <div class="modal-body">Questa modifica puo'
                                            compromettere la stabilita' del sistema qualora la correttezza
                                            dei dati fosse sbagliata , assicurati di aver inserito tutti i
                                            dati correttamente prima di procedere.</div>
                                        <div class="modal-footer">
                                            <button type="button" class="btn btn-secondary"
                                                data-dismiss="modal">Close</button>
                                            <a th:href="@{'/rimuoviConvocazione/' + ${convocazione.id}}"
                                                class="btn btn-danger" role="button" aria-pressed="true">Cancella
                                                convocazione</a>

                                        </div>
                                    </div>
                                </div>
                            </div> <!-- Fine Modal Cancellazione numerato 0-->
                        </td>
...

Это код контроллера

@RequestMapping(value = "/rimuoviConvocazione/{id}")
    public String rimuoviConvocazione(@PathVariable Long id, Model model){
        Convocazione convocazione = convocazioneRepository.getOne(id);
        rigaDiConvocazioneRepository.deleteAll(convocazione.getRigheDiConvocazioni());
        if(!convocazione.getRinvii().isEmpty())
            for(Rinvio r : convocazione.getRinvii())
                rinvioRepository.deleteById(r.getId());
        convocazioneRepository.deleteById(id);
        return "redirect:/dipendenti/dettaglioDipendente/"+convocazione.getDipendente().getId();
    }
...