diff --git a/app/Exports/ContactosExport.php b/app/Exports/ContactosExport.php
index f8b57efbea1806afd1a2e1b8d117aa9f3246ed2c..390a244881266455cf1bac6ab4995be488e3387d 100644
--- a/app/Exports/ContactosExport.php
+++ b/app/Exports/ContactosExport.php
@@ -6,6 +6,7 @@
use Maatwebsite\Excel\Concerns\WithHeadings;
use App\Models\Contacto;
use App\Models\Grupos;
+use Exception;
class ContactosExport implements FromCollection, WithHeadings
{
@@ -49,11 +50,16 @@ public function collection()
$contactos = $contactos->merge($contactosObligatorios)->unique('id');
}
-
- // Mapear los datos a un formato exportable
- return $contactos->map(function ($contacto) {
- return $this->formatContactoData($contacto);
- });
+
+ if (!$contactos->isEmpty()) {
+ return $contactos->map(function ($contacto) {
+
+ return $this->formatContactoData($contacto);
+ });
+ }else{
+ return throw new Exception('No se encontraron contactos con los filtros seleccionados.');
+ }
+
}
public function headings(): array
@@ -77,7 +83,7 @@ private function applyFilters($query)
});
} elseif (!empty($this->filters['grupos'])) {
$grupoId = $this->filters['grupos'];
- $subgruposIds = Grupos::find($grupoId)->subgrupos->pluck('id')->toArray();
+ $subgruposIds = Grupos::find(153)->subgrupos->pluck('id')->toArray();
$query->where(function ($query) use ($grupoId, $subgruposIds) {
// Contactos directamente en el grupo
diff --git a/resources/views/adminGen/contactos/export.blade.php b/resources/views/adminGen/contactos/export.blade.php
index 333b07220da577acec0fb1ded7148eb737173b88..39c6d0cfde094a4c7a895604c65d8243c73a985c 100644
--- a/resources/views/adminGen/contactos/export.blade.php
+++ b/resources/views/adminGen/contactos/export.blade.php
@@ -16,34 +16,6 @@
@@ -302,7 +267,7 @@ function logData() {
})
.catch(err => {
console.error("Error al descargar el archivo:", err);
- showToast(err.message || 'Error al descargar el archivo', 'Error', 'error');
+ showToast(err.message || 'Error al descargar el archivo.', 'Error', 'error');
})
.finally(() => {
document.getElementById('loader-container').classList.add('hidden');
diff --git a/resources/views/components/common/sidebaradmin.blade.php b/resources/views/components/common/sidebaradmin.blade.php
index 9fb2dcfbbf6d925fca5e02345d8ef1867faee37b..652385b69f66ad75b27ff96d266b7fcb7076fbd3 100644
--- a/resources/views/components/common/sidebaradmin.blade.php
+++ b/resources/views/components/common/sidebaradmin.blade.php
@@ -138,7 +138,8 @@ class="before:bg-gray-300 before:w-[5px] before:h-[5px] before:rounded ltr:befor
Grupos
- Subgrupos
+ Subgrupos
+
diff --git a/routes/web.php b/routes/web.php
index 56ee1c4d76ca9496d8c99cf114510e8794b79ac1..62d5d54f6965a93b21b576af20433dd59abccdc2 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -67,12 +67,12 @@
Route::put('/catalogos/dependencias', [DependenciaController::class, 'update'])->name('dependencias.update')->middleware(CheckRoles::class . ':admingen,admin,capturista' );
Route::delete('/catalogos/dependencias/{id}', [DependenciaController::class, 'destroy'])->name('dependencias.destroy')->middleware(CheckRoles::class . ':admingen,admin' );
- Route::get('/catalogos/grupos/subgrupos', [SubgrupoController::class, 'index'])->name('subgrupos.get')->middleware(CheckRoles::class . ':admingen,admin,capturista' );
- Route::get('/catalogos/grupos/subgrupos/crear', [SubgrupoController::class, 'create'])->name('subgrupos.create')->middleware(CheckRoles::class . ':admingen,admin,capturista' );
- Route::post('/catalogos/grupos/subgrupos/crear', [SubgrupoController::class, 'store'])->name('subgrupos.store')->middleware(CheckRoles::class . ':admingen,admin,capturista' );
- Route::get('/catalogos/grupos/subgrupos/{id}/editar', [SubgrupoController::class, 'edit'])->name('subgrupos.edit')->middleware(CheckRoles::class . ':admingen,admin,capturista' );
- Route::put('/catalogos/grupos/subgrupos/{id}/editar', [SubgrupoController::class, 'update'])->name('subgrupos.update')->middleware(CheckRoles::class . ':admingen,admin,capturista' );
- Route::delete('/catalogos/grupos/subgrupos/{id}', [SubgrupoController::class, 'destroy'])->name('subgrupos.destroy')->middleware(CheckRoles::class . ':admingen,admin' );
+ Route::get('/catalogos/subgrupos', [SubgrupoController::class, 'index'])->name('subgrupos.get')->middleware(CheckRoles::class . ':admingen,admin,capturista' );
+ Route::get('/catalogos/subgrupos/crear', [SubgrupoController::class, 'create'])->name('subgrupos.create')->middleware(CheckRoles::class . ':admingen,admin,capturista' );
+ Route::post('/catalogos/subgrupos/crear', [SubgrupoController::class, 'store'])->name('subgrupos.store')->middleware(CheckRoles::class . ':admingen,admin,capturista' );
+ Route::get('/catalogos/subgrupos/{id}/editar', [SubgrupoController::class, 'edit'])->name('subgrupos.edit')->middleware(CheckRoles::class . ':admingen,admin,capturista' );
+ Route::put('/catalogos/subgrupos/{id}/editar', [SubgrupoController::class, 'update'])->name('subgrupos.update')->middleware(CheckRoles::class . ':admingen,admin,capturista' );
+ Route::delete('/catalogos/subgrupos/{id}', [SubgrupoController::class, 'destroy'])->name('subgrupos.destroy')->middleware(CheckRoles::class . ':admingen,admin' );
});
Route::middleware('auth:sanctum',
@@ -158,4 +158,5 @@
Route::get('/reportes/contactos/buscar', [ReporteController::class, 'find'])->name('find')->middleware(CheckRoles::class . ':admingen,admin,capturista,lector');
Route::post('/reportes/contactos/exportar', [ReporteController::class, 'export'])->name('export')->middleware(CheckRoles::class . ':admingen,admin,capturista,lector');
Route::get('/reportes/subgrupos/{id}', [ReporteController::class, 'getSubgrupos'])->name('subgrupos')->middleware(CheckRoles::class . ':admingen,admin,capturista,lector');
+ Route::post("/reportes/listas/exportar", [ReporteController::class, 'exportListas'])->name('exportListas')->middleware(CheckRoles::class . ':admingen,admin,capturista,lector');
});
\ No newline at end of file