diff --git a/app/Http/Controllers/Admin/EditCustomField.php b/app/Http/Controllers/Admin/EditCustomField.php index 7dcbb387..a24dc1e9 100644 --- a/app/Http/Controllers/Admin/EditCustomField.php +++ b/app/Http/Controllers/Admin/EditCustomField.php @@ -64,4 +64,34 @@ class EditCustomField extends Controller ->route('customfields.edit', ['id' => $id]) ->with('success', trans('admin/customFields.successfullyEdited')); } + + /** + * Deletes custom field given by id. + * + * This method deletes given custom field. It is in this method because deleting is somehow editing the item. + * + * @param $id + * + * @return \Illuminate\Http\RedirectResponse + */ + public function deleteCustomField($id) + { + // find and delete field + try { + $field = CustomField::findOrFail($id); + } catch (\Exception $e) { + // field does not exist, redirect to overview and inform user + return redirect() + ->route('customfields.overview') + ->with('error', trans('admin/customFields.fieldNotExist')); + } + + // delete item + $field->delete(); + + // redirect back to overview + return redirect() + ->route('customfields.overview') + ->with('success', trans('admin/customFields.successfullyDeleted')); + } } \ No newline at end of file diff --git a/app/Http/routes.php b/app/Http/routes.php index dbe35472..c9bd0452 100644 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -71,6 +71,9 @@ Route::group([ Route::post('customfields/edit/{id}', 'EditCustomField@postEditCustomField') ->name('customfields.editPost'); + Route::get('customfields/delete/{id}', 'EditCustomField@deleteCustomField') + ->name('customfields.delete'); + // logout method Route::get('logout', function () { diff --git a/resources/lang/en/admin/customFields.php b/resources/lang/en/admin/customFields.php index fc845e9f..24c82797 100644 --- a/resources/lang/en/admin/customFields.php +++ b/resources/lang/en/admin/customFields.php @@ -20,9 +20,11 @@ return [ 'selectboxList' => 'List (selectbox)', 'string' => 'Short text', 'successfullyCreated' => 'Custom field successfully created.', - 'successfullyEdited' => 'Custom field successfully updated.', + 'successfullyEdited' => 'Custom field successfully updated.', + 'successfullyDeleted' => 'Custom field successfully deleted.', 'resource' => 'Add to resource', 'resource_user' => 'User', 'resource_content' => 'Each content page', - 'edit' => 'Editing custom field ":name"' + 'edit' => 'Editing custom field ":name"', + 'fieldNotExist' => 'Item you have specified does not exist!' ]; \ No newline at end of file diff --git a/resources/views/admin/customFields/overview.blade.php b/resources/views/admin/customFields/overview.blade.php index 018fe95f..00c22972 100644 --- a/resources/views/admin/customFields/overview.blade.php +++ b/resources/views/admin/customFields/overview.blade.php @@ -11,6 +11,19 @@
+ @if (session('success')) +
+ {{ session('success') }} +
+ @endif + + @if (session('error')) +
+ {{ session('error') }} +
+ @endif + + {{--draw tabs--}} @if (!empty($usedResources))