Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Passar um UPDATE TABLE (?) alterando status de um registro com um botão

Boa tarde pessoal!

Preciso de uma ajuda com um projeto meu. Quero que o usuário, clicando no botão 'Liberar', modifique o status do registro em questão para CHAMADO, movendo assim o card para a direita, e assim por diante com os outros botões. Como posso mapear esse comando para o botão de forma que ele pegue a Id do registro e altere o campo status ao clicar?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Pensei em mandar de algum jeito um UPDATE TABLE mas não consigo entender onde colocar e nem sei se é a melhor opção. Não achei documentação que me ajudasse. Me resta vocês.

Abaixo o html da página, estou usando Spring Data com MySQL, Thymeleaf e Bootstrap. Se precisarem de algum código adicional é só dizer. Obrigado!

<html>
    <head th:replace="~{base :: head}"></head>
    <body>

        <div class="container">
            <nav th:replace="~{base :: cabecalho}"></nav>
            <div class="row align-items-start">
                <div class="col jumbotron">
                    <h1 class="display-4 mb-4">Aguardar liberação</h1>
                    <div th:if="${chamada.status.name} eq 'AGUARDANDO'" class="col" th:each="chamada : ${chamadas}">

                        <div class="card mb-2">
                            <div><h2 class="h4">Placa do Veículo: <span th:text="${chamada.placaDoCarro}">GCP-8888</span></h2></div>
                            <div><h2 class="h4">Nome do Motorista: <span th:text="${chamada.nomeDoMotorista}">Sebastião Doidão</span></h2></div>                            
                            <button class="btn btn-outline-success" type="submit">Liberar</button>
                        </div>
                    </div>
                </div>
                <div class="col jumbotron">
                    <h1 class="display-4 mb-4">Veículos liberados</h1>
                        <div th:if="${chamada.status.name} eq 'CHAMADO'" class="col" th:each="chamada : ${chamadas}">

                        <div class="card mb-2">
                            <div><h2 class="h4">Placa do Veículo: <span th:text="${chamada.placaDoCarro}">GCP-8888</span></h2></div>
                            <div><h2 class="h4">Nome do Motorista: <span th:text="${chamada.nomeDoMotorista}">Sebastião Doidão</span></h2></div>
                            <button class="col btn btn-outline-warning" type="submit">Voltar</button><button class="col btn btn-outline-danger" type="submit">Remover</button>
                        </div>
                </div>
            </div>
            </div>    
        </div>
        <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js" integrity="sha384-w76AqPfDkMBDXo30jS1Sgez6pr3x5MlQ1ZAGC+nuZB+EYdgRZgiwxhTBTkF7CXvN" crossorigin="anonymous"></script>
    </body>
</html>
1 resposta
solução!

Gente eu consegui usando axios e @RestController. Só precisava pesquisar um pouquinho mais.