Files
GSB-Construction/Modules/ProjectManagement/routes/web.php

30 lines
2.3 KiB
PHP

<?php
use Illuminate\Support\Facades\Route;
use Modules\ProjectManagement\Http\Controllers\ProjectController;
Route::middleware(['web', 'auth', 'permission:projects.access'])->group(function () {
Route::resource('projects', ProjectController::class)->except(['destroy']);
Route::delete('projects/{project}/discard', [ProjectController::class, 'discard'])->name('projects.discard');
Route::patch('projects/{project}/transition', [ProjectController::class, 'transition'])->name('projects.transition');
// Project Wizard Routes
Route::get('projects/{project}/wizard', [ProjectController::class, 'wizard'])->name('projects.wizard');
Route::post('projects/{project}/wizard/details', [ProjectController::class, 'saveWizardDetails'])->name('projects.wizard.save-details');
Route::post('projects/{project}/wizard/tasks', [ProjectController::class, 'saveWizardTasks'])->name('projects.wizard.tasks');
Route::post('projects/{project}/wizard/estimates', [ProjectController::class, 'saveWizardEstimates'])->name('projects.wizard.estimates');
Route::post('projects/{project}/wizard/labor', [ProjectController::class, 'saveWizardLabor'])->name('projects.wizard.labor');
Route::post('projects/{project}/wizard/equipment', [ProjectController::class, 'saveWizardEquipment'])->name('projects.wizard.equipment');
Route::post('projects/{project}/wizard/submit', [ProjectController::class, 'submitWizardForApproval'])->name('projects.wizard.submit');
Route::get('projects/{project}/wizard/export/excel', [ProjectController::class, 'exportWizardExcel'])->name('projects.wizard.export.excel');
Route::get('projects/{project}/wizard/export/pdf', [ProjectController::class, 'exportWizardPdf'])->name('projects.wizard.export.pdf');
// Additional Project Views
Route::get('projects/{project}/team', [ProjectController::class, 'team'])->name('projects.team');
Route::get('projects/{project}/materials', [ProjectController::class, 'materials'])->name('projects.materials');
// Personnel Management
Route::post('projects/{project}/personnel', [ProjectController::class, 'addPersonnel'])->name('projects.personnel.add');
Route::delete('projects/{project}/personnel/{user}', [ProjectController::class, 'removePersonnel'])->name('projects.personnel.remove');
});