refactor(livewire): organizar componentes y vistas por dominio en subnamespaces
- app/Livewire: 34 componentes agrupados en Issues/, Projects/, Phases/, Companies/, Users/, Admin/, Inspections/, Layers/, Media/, Common/ (Client/, Reports/, Forms/, Actions/ ya estaban). Namespaces actualizados. - resources/views/livewire: vistas sueltas movidas a subcarpetas espejo (companies/, users/, phases/, roles/, inspections/, media/, common/); render() actualizado. - Referencias actualizadas sin romper nada: rutas (FQN, nombres de ruta intactos), tags <livewire:...>/@livewire() a alias con punto, y use de los tests. - No tocado: Volt de Breeze (auth/profile/navigation), y el portal cliente (user-nav/client-projects) que ya tenía referencias inconsistentes. Verificado: 69 rutas OK, vistas compilan, suite 69 passing (solo 2 pre-existentes sqlite). autoload regenerado con --ignore-platform-reqs (PHP 8.2). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
+24
-24
@@ -4,10 +4,10 @@ use App\Http\Controllers\ProfileController;
|
||||
use App\Livewire\Reports\ReportsDashboard;
|
||||
use App\Http\Controllers\ProjectController;
|
||||
use App\Http\Controllers\OfflineSyncController;
|
||||
use App\Livewire\ProjectMap;
|
||||
use App\Livewire\ProjectList;
|
||||
use App\Livewire\PhaseProgress;
|
||||
use App\Livewire\PhaseGantt;
|
||||
use App\Livewire\Projects\ProjectMap;
|
||||
use App\Livewire\Projects\ProjectList;
|
||||
use App\Livewire\Phases\PhaseProgress;
|
||||
use App\Livewire\Phases\PhaseGantt;
|
||||
use App\Http\Controllers\ProjectReportController;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
@@ -97,8 +97,8 @@ Route::get('/reports/dashboard', ReportsDashboard::class)->name('reports.dashboa
|
||||
// Gestión de proyectos
|
||||
// ------------------------------------------------------------
|
||||
// Create/Edit handled by unified Livewire component
|
||||
Route::get('/projects/create', \App\Livewire\ProjectForm::class)->name('projects.create');
|
||||
Route::get('/projects/{project}/edit', \App\Livewire\ProjectForm::class)->name('projects.edit');
|
||||
Route::get('/projects/create', \App\Livewire\Projects\ProjectForm::class)->name('projects.create');
|
||||
Route::get('/projects/{project}/edit', \App\Livewire\Projects\ProjectForm::class)->name('projects.edit');
|
||||
Route::resource('projects', ProjectController::class)->except(['create', 'edit']);
|
||||
// Ruta personalizada para ver el mapa de un proyecto específico
|
||||
Route::get('/projects/{project}/map', [ProjectController::class, 'map'])->name('projects.map');
|
||||
@@ -111,21 +111,21 @@ Route::get('/reports/dashboard', ReportsDashboard::class)->name('reports.dashboa
|
||||
})->name('projects.templates')->middleware('can:edit projects');
|
||||
|
||||
// Rutas para el LayerManager:
|
||||
Route::get('/projects/{project}/phases/{phase}/layers/manage', \App\Livewire\LayerManager::class)->name('layers.manage');
|
||||
Route::get('/projects/{project}/phases/{phase}/layers/manage', \App\Livewire\Layers\LayerManager::class)->name('layers.manage');
|
||||
|
||||
// Cronograma Gantt y reporte del proyecto
|
||||
Route::get('/projects/{project}/gantt', PhaseGantt::class)->name('projects.gantt');
|
||||
Route::get('/projects/{project}/report', [ProjectReportController::class, 'show'])->name('projects.report');
|
||||
|
||||
// Issues del proyecto
|
||||
Route::get('/projects/{project}/issues', \App\Livewire\IssueManager::class)->name('projects.issues');
|
||||
Route::get('/projects/{project}/issues/create', \App\Livewire\IssueForm::class)->name('projects.issues.create');
|
||||
Route::get('/projects/{project}/issues/checklists', \App\Livewire\IssueChecklistManager::class)->name('projects.issues.checklists');
|
||||
Route::get('/projects/{project}/issues/{issue}', \App\Livewire\IssueDetail::class)->name('projects.issues.show');
|
||||
Route::get('/projects/{project}/issues/{issue}/edit', \App\Livewire\IssueForm::class)->name('projects.issues.edit');
|
||||
Route::get('/projects/{project}/issues', \App\Livewire\Issues\IssueManager::class)->name('projects.issues');
|
||||
Route::get('/projects/{project}/issues/create', \App\Livewire\Issues\IssueForm::class)->name('projects.issues.create');
|
||||
Route::get('/projects/{project}/issues/checklists', \App\Livewire\Issues\IssueChecklistManager::class)->name('projects.issues.checklists');
|
||||
Route::get('/projects/{project}/issues/{issue}', \App\Livewire\Issues\IssueDetail::class)->name('projects.issues.show');
|
||||
Route::get('/projects/{project}/issues/{issue}/edit', \App\Livewire\Issues\IssueForm::class)->name('projects.issues.edit');
|
||||
|
||||
// Dashboard por proyecto
|
||||
Route::get('/projects/{project}/dashboard', \App\Livewire\ProjectDashboard::class)->name('projects.dashboard');
|
||||
Route::get('/projects/{project}/dashboard', \App\Livewire\Projects\ProjectDashboard::class)->name('projects.dashboard');
|
||||
|
||||
// Cliente: portal cliente
|
||||
Route::middleware(['auth', 'role:client'])->prefix('client')->name('client.')->group(function () {
|
||||
@@ -137,24 +137,24 @@ Route::get('/reports/dashboard', ReportsDashboard::class)->name('reports.dashboa
|
||||
// Admin: gestión de usuarios y roles (cada ruta protegida por su permiso)
|
||||
Route::prefix('admin')->name('admin.')->group(function () {
|
||||
Route::get('/users', function () { return view('admin.users'); })->middleware('can:view users')->name('users');
|
||||
Route::get('/users/create', \App\Livewire\UserForm::class)->middleware('can:create users')->name('users.create');
|
||||
Route::get('/users/{user}', \App\Livewire\UserView::class)->middleware('can:view users')->name('users.show');
|
||||
Route::get('/users/{user}/edit', \App\Livewire\UserForm::class)->middleware('can:edit users')->name('users.edit');
|
||||
Route::get('/users/create', \App\Livewire\Users\UserForm::class)->middleware('can:create users')->name('users.create');
|
||||
Route::get('/users/{user}', \App\Livewire\Users\UserView::class)->middleware('can:view users')->name('users.show');
|
||||
Route::get('/users/{user}/edit', \App\Livewire\Users\UserForm::class)->middleware('can:edit users')->name('users.edit');
|
||||
Route::get('/roles', function () { return view('admin.roles'); })->middleware('can:manage roles')->name('roles');
|
||||
Route::get('/roles/create', \App\Livewire\RoleForm::class)->middleware('can:manage roles')->name('roles.create');
|
||||
Route::get('/roles/{role}/edit', \App\Livewire\RoleForm::class)->middleware('can:manage roles')->name('roles.edit');
|
||||
Route::get('/roles/{role}', \App\Livewire\RoleView::class)->middleware('can:manage roles')->name('roles.show');
|
||||
Route::get('/permissions', \App\Livewire\RolePermissionManager::class)->middleware('can:manage roles')->name('permissions');
|
||||
Route::get('/roles/create', \App\Livewire\Admin\RoleForm::class)->middleware('can:manage roles')->name('roles.create');
|
||||
Route::get('/roles/{role}/edit', \App\Livewire\Admin\RoleForm::class)->middleware('can:manage roles')->name('roles.edit');
|
||||
Route::get('/roles/{role}', \App\Livewire\Admin\RoleView::class)->middleware('can:manage roles')->name('roles.show');
|
||||
Route::get('/permissions', \App\Livewire\Admin\RolePermissionManager::class)->middleware('can:manage roles')->name('permissions');
|
||||
});
|
||||
|
||||
// Gestor de medios
|
||||
Route::get('/projects/{project}/media', function (\App\Models\Project $project) {
|
||||
return view('projects.media', compact('project'));
|
||||
})->name('projects.media');
|
||||
Route::get('/companies', \App\Livewire\CompanyManagement::class)->name('companies.manage');
|
||||
Route::get('/companies/create', \App\Livewire\CompanyForm::class)->name('companies.create');
|
||||
Route::get('/companies/{company}', \App\Livewire\CompanyView::class)->name('companies.show');
|
||||
Route::get('/companies/{company}/edit', \App\Livewire\CompanyForm::class)->name('companies.edit');
|
||||
Route::get('/companies', \App\Livewire\Companies\CompanyManagement::class)->name('companies.manage');
|
||||
Route::get('/companies/create', \App\Livewire\Companies\CompanyForm::class)->name('companies.create');
|
||||
Route::get('/companies/{company}', \App\Livewire\Companies\CompanyView::class)->name('companies.show');
|
||||
Route::get('/companies/{company}/edit', \App\Livewire\Companies\CompanyForm::class)->name('companies.edit');
|
||||
|
||||
// ------------------------------------------------------------
|
||||
// Sincronización offline (para trabajadores en campo)
|
||||
|
||||
Reference in New Issue
Block a user