From 71ea1c3084510aefc939a136cc94739ed33cf060 Mon Sep 17 00:00:00 2001 From: St John Karp Date: Mon, 25 Mar 2019 16:23:19 +0000 Subject: [PATCH] Fix #6 - Add error handling for deleting an already deleted status Added a basic error page and implemented handling for deleting a status that can't be found. --- app/Http/Controllers/StatusController.php | 14 +++++++++++++- public/css/styles.css | 2 +- resources/views/delete_status.blade.php | 4 +++- resources/views/error.blade.php | 23 +++++++++++++++++++++++ 4 files changed, 40 insertions(+), 3 deletions(-) create mode 100644 resources/views/error.blade.php diff --git a/app/Http/Controllers/StatusController.php b/app/Http/Controllers/StatusController.php index f216400..bee741b 100644 --- a/app/Http/Controllers/StatusController.php +++ b/app/Http/Controllers/StatusController.php @@ -231,9 +231,21 @@ class StatusController extends Controller session()->flash('delete_status', $status_id); - $status = Mastodon::domain(env('MASTODON_DOMAIN')) + try + { + $status = Mastodon::domain(env('MASTODON_DOMAIN')) ->token(session('user')->token) ->get('/statuses/' . $status_id); + } + catch (\GuzzleHttp\Exception\ServerException $ex) + { + $vars = [ + 'mastodon_domain' => explode('//', env('MASTODON_DOMAIN'))[1], + 'message' => 'Status not found.' + ]; + + return view('error', $vars); + } $vars = [ 'status' => $status, diff --git a/public/css/styles.css b/public/css/styles.css index cee05ce..ca6d630 100644 --- a/public/css/styles.css +++ b/public/css/styles.css @@ -101,6 +101,6 @@ nav ul li { margin-top: 0; } -p.warning { +div.warning { color: red; } diff --git a/resources/views/delete_status.blade.php b/resources/views/delete_status.blade.php index 64489d0..ef4b567 100644 --- a/resources/views/delete_status.blade.php +++ b/resources/views/delete_status.blade.php @@ -15,7 +15,9 @@ @component('navigation') @endcomponent -

Are you sure you want to delete this status? Click the delete link again to confirm.

+
+

Are you sure you want to delete this status? Click the delete link again to confirm.

+