From 24bc80ed35a7a0b2ea77329405b92ff420fdd5ba Mon Sep 17 00:00:00 2001 From: mattclegg Date: Tue, 31 Mar 2020 12:09:16 +0545 Subject: [PATCH] [DOCS] Better debug text for errors generated by GridFieldDetailForm_ItemRequest --- lang/en.yml | 2 ++ .../GridFieldDetailForm_ItemRequest.php | 23 +++++++++++++++---- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/lang/en.yml b/lang/en.yml index dfe2f3812..2c386ebdb 100644 --- a/lang/en.yml +++ b/lang/en.yml @@ -111,6 +111,8 @@ en: NEW: 'Add new record' NEXT: 'Go to next record' PREVIOUS: 'Go to previous record' + EditPermissionsFailure: 'It seems you don''t have the necessary permissions to edit {ObjectTitle}' + ViewPermissionsFailure: 'It seems you don''t have the necessary permissions to view {ObjectTitle}' SilverStripe\Forms\GridField\GridFieldEditButton: EDIT: Edit SilverStripe\Forms\GridField\GridFieldFilterHeader: diff --git a/src/Forms/GridField/GridFieldDetailForm_ItemRequest.php b/src/Forms/GridField/GridFieldDetailForm_ItemRequest.php index c808ec129..3f16fd4cd 100644 --- a/src/Forms/GridField/GridFieldDetailForm_ItemRequest.php +++ b/src/Forms/GridField/GridFieldDetailForm_ItemRequest.php @@ -111,7 +111,12 @@ class GridFieldDetailForm_ItemRequest extends RequestHandler public function view($request) { if (!$this->record->canView()) { - $this->httpError(403); + $this->httpError(403, _t( + __CLASS__.'.ViewPermissionsFailure', + 'It seems you don\'t have the necessary permissions to view {ObjectTitle}', + '', + ['ObjectTitle' => $this->record->singular_name()] + )); } $controller = $this->getToplevelController(); @@ -189,8 +194,12 @@ class GridFieldDetailForm_ItemRequest extends RequestHandler if (!$this->record->canView()) { $controller = $this->getToplevelController(); - // TODO More friendly error - return $controller->httpError(403); + return $controller->httpError(403, _t( + __CLASS__.'.ViewPermissionsFailure', + 'It seems you don\'t have the necessary permissions to view {ObjectTitle}', + '', + ['ObjectTitle' => $this->record->singular_name()] + )); } $fields = $this->component->getFields(); @@ -490,7 +499,13 @@ class GridFieldDetailForm_ItemRequest extends RequestHandler // Check permission if (!$this->record->canEdit()) { - return $this->httpError(403); + $this->httpError(403, _t( + __CLASS__.'.EditPermissionsFailure', + 'It seems you don\'t have the necessary permissions to edit {ObjectTitle}', + '', + ['ObjectTitle' => $this->record->singular_name()] + )); + return null; } // Save from form data