23 lines
1.7 KiB
PHP
23 lines
1.7 KiB
PHP
<?php
|
|
|
|
use Illuminate\Support\Facades\Route;
|
|
use Modules\TimelineScheduling\Http\Controllers\MilestoneController;
|
|
use Modules\TimelineScheduling\Http\Controllers\ScheduleController;
|
|
|
|
Route::middleware(['web', 'auth', 'permission:projects.access'])->group(function () {
|
|
Route::get('scheduling', [MilestoneController::class, 'index'])->name('projects.scheduling.index');
|
|
Route::post('scheduling/milestones', [MilestoneController::class, 'store'])->name('projects.milestones.store');
|
|
Route::put('scheduling/milestones/{milestone}', [MilestoneController::class, 'update'])->name('projects.milestones.update');
|
|
Route::delete('scheduling/milestones/{milestone}', [MilestoneController::class, 'destroy'])->name('projects.milestones.destroy');
|
|
|
|
// Gantt Schedule & Dependencies
|
|
Route::get('projects/{project}/gantt', [ScheduleController::class, 'gantt'])->name('projects.gantt');
|
|
Route::get('projects/{project}/gantt/data', [ScheduleController::class, 'ganttData'])->name('projects.gantt.data');
|
|
Route::patch('projects/{project}/tasks/{task}/schedule', [ScheduleController::class, 'updateSchedule'])->name('projects.schedule.update');
|
|
Route::post('dependencies', [ScheduleController::class, 'storeDependency'])->name('dependencies.store');
|
|
Route::delete('dependencies/{dependency}', [ScheduleController::class, 'destroyDependency'])->name('dependencies.destroy');
|
|
Route::post('milestones', [ScheduleController::class, 'storeMilestone'])->name('milestones.store');
|
|
Route::patch('milestones/{milestone}/achieve', [ScheduleController::class, 'achieveMilestone'])->name('milestones.achieve');
|
|
Route::delete('milestones/{milestone}', [ScheduleController::class, 'destroyMilestone'])->name('milestones.destroy');
|
|
});
|