Loading app/Http/Controllers/ListaController.php +29 −4 Original line number Diff line number Diff line Loading @@ -65,17 +65,42 @@ public function show(string $id) /** * Show the form for editing the specified resource. */ public function edit(Lista $lista) public function edit(string $id) { // $contactos = Contacto::get(); $grupos = Grupos::get(); $subgrupos = Subgrupo::get(); $lista = Lista::with('contactos', 'grupos', 'subgrupos')->findOrFail($id); return view('adminGen.listas.edit', compact('lista', 'contactos', 'grupos', 'subgrupos')); } /** * Update the specified resource in storage. */ public function update(Request $request, Lista $lista) public function update(Request $request, string $id) { // // Validar solo los campos necesarios $request->validate([ 'nombre' => 'required|string|max:255', ]); // Recuperar la lista existente $lista = Lista::findOrFail($id); // Actualizar el nombre $lista->update($request->only('nombre')); // Filtrar valores null y cadenas "null" antes de sincronizar $grupoIds = array_filter($request->input('grupo_id', []), fn($value) => $value !== 'null'); $subgrupoIds = array_filter($request->input('subgrupo_id', []), fn($value) => $value !== 'null'); $contactoIds = array_filter($request->input('contacto_id', []), fn($value) => $value !== 'null'); // Sincronizar relaciones $lista->grupos()->sync($grupoIds); $lista->subgrupos()->sync($subgrupoIds); $lista->contactos()->sync($contactoIds); return redirect()->route('listas.get')->with('success', 'Lista actualizada correctamente.'); } /** Loading resources/views/adminGen/listas/edit.blade.php 0 → 100644 +399 −0 File added.Preview size limit exceeded, changes collapsed. Show changes routes/web.php +1 −0 Original line number Diff line number Diff line Loading @@ -102,5 +102,6 @@ Route::post('/listas/crear', [ListaController::class, 'store'])->name('store')->middleware(CheckRoles::class . ':admingen,admin,capturista'); route::get('/listas/{id}/ver', [ListaController::class, 'show'])->name('show')->middleware(CheckRoles::class . ':admingen,admin,capturista'); Route::get('/listas/{id}/editar', [ListaController::class, 'edit'])->name('edit')->middleware(CheckRoles::class . ':admingen,admin,capturista' ); Route::put('/listas/{id}/editar', [ListaController::class, 'update'])->name('update')->middleware(CheckRoles::class . ':admingen,admin,capturista' ); Route::delete('/listas/{id}', [ListaController::class, 'destroy'])->name('destroy')->middleware(CheckRoles::class . ':admingen,admin,capturista'); }); Loading
app/Http/Controllers/ListaController.php +29 −4 Original line number Diff line number Diff line Loading @@ -65,17 +65,42 @@ public function show(string $id) /** * Show the form for editing the specified resource. */ public function edit(Lista $lista) public function edit(string $id) { // $contactos = Contacto::get(); $grupos = Grupos::get(); $subgrupos = Subgrupo::get(); $lista = Lista::with('contactos', 'grupos', 'subgrupos')->findOrFail($id); return view('adminGen.listas.edit', compact('lista', 'contactos', 'grupos', 'subgrupos')); } /** * Update the specified resource in storage. */ public function update(Request $request, Lista $lista) public function update(Request $request, string $id) { // // Validar solo los campos necesarios $request->validate([ 'nombre' => 'required|string|max:255', ]); // Recuperar la lista existente $lista = Lista::findOrFail($id); // Actualizar el nombre $lista->update($request->only('nombre')); // Filtrar valores null y cadenas "null" antes de sincronizar $grupoIds = array_filter($request->input('grupo_id', []), fn($value) => $value !== 'null'); $subgrupoIds = array_filter($request->input('subgrupo_id', []), fn($value) => $value !== 'null'); $contactoIds = array_filter($request->input('contacto_id', []), fn($value) => $value !== 'null'); // Sincronizar relaciones $lista->grupos()->sync($grupoIds); $lista->subgrupos()->sync($subgrupoIds); $lista->contactos()->sync($contactoIds); return redirect()->route('listas.get')->with('success', 'Lista actualizada correctamente.'); } /** Loading
resources/views/adminGen/listas/edit.blade.php 0 → 100644 +399 −0 File added.Preview size limit exceeded, changes collapsed. Show changes
routes/web.php +1 −0 Original line number Diff line number Diff line Loading @@ -102,5 +102,6 @@ Route::post('/listas/crear', [ListaController::class, 'store'])->name('store')->middleware(CheckRoles::class . ':admingen,admin,capturista'); route::get('/listas/{id}/ver', [ListaController::class, 'show'])->name('show')->middleware(CheckRoles::class . ':admingen,admin,capturista'); Route::get('/listas/{id}/editar', [ListaController::class, 'edit'])->name('edit')->middleware(CheckRoles::class . ':admingen,admin,capturista' ); Route::put('/listas/{id}/editar', [ListaController::class, 'update'])->name('update')->middleware(CheckRoles::class . ':admingen,admin,capturista' ); Route::delete('/listas/{id}', [ListaController::class, 'destroy'])->name('destroy')->middleware(CheckRoles::class . ':admingen,admin,capturista'); });