From a0f3409f82a4ce961f1f02c2f03cbdc0bdf68a62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Kv=C3=A1=C4=8Dek?= Date: Tue, 20 Sep 2016 14:24:40 +0200 Subject: [PATCH] FEATURE: make widgets not deletable --- app/Http/Controllers/Admin/EditWidget.php | 7 ++++ resources/lang/cs/admin/widgetAreas.php | 4 +++ resources/lang/cs/admin/widgets.php | 3 ++ resources/lang/en/admin/widgets.php | 5 ++- .../views/admin/widgets/overview.blade.php | 32 +++++++++++++++++-- 5 files changed, 47 insertions(+), 4 deletions(-) diff --git a/app/Http/Controllers/Admin/EditWidget.php b/app/Http/Controllers/Admin/EditWidget.php index 61cf8fd6..200329f9 100644 --- a/app/Http/Controllers/Admin/EditWidget.php +++ b/app/Http/Controllers/Admin/EditWidget.php @@ -79,6 +79,13 @@ class EditWidget extends Controller // create new widget $widget = Widget::findOrFail($id); + // check if widget area is deletable + if (!$widget->deletable) { + return redirect() + ->back() + ->with('error', trans('admin/widgets.notDeletable')); + } + $widget->delete(); // redirect with success notification diff --git a/resources/lang/cs/admin/widgetAreas.php b/resources/lang/cs/admin/widgetAreas.php index 4d794fcf..9927bf61 100644 --- a/resources/lang/cs/admin/widgetAreas.php +++ b/resources/lang/cs/admin/widgetAreas.php @@ -1,16 +1,20 @@ "Akce", +"associateWidgets" => "Přiřadit widgety do této plochy", "code" => "Unikátní kód (používá se v šablonách pro vykreslení)", "createNew" => "Vytvořit novou plochu", +"delete" => "Smazat", "description" => "Popis", "edit" => "Upravuji plochu :name", "editButton" => "Upravit", "editSuccessfull" => "Změny úspěšně uloženy", +"editTooltip" => "Upravit plochu pro widgety", "invalidArea" => "Zvolená plocha pro widgety není platná. Vyberte prosím nějakou jinou.", "name" => "Jméno", "new" => "Nová plocha pro widgety", "noEntries" => "Zatím nebyla definována žádná plocha pro widgety.", +"notDeletableArea" => "Nelze smazat požadovanou plochu. Tato plocha je nezbytnou součástí nainstalované šablony a její odstranění by znefunkčnilo celou šablonu.", "overview" => "Seznam všech ploch pro widgety", "save" => "Uložit", "successfullyCreated" => "Plocha pro widgety úspěšně vytvořena", diff --git a/resources/lang/cs/admin/widgets.php b/resources/lang/cs/admin/widgets.php index 164c4dbc..65855289 100644 --- a/resources/lang/cs/admin/widgets.php +++ b/resources/lang/cs/admin/widgets.php @@ -6,13 +6,16 @@ return [ "associationExists" => "Tento widget již je přiřazený k této ploše pro widgety", "cannotSave" => "Nelze uložit widget. Došlo k nečekané vyjímce. Zpráva: :exception", "createdAt" => "Vytvořeno", +"delete" => "Smazat", "deleteAssociation" => "Odstranit", "description" => "Popis", "descriptionOfWidgets" => "Widgety se zobrazují v plochách pro widgety. Tyto plochy je možné umístit na libovolné místo na webu.", "edit" => "Upravit", +"editTooltip" => "Upravit tento widget", "missingValue" => "Nelze uložit bez hodnoty pro pole :field", "name" => "Jméno", "noEntries" => "Není dostupný žádný widget.", +"notDeletable" => "Nelze smazat widget. Smazání widgetu by melo za následek možné znefunkčnění celé šablony.", "overview" => "Seznam všech widgetů", "preview" => "Náhled", "successfullyAssociated" => "Widget úspěšně vložen do plochy", diff --git a/resources/lang/en/admin/widgets.php b/resources/lang/en/admin/widgets.php index c612f6c0..649b8290 100644 --- a/resources/lang/en/admin/widgets.php +++ b/resources/lang/en/admin/widgets.php @@ -23,5 +23,8 @@ return [ 'successfullyDeassociated' => 'Successfully removed from widget area', 'widgetExists' => 'Widget :id already exists.', 'descriptionOfWidgets' => 'Widgets are displayed in widget areas.', - 'successfullyDeleted' => 'Widget successfully deleted' + 'successfullyDeleted' => 'Widget successfully deleted', + 'delete' => 'Delete', + 'editTooltip' => 'Edit this widget', + 'notDeletable' => 'Cannot delete this widget. It is essential part of currenty installed template and therefore cannot be deleted.' ]; \ No newline at end of file diff --git a/resources/views/admin/widgets/overview.blade.php b/resources/views/admin/widgets/overview.blade.php index 085eaf70..760eb913 100644 --- a/resources/views/admin/widgets/overview.blade.php +++ b/resources/views/admin/widgets/overview.blade.php @@ -5,7 +5,7 @@ @section('content') @if (count($widgets)) - +
@@ -18,8 +18,34 @@ @endforeach
@lang('admin/widgets.widgetType') @lang('admin/widgets.name'){{$widget->name}} {{$widget->description}} - - + + +
+ + + + +
+
    +
  • + +
  • + + @if($widget->deletable) +
  • + +
  • + @endif + +
+
+
+