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
|
|
}
|
|
}
|
|
|
|
}
|
|
|