diff --git a/ -i b/ -i new file mode 100644 index 0000000..e69de29 diff --git a/app/Http/Controllers/MarcaController.php b/app/Http/Controllers/MarcaController.php index c93a0da..9bafa5b 100644 --- a/app/Http/Controllers/MarcaController.php +++ b/app/Http/Controllers/MarcaController.php @@ -14,27 +14,20 @@ class MarcaController extends Controller { $busqueda = $request->busqueda; - if($busqueda) { - $marcas = Marca::where('nombre', 'LIKE', "%{$busqueda}%")->get(); + if ($busqueda) { + // Busca en la columna 'marca' de la tabla 'marcas' + $marcas = Marca::where('marca', 'LIKE', "%{$busqueda}%")->get(); - if($marcas->count() == 0) { - return redirect()->route('marca.index') - ->with('error', 'No existe ninguna marca con el nombre "' . $busqueda . '". Por favor, inténtalo de nuevo.'); + if ($marcas->isEmpty()) { + return redirect()->route('marca.index') + ->with('error', 'No existe ninguna marca con el nombre "' . $busqueda . '". Por favor, inténtalo de nuevo.'); + } + } else { + // Si no hay búsqueda, mostrar todas las marcas + $marcas = Marca::where('eliminado', 0)->get(); } - // Si solo hay una marca, mostrar sus detalles - if($marcas->count() == 1) { - $marca = $marcas->first(); - return redirect()->route('marca.edit', $marca->id); - } - - // Si hay múltiples coincidencias, mostrar la lista filtrada - return view('marca', ["marcas" => $marcas]); - } - - // Si no hay búsqueda, mostrar todas las marcas - $marcas = Marca::all(); - return view('marcas', ["marcas" => $marcas]); + return view('marcas', ['marcas' => $marcas]); } /** @@ -42,8 +35,7 @@ class MarcaController extends Controller */ public function create() { - $marcas = Marca::all(); - return view('marcasCrearEditar',['marcas'=>$marcas]); + return view('marcasCrearEditar', ['marca' => null]); // No se necesita pasar marcas } /** @@ -51,17 +43,13 @@ class MarcaController extends Controller */ public function store(Request $request) { - $marca = new Marca($request->all()); + // Crea una nueva marca + $marca = new Marca(); + $marca->marca = $request->marca; // Asigna el nombre ingresado por el usuario + $marca->eliminado = 0; // Marca como activa por defecto $marca->save(); - return redirect()->route('marca.index')->with('success', 'Marca creada exitosamente.'); - } - /** - * Display the specified resource. - */ - public function show(Marca $marca) - { - // + return redirect()->route('marca.index')->with('success', 'Marca creada exitosamente.'); } /** @@ -69,8 +57,8 @@ class MarcaController extends Controller */ public function edit($id) { - $marca = Marca::find($id); - return view('marcasCrearEditar',['marca'=>$marca]); + $marca = Marca::findOrFail($id); // Busca la marca por ID + return view('marcasCrearEditar', ['marca' => $marca]); // Pasa la marca a la vista } /** @@ -78,20 +66,23 @@ class MarcaController extends Controller */ public function update(Request $request, $id) { - $marca = Marca::find($id); - $marca->fill($request->all()); - $marca->save(); - return redirect()->route('marca.index')->with('success', 'Marca actualizada exitosamente.'); + $marca = Marca::findOrFail($id); // Encuentra la marca por ID + $marca->marca = $request->marca; // Actualiza el nombre de la marca + $marca->eliminado = 0; // Cambia el estado a activo si se está editando + $marca->save(); // Guarda los cambios + + return redirect()->route('marca.index')->with('success', 'Marca actualizada correctamente.'); } /** * Remove the specified resource from storage. */ - public function destroy($id ) + public function destroy($id) { - $marca = Marca::find($id); - $marca->delete(); - return redirect()->route('marca.index')->with('success', 'Marca eliminada exitosamente.'); + $marca = Marca::findOrFail($id); // Encuentra la marca por ID + $marca->eliminado = 1; // Cambia el estado a inactivo + $marca->save(); // Guarda los cambios + return redirect()->route('marca.index')->with('success', 'Marca inactivada correctamente.'); } } diff --git a/app/Http/Controllers/TiposLicenciasController.php b/app/Http/Controllers/TiposLicenciasController.php new file mode 100644 index 0000000..fd8d379 --- /dev/null +++ b/app/Http/Controllers/TiposLicenciasController.php @@ -0,0 +1,96 @@ +busqueda; + + if($busqueda) { + $tiposLicencias = TiposLicencias::where('nombre', 'LIKE', "%{$busqueda}%")->get(); + + if($tiposLicencias->count() == 0) { + return redirect()->route('tiposLicencias.index') + ->with('error', 'No existe ningún tipo de licencia con el nombre "' . $busqueda . '". Por favor, inténtalo de nuevo.'); + } + + // Si solo hay un tipo de licencia, mostrar sus detalles + if($tiposLicencias->count() == 1) { + $tipoLicencia = $tiposLicencias->first(); + return redirect()->route('tiposLicencias.edit', $tipoLicencia->id); + } + + // Si hay múltiples coincidencias, mostrar la lista filtrada + return view('tiposLicencias', ["tiposLicencias" => $tiposLicencias]); + } + + // Si no hay búsqueda, mostrar todos los tipos de licencias + $tiposLicencias = TiposLicencias::all(); + return view('tiposLicencias', ["tiposLicencias" => $tiposLicencias]); + } + + /** + * Show the form for creating a new resource. + */ + public function create() + { + $tiposLicencias = TiposLicencias::all(); + return view('tiposLicenciasCrearEditar',['tiposLicencias'=>$tiposLicencias]); + } + + /** + * Store a newly created resource in storage. + */ + public function store(Request $request) + { + $tipoLicencia = new TiposLicencias($request->all()); + $tipoLicencia->save(); + return redirect()->route('tiposLicencias.index')->with('success', 'Tipo de licencia creado exitosamente.'); + } + + /** + * Display the specified resource. + */ + public function show(TiposLicencias $tipoLicencia) + { + // + } + + /** + * Show the form for editing the specified resource. + */ + public function edit($id) + { + $tipoLicencia = TiposLicencias::find($id); + return view('tiposLicenciasCrearEditar',['tipoLicencia'=>$tipoLicencia]); + } + + /** + * Update the specified resource in storage. + */ + public function update(Request $request, $id) + { + $tipoLicencia = TiposLicencias::find($id); + $tipoLicencia->fill($request->all()); + $tipoLicencia->save(); + return redirect()->route('tiposLicencias.index')->with('success', 'Tipo de licencia actualizado exitosamente.'); + } + + /** + * Remove the specified resource from storage. + */ + public function destroy($id) + { + $tipoLicencia = TiposLicencias::find($id); + $tipoLicencia->delete(); + return redirect()->route('tiposLicencias.index')->with('success', 'Tipo de licencia eliminado exitosamente.'); + } +} diff --git a/app/Models/Capacidad.php b/app/Models/Capacidad.php index f495253..43eb662 100644 --- a/app/Models/Capacidad.php +++ b/app/Models/Capacidad.php @@ -5,6 +5,7 @@ namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; + class Capacidad extends Model { use HasFactory; diff --git a/app/Models/Marca.php b/app/Models/Marca.php index 91be636..a65769b 100644 --- a/app/Models/Marca.php +++ b/app/Models/Marca.php @@ -4,12 +4,17 @@ namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; +use Illuminate\Database\Eloquent\Relations\HasOne; class Marca extends Model { use HasFactory; protected $table = 'marcas'; - - protected $fillable = ['nombre']; + + protected $fillable = ['marca']; + /*public function Marc():HasOne{ + return $this->hasOne(marc::class, 'id','marcs_id'); + + }*/ } diff --git a/app/Models/marc.php b/app/Models/marc.php new file mode 100644 index 0000000..d19eace --- /dev/null +++ b/app/Models/marc.php @@ -0,0 +1,11 @@ + + */ +class TiposLicenciasFactory extends Factory +{ + /** + * Define the model's default state. + * + * @return array + */ + public function definition(): array + { + return [ + // + ]; + } +} diff --git a/database/migrations/2014_10_12_000000_create_users_table.php b/database/migrations/2014_10_12_000000_create_users_table.php index 444fafb..8bf368e 100644 --- a/database/migrations/2014_10_12_000000_create_users_table.php +++ b/database/migrations/2014_10_12_000000_create_users_table.php @@ -20,6 +20,11 @@ return new class extends Migration $table->rememberToken(); $table->timestamps(); }); + DB::table('users')->insert([ + 'name'=> 'Administrador', + 'email'=> 'admin@admin.com', + 'password'=> bcrypt('12345678') + ]); } /** diff --git a/database/migrations/2025_01_18_230913_create_marcs_table.php b/database/migrations/2025_01_18_230913_create_marcs_table.php new file mode 100644 index 0000000..55461fe --- /dev/null +++ b/database/migrations/2025_01_18_230913_create_marcs_table.php @@ -0,0 +1,62 @@ +id(); + $table->string('name'); + $table->timestamps(); + }); + DB::table('marcs')->insert([ + ['name' => 'chevrolet'], + ['name' => 'nissan'], + ['name' => 'ford'], + ['name' => 'toyota'], + ['name' => 'honda'], + ['name' => 'bmw'], + ['name' => 'audi'], + ['name' => 'mercedes-benz'], + ['name' => 'volkswagen'], + ['name' => 'hyundai'], + ['name' => 'kia'], + ['name' => 'subaru'], + ['name' => 'mazda'], + ['name' => 'peugeot'], + ['name' => 'renault'], + ['name' => 'fiat'], + ['name' => 'land rover'], + ['name' => 'jaguar'], + ['name' => 'tesla'], + ['name' => 'porsche'], + ['name' => 'volvo'], + ['name' => 'mitsubishi'], + ['name' => 'chrysler'], + ['name' => 'dodge'], + ['name' => 'jeep'], + ['name' => 'buick'], + ['name' => 'gmc'], + ['name' => 'infiniti'], + ['name' => 'lexus'], + ['name' => 'acura'], + ['name' => 'alfa romeo'], + // Agrega más marcas según sea necesario + ]); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('marcs'); + } +}; diff --git a/database/migrations/2025_02_28_192615_create_marcas_table.php b/database/migrations/2025_02_28_192615_create_marcas_table.php index cb30b5f..d1fc322 100644 --- a/database/migrations/2025_02_28_192615_create_marcas_table.php +++ b/database/migrations/2025_02_28_192615_create_marcas_table.php @@ -13,8 +13,9 @@ return new class extends Migration { Schema::create('marcas', function (Blueprint $table) { $table->id(); - $table->string('nombre'); + $table->string('marca'); $table->timestamps(); + // funciona como enlace de una tabla a otra par agregar valores ya definidos $table->foreign('marcs_id')->references('id')->on('marcs'); }); } diff --git a/database/migrations/2025_03_13_133629_create_capacidads_table.php b/database/migrations/2025_03_13_133629_create_capacidads_table.php index 87eb55b..59d6557 100644 --- a/database/migrations/2025_03_13_133629_create_capacidads_table.php +++ b/database/migrations/2025_03_13_133629_create_capacidads_table.php @@ -13,7 +13,7 @@ return new class extends Migration { Schema::create('capacidades', function (Blueprint $table) { $table->id(); - $table->integer('capacidad')->unique(); + $table->integer('capacidad'); $table->timestamps(); }); } diff --git a/database/migrations/2025_03_13_143153_create_tipos_licencias_table.php b/database/migrations/2025_03_13_143153_create_tipos_licencias_table.php new file mode 100644 index 0000000..2e600ce --- /dev/null +++ b/database/migrations/2025_03_13_143153_create_tipos_licencias_table.php @@ -0,0 +1,28 @@ +id(); + $table->string('tipoLicencia'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('tiposLicencias'); + } +}; diff --git a/database/migrations/2025_03_13_050724_add_tipo_combustible_to_tipos_veiculos_table.php b/database/migrations/2025_03_19_030418_add_columneliminado_tomarcas.php similarity index 58% rename from database/migrations/2025_03_13_050724_add_tipo_combustible_to_tipos_veiculos_table.php rename to database/migrations/2025_03_19_030418_add_columneliminado_tomarcas.php index 07722dc..bca0bba 100644 --- a/database/migrations/2025_03_13_050724_add_tipo_combustible_to_tipos_veiculos_table.php +++ b/database/migrations/2025_03_19_030418_add_columneliminado_tomarcas.php @@ -11,8 +11,9 @@ return new class extends Migration */ public function up(): void { - Schema::table('tipos_veiculos', function (Blueprint $table) { - $table->string('tipo_combustible')->after('nombre')->nullable(); + + Schema::table('marcas', function (Blueprint $table) { + $table->boolean('eliminado')->default(false); }); } @@ -21,8 +22,8 @@ return new class extends Migration */ public function down(): void { - Schema::table('tipos_veiculos', function (Blueprint $table) { - $table->dropColumn('tipo_combustible'); + Schema::table('marcas', function (Blueprint $table) { + $table->dropColumn('eliminado'); }); } }; diff --git a/database/seeders/TiposLicenciasSeeder.php b/database/seeders/TiposLicenciasSeeder.php new file mode 100644 index 0000000..bd22eb7 --- /dev/null +++ b/database/seeders/TiposLicenciasSeeder.php @@ -0,0 +1,17 @@ +
- +
diff --git a/resources/views/layouts/dashboard.blade.php b/resources/views/layouts/dashboard.blade.php index 9ea01e9..dff585b 100644 --- a/resources/views/layouts/dashboard.blade.php +++ b/resources/views/layouts/dashboard.blade.php @@ -186,10 +186,10 @@
diff --git a/resources/views/marcas.blade.php b/resources/views/marcas.blade.php index 999332e..3564c4a 100644 --- a/resources/views/marcas.blade.php +++ b/resources/views/marcas.blade.php @@ -2,7 +2,9 @@ @section('content')
- + + + @if(session('success'))