Jump to content

Laravel: Botão para aceitar e para rejeitar


klasss
Go to solution Solved by klasss,

Recommended Posts

Olá a todos, 

Antes de mais um ótimo 2022 a todos!

Venho pedir aqui uma pequena ajuda .. Nunca utilizei dois botões na mesma página com objetivos muito semelhantes. 
E como já estou a tentar adaptar ao uso de dois botões acho que já me estou a perder.

Tenho uma tabela que mostra dados:

				@foreach($itens as $item)
                  <tr>
                    <td>{{$item->nome}}</td>
                    <td>{{$item->ficheiro}}</td>
                    <td>{{$item->tipo_ficheiro}}</td>
                    <td>
                  	<a href="{{route('despesas.modal', $item->id)}}" class="btn btn-primary" data-toggle="modal" data-target="#modalaceitar" type="button" class="mt-4 mb-4 btn btn-primary" role="button"><i class="fas fa-check text-info mr-1" ></i></a>
                  
                  <a href="{{route('despesas.modal2', $item->id)}}" class="btn btn-primary" data-toggle="modal" data-target="#modalrejeita" type="button" class="mt-4 mb-4 btn btn-primary" role="button"><i class="fas fa-check text-info mr-1" ></i></a>	
                  
                   </td>
                  </tr>
                  @endforeach


//MODAL ACEITAR

<div  class="modal fade" id="modalaceitar" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalLabel">Aceitar Despesa</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body">{{$item->id}}
        Deseja Realmente aceitar a despesa? 
        
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancelar</button>
        
        <form id="form-perfil" method="POST" action="{{route('despesas.editar')}}">
                    @csrf
                    @method('put')
        

          <button type="submit" class="btn btn-success">Aceitar</button>
     
      </div>
    </div>
  </div>
</div>

Este {{$item->id}} vi num outro exemplo e não sei bem se me serve... pois eu na routes tenho {{item}} que deverá ser o ID 

Route::get('Despesas/validar/{item}/aceita', [DespesaController::class, 'modal'])->name('despesas.modal');
Route::put('Despesas/validar/{item}', [DespesaController::class, 'editar'])->name('despesas.editar');

Controller:

public function modal(despesa $id){
        //$item = despesa::orderby('id', 'desc')->paginate();
        $tabela = despesa::join ('utilizadors','utilizadors.id','=', 'despesas.id_funcionario')
        ->where('despesas.estado', '=', 'Pendente')
        ->get([ 'utilizadors.id', 'utilizadors.nome', 'despesas.id', 'despesas.ficheiro','despesas.tipo_ficheiro', 'despesas.estado']);
        return view('painel-admin.despesas.validar', ['itens' => $item, 'id' => $id]);

     }


     public function editar(Request $request, despesa $item){ 
           // dd($item); 
             $item->estado = "Aceite";
        

               $item->save();
               return redirect()->route('despesas.validar');
               
    }

Ao correr a página tenho o erro: Missing required parameter for [Route: despesas.editar] [URI: Despesas/validar/{item}] [Missing parameter: item]. (View: C:\xampp\htdocs\projeto\resources\views\painel-admin\despesas\validar.blade.php)

Obrigado a quem me conseguir ajudar a ultrapassar este problema?

Link to comment
Share on other sites

  • Solution

Faltava {{route('despesas.editar', $item)}}

Mas tenho outro problema .. Após aprovar dá me o erro de Undefined variable: item  

PS: O problema acima mencionado ocorre quando não existe mais nenhum documento para ser aprovado. Aparece a query em questão vazia 

Edited by klasss
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.