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.

112 lines
3.5 KiB

4 weeks ago
<?php
namespace App\Http\Controllers;
use App\Models\tiposVeiculos;
use Illuminate\Http\Request;
class TiposVeiculosController extends Controller
{
/**
* Display a listing of the resource.
*/
public function index(Request $request)
{
$busqueda = $request->busqueda;
if($busqueda) {
1 week ago
$tiposVeiculos = tiposVeiculos::where('nombre', 'LIKE', "%{$busqueda}%")->where('status', true)->get();
4 weeks ago
if($tiposVeiculos->count() == 0) {
return redirect()->route('tiposVeiculos.index')
->with('error', value: 'No existe ningun tipo de vehiculo con el nombre "' . $busqueda . '". Por favor, inténtalo de nuevo.');
}
// Si solo hay una marca, mostrar sus detalles
if($tiposVeiculos->count() == 1) {
$tiposVeiculos = $tiposVeiculos->first();
return redirect()->route('vehiculos.edit', $tiposVeiculos->id);
}
// Si hay múltiples coincidencias, mostrar la lista filtrada
return view('vehiculos', ["tiposVeiculos" => $tiposVeiculos]);
}
// Si no hay búsqueda, mostrar todas las marcas
1 week ago
$tiposVeiculos = tiposVeiculos::where('status', true)->get();
4 weeks ago
return view('vehiculos', ["tiposVeiculos" => $tiposVeiculos]);
}
/**
* Show the form for creating a new resource.
*/
public function create()
{
$tiposVeiculos = tiposVeiculos::all();
return view('vehiculosCrearEditar',['tiposVeiculos'=>$tiposVeiculos]);
}
/**
* Store a newly created resource in storage.
*/
public function store(Request $request)
{
$tiposVeiculos = new tiposVeiculos($request->all());
1 week ago
$tiposVeiculos->status = true;
4 weeks ago
$tiposVeiculos->save();
return redirect()->route('vehiculos.index')->with('success', 'Tipo de vehiculo creado exitosamente.');
}
/**
* Display the specified resource.
*/
public function show(tiposVeiculos $tiposVeiculos)
{
//
}
/**
* Show the form for editing the specified resource.
*/
public function edit($id)
{
$tipoVehiculo = tiposVeiculos::find($id);
return view('vehiculosCrearEditar', ['tipoVehiculo' => $tipoVehiculo]);
4 weeks ago
}
/**
* Update the specified resource in storage.
*/
public function update(Request $request, $id)
{
$tipoVehiculo = tiposVeiculos::find($id);
$tipoVehiculo->fill($request->all());
1 week ago
if ($request->has('status')) {
$tipoVehiculo->status = $request->status;
}
$tipoVehiculo->save();
return redirect()->route('vehiculos.index')->with('success', 'Vehículo actualizado exitosamente.');
4 weeks ago
}
1 week ago
public function toggleStatus($id)
{
$tipoVehiculo = tiposVeiculos::findOrFail($id);
$tipoVehiculo->status = !$tipoVehiculo->status;
$tipoVehiculo->save();
$mensaje = $tipoVehiculo->status ? 'Tipo de vehículo activado exitosamente.' : 'Tipo de vehículo desactivado exitosamente.';
return redirect()->route('vehiculos.index')->with('success', $mensaje);
}
4 weeks ago
/**
* Remove the specified resource from storage.
*/
public function destroy($id)
{
$tiposVeiculos = tiposVeiculos::find($id);
1 week ago
$tiposVeiculos->status = false;
$tiposVeiculos->save();
4 weeks ago
return redirect()->route('vehiculos.index')->with('success', 'Vehiculo eliminado exitosamente.');
}
}