You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							82 lines
						
					
					
						
							2.4 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							82 lines
						
					
					
						
							2.4 KiB
						
					
					
				
								<?php
							 | 
						|
								
							 | 
						|
								namespace App\Http\Controllers;
							 | 
						|
								
							 | 
						|
								use App\Models\Trabajador;
							 | 
						|
								use Illuminate\Http\Request;
							 | 
						|
								use App\Models\Puesto;
							 | 
						|
								
							 | 
						|
								class TrabajadorController extends Controller
							 | 
						|
								{
							 | 
						|
								    /**
							 | 
						|
								     * Display a listing of the resource.
							 | 
						|
								     */
							 | 
						|
								    public function index()
							 | 
						|
								    {
							 | 
						|
								        $trabajadores = Trabajador::all();
							 | 
						|
								        return view('trabajadores', ['trabajadores' => $trabajadores]);
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * Show the form for creating a new resource.
							 | 
						|
								     */
							 | 
						|
								    public function create()
							 | 
						|
								    {
							 | 
						|
								        $puestos = Puesto::all();
							 | 
						|
								        return view('trabajadoresCrearEditar', ['trabajador' => null, 'puestos' => $puestos]);
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * Store a newly created resource in storage.
							 | 
						|
								     */
							 | 
						|
								    public function store(Request $request)
							 | 
						|
								    {
							 | 
						|
								
							 | 
						|
								        $trabajador2 = new Trabajador($request->all());
							 | 
						|
								        $trabajador2->save();
							 | 
						|
								        return redirect()->route('trabajadores.index')->with('succes',value: 'El auto se agregó');
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * Display the specified resource.
							 | 
						|
								     */
							 | 
						|
								    public function show(Trabajador $trabajador)
							 | 
						|
								    {
							 | 
						|
								        //
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * Show the form for editing the specified resource.
							 | 
						|
								     */
							 | 
						|
								    public function edit($id)
							 | 
						|
								    {
							 | 
						|
								        $puestos = Puesto::all();
							 | 
						|
								        $trabajador = Trabajador::find($id);
							 | 
						|
								        return view('trabajadoresCrearEditar', ['trabajador' => $trabajador, 'puestos' => $puestos])->with(key: 'warning', value:'Actualizado correctamente');
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * Update the specified resource in storage.
							 | 
						|
								     */
							 | 
						|
								    public function update(Request $request, $id)
							 | 
						|
								    {
							 | 
						|
								        $trabajador = Trabajador::find($id); //Busca el trabajador por el id
							 | 
						|
								        $trabajador->update($request->all()); //Actualiza los datos del trabajador
							 | 
						|
								        return redirect()->route('trabajadores.index')->with(key: 'warning', value:'Actualizado correctamente'); //Redirecciona a la página de index
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * Remove the specified resource from storage.
							 | 
						|
								     */
							 | 
						|
								    public function destroy($id)
							 | 
						|
								    {
							 | 
						|
								        $trabajador = Trabajador::find($id); //Busca el trabajador por el id
							 | 
						|
								        if($trabajador->puesto_id()!=1){
							 | 
						|
								        $trabajador->delete(); //Elimina el trabajador:
							 | 
						|
								        return redirect()->route('trabajadores.index')->with(key: 'succes', value:'Eliminado correctamente'); //Redirecciona a la página de index
							 | 
						|
								        }else{
							 | 
						|
								            return redirect()->route('trabajadores.index')->with(key: 'error', value:'No se puede eliminar el trabajador porque no tiene un puesto asignado'); //Redirecciona a la página de index
							 | 
						|
								        }
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								}
							 | 
						|
								
							 |