diff --git a/ProcessMaker/Http/Kernel.php b/ProcessMaker/Http/Kernel.php index 4501f7a80e..5d1214f54d 100644 --- a/ProcessMaker/Http/Kernel.php +++ b/ProcessMaker/Http/Kernel.php @@ -79,6 +79,7 @@ class Kernel extends HttpKernel 'saml_request' => \ProcessMaker\Http\Middleware\SamlRequest::class, 'session_block' => \ProcessMaker\Http\Middleware\SessionControlBlock::class, 'session_kill' => \ProcessMaker\Http\Middleware\SessionControlKill::class, + 'no-cache' => \ProcessMaker\Http\Middleware\NoCache::class, ]; /** diff --git a/ProcessMaker/Http/Middleware/NoCache.php b/ProcessMaker/Http/Middleware/NoCache.php new file mode 100644 index 0000000000..d85df5ff3b --- /dev/null +++ b/ProcessMaker/Http/Middleware/NoCache.php @@ -0,0 +1,26 @@ +header('Cache-Control', 'no-cache, no-store, must-revalidate'); + $response->header('Pragma', 'no-cache'); + $response->header('Expires', '0'); + + return $response; + } +} diff --git a/routes/web.php b/routes/web.php index 053a3d6a75..75a178e383 100644 --- a/routes/web.php +++ b/routes/web.php @@ -36,6 +36,7 @@ use ProcessMaker\Http\Controllers\TemplateController; use ProcessMaker\Http\Controllers\TestStatusController; use ProcessMaker\Http\Controllers\UnavailableController; +use ProcessMaker\Http\Middleware\NoCache; Route::middleware('auth', 'session_kill', 'sanitize', 'force_change_password', '2fa')->group(function () { // Routes related to Authentication (password reset, etc) @@ -126,15 +127,20 @@ Route::get('requests/search', [RequestController::class, 'search'])->name('requests.search'); Route::get('requests/{type?}', [RequestController::class, 'index']) ->where('type', 'all|in_progress|completed') - ->name('requests_by_type'); + ->name('requests_by_type') + ->middleware('no-cache'); Route::get('request/{request}/files/{media}', [RequestController::class, 'downloadFiles'])->middleware('can:view,request'); - Route::get('requests', [RequestController::class, 'index'])->name('requests.index'); + Route::get('requests', [RequestController::class, 'index']) + ->name('requests.index') + ->middleware('no-cache'); Route::get('requests/{request}', [RequestController::class, 'show'])->name('requests.show'); Route::get('requests/mobile/{request}', [RequestController::class, 'show'])->name('requests.showMobile'); Route::get('requests/{request}/task/{task}/screen/{screen}', [RequestController::class, 'screenPreview'])->name('requests.screen-preview'); Route::get('tasks/search', [TaskController::class, 'search'])->name('tasks.search'); - Route::get('tasks', [TaskController::class, 'index'])->name('tasks.index'); + Route::get('tasks', [TaskController::class, 'index']) + ->name('tasks.index') + ->middleware('no-cache'); Route::get('tasks/{task}/edit', [TaskController::class, 'edit'])->name('tasks.edit'); Route::get('tasks/{task}/edit/{preview}', [TaskController::class, 'edit'])->name('tasks.preview');