diff options
Diffstat (limited to 'src/Middleware')
-rw-r--r-- | src/Middleware/ErrorHandler.php | 25 | ||||
-rw-r--r-- | src/Middleware/LegacyMiddleware.php | 20 |
2 files changed, 19 insertions, 26 deletions
diff --git a/src/Middleware/ErrorHandler.php b/src/Middleware/ErrorHandler.php index 46e6e5a8..85f315d4 100644 --- a/src/Middleware/ErrorHandler.php +++ b/src/Middleware/ErrorHandler.php @@ -63,17 +63,11 @@ class ErrorHandler implements MiddlewareInterface } catch (HttpException $e) { $response = $this->createResponse($e->getMessage(), $e->getStatusCode(), $e->getHeaders()); } catch (ValidationException $e) { - $response = $this->createResponse('', 302, ['Location' => $this->getPreviousUrl($request)]); + $response = $this->redirectBack(); + $response->with('errors', ['validation' => $e->getValidator()->getErrors()]); if ($request instanceof Request) { - $session = $request->getSession(); - $errors = array_merge_recursive( - $session->get('errors', []), - ['validation' => $e->getValidator()->getErrors()] - ); - $session->set('errors', $errors); - - $session->set('form-data', Arr::except($request->request->all(), $this->formIgnore)); + $response->withInput(Arr::except($request->request->all(), $this->formIgnore)); } } @@ -140,15 +134,12 @@ class ErrorHandler implements MiddlewareInterface } /** - * @param ServerRequestInterface $request - * @return string + * Create a redirect back response + * + * @return Response */ - protected function getPreviousUrl(ServerRequestInterface $request) + protected function redirectBack() { - if ($header = $request->getHeader('referer')) { - return array_pop($header); - } - - return '/'; + return back(); } } diff --git a/src/Middleware/LegacyMiddleware.php b/src/Middleware/LegacyMiddleware.php index 8a0ff002..5e08858d 100644 --- a/src/Middleware/LegacyMiddleware.php +++ b/src/Middleware/LegacyMiddleware.php @@ -205,10 +205,6 @@ class LegacyMiddleware implements MiddlewareInterface $title = admin_groups_title(); $content = admin_groups(); return [$title, $content]; - case 'admin_import': - $title = admin_import_title(); - $content = admin_import(); - return [$title, $content]; case 'admin_shifts': $title = admin_shifts_title(); $content = admin_shifts(); @@ -219,7 +215,7 @@ class LegacyMiddleware implements MiddlewareInterface return [$title, $content]; } - redirect(page_link_to('login')); + throw_redirect(page_link_to('login')); return []; } @@ -239,9 +235,15 @@ class LegacyMiddleware implements MiddlewareInterface return response($content, (int)$page); } - return response(view('layouts/app', [ - 'title' => $title, - 'content' => msg() . $content, - ]), 200); + return response( + view( + 'layouts/app', + [ + 'title' => $title, + 'content' => msg() . $content, + ] + ), + 200 + ); } } |