Commit d05d62e6 authored by Alfonso Rafael Solis Rangel's avatar Alfonso Rafael Solis Rangel
Browse files

Merge branch 'correcciones' into 'main'

Correcciones

See merge request !34
parents 33f77813 297cd7c4
Loading
Loading
Loading
Loading
+12 −6
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@
use Maatwebsite\Excel\Concerns\WithHeadings;
use App\Models\Contacto;
use App\Models\Grupos;
use Exception;

class ContactosExport implements FromCollection, WithHeadings
{
@@ -50,10 +51,15 @@ public function collection()

        }
        
        // Mapear los datos a un formato exportable
        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
+1 −36
Original line number Diff line number Diff line
@@ -16,34 +16,6 @@
            <p><b>Nota: </b>Este módulo aun se encuentra en desarrollo, por lo que podría haber errores.</p>
            <div class="p-6 bg-gray-100 rounded-lg shadow-md">
                <form method="GET" action="" class="space-y-4" onsubmit="event.preventDefault(); logData();">
                    <!-- Listas -->
                    <!-- <div class="flex flex-col space-y-2">
                        <label for="listas" class="text-gray-700 font-semibold">Listas:</label>
                        <div class="flex space-x-2">
                            <select id="listas" class="w-full px-3 py-2 bg-white border border-gray-300 rounded-md">
                                <option value="" disabled selected>Selecciona una lista</option>
                                @foreach($listas as $lista)
                                    <option value="{{ $lista->id }}">{{ $lista->nombre }}</option>
                                @endforeach
                            </select>
                            <button type="button" onclick="agregarEtiqueta('listas', 'listasAgregadas')" class="bg-blue-500 text-white px-3 py-2 rounded-md">Agregar</button>
                        </div>
                        <div id="listasAgregadas" class="flex flex-wrap space-x-2 mt-2"></div>
                    </div> -->
                    <!-- Características -->
                    <!-- <div class="flex flex-col space-y-2">
                        <label for="caracteristicas" class="text-gray-700 font-semibold">Características:</label>
                        <div class="flex space-x-2">
                            <select id="caracteristicas" class="w-full px-3 py-2 bg-white border border-gray-300 rounded-md">
                                <option value="" disabled selected>Selecciona una característica</option>
                                @foreach($caracteristicas as $caracteristica)
                                    <option value="{{ $caracteristica->id }}">{{ $caracteristica->nombre }}</option>
                                @endforeach
                            </select>
                            <button type="button" onclick="agregarEtiqueta('caracteristicas', 'caracteristicasAgregadas')" class="bg-blue-500 text-white px-3 py-2 rounded-md">Agregar</button>
                        </div>
                        <div id="caracteristicasAgregadas" class="flex flex-wrap space-x-2 mt-2"></div>
                    </div> -->

                    <!-- Contacto -->
                    <div class="flex items-center space-x-2">
@@ -144,13 +116,6 @@ class="w-full px-3 py-2 bg-white border border-gray-300 rounded-md"
                </form>
            </div>

            <div class="flex items-center flex-wrap mb-5">
            </div>
            <table id="myTable" class="whitespace-nowrap table-hover">
                <thead></thead>
                <tbody></tbody>
            </table>

        </div>
        <div id="loader-container" class="fixed inset-0 flex items-center justify-center bg-gray-500 bg-opacity-75 hidden">
            <span id="loader" class="animate-spin border-8 border-gray-300 border-l-[#780005] border-r-[#780005] rounded-full w-14 h-14"></span>
@@ -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');
+2 −1
Original line number Diff line number Diff line
@@ -138,7 +138,8 @@ class="before:bg-gray-300 before:w-[5px] before:h-[5px] before:rounded ltr:befor
                                    <a href="/catalogos/grupos">Grupos</a>
                                </li>
                                <li>
                                    <a href="/catalogos/grupos/subgrupos">Subgrupos</a>
                                    <a href="/catalogos/subgrupos">Subgrupos</a>
                                </li>
                            </ul>
                        </li>
                    </ul>
+7 −6
Original line number Diff line number Diff line
@@ -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