From 07be3c6a86b032f4cfaedd440fffb534f1878dc6 Mon Sep 17 00:00:00 2001 From: Prashant Singh Date: Tue, 20 Aug 2019 16:07:41 +0530 Subject: [PATCH] Fixed issue #1325 --- .../promotions/catalog-rule/create.blade.php | 5 +- .../promotions/catalog-rule/edit.blade.php | 4 +- .../Http/Controllers/Admin/PageController.php | 46 +++++++++++++++---- 3 files changed, 40 insertions(+), 15 deletions(-) diff --git a/packages/Webkul/Admin/src/Resources/views/promotions/catalog-rule/create.blade.php b/packages/Webkul/Admin/src/Resources/views/promotions/catalog-rule/create.blade.php index 1e9df1516..51bc1380b 100644 --- a/packages/Webkul/Admin/src/Resources/views/promotions/catalog-rule/create.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/promotions/catalog-rule/create.blade.php @@ -93,7 +93,7 @@
- + @@ -103,7 +103,7 @@
- + @@ -260,7 +260,6 @@ }, mounted () { - console.log(this.attribute_input); }, methods: { diff --git a/packages/Webkul/Admin/src/Resources/views/promotions/catalog-rule/edit.blade.php b/packages/Webkul/Admin/src/Resources/views/promotions/catalog-rule/edit.blade.php index b2de8d170..da58498dc 100644 --- a/packages/Webkul/Admin/src/Resources/views/promotions/catalog-rule/edit.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/promotions/catalog-rule/edit.blade.php @@ -97,7 +97,7 @@
- + @@ -107,7 +107,7 @@
- + diff --git a/packages/Webkul/CMS/src/Http/Controllers/Admin/PageController.php b/packages/Webkul/CMS/src/Http/Controllers/Admin/PageController.php index 2dffd9771..071f1a415 100644 --- a/packages/Webkul/CMS/src/Http/Controllers/Admin/PageController.php +++ b/packages/Webkul/CMS/src/Http/Controllers/Admin/PageController.php @@ -85,16 +85,42 @@ use Webkul\Core\Repositories\LocaleRepository as Locale; */ public function store() { - $this->validate(request(), [ - 'channels' => 'required', - 'locales' => 'required', - 'url_key' => 'required|unique:cms_pages,url_key', - 'html_content' => 'required|string', - 'page_title' => 'required|string', - 'meta_title' => 'required|string', - 'meta_description' => 'string', - 'meta_keywords' => 'required|string' - ]); + $data = request()->all(); + + $channels = request()->input('channels'); + + $locales = request()->input('locales'); + + $urlKey = request()->input('url_key'); + + $ignorePageIDs = array(); + + foreach ($channels as $channel) { + foreach ($locales as $locale) { + $page = $this->cms->findOneWhere([ + 'channel_id' => $channel, + 'locale_id' => $locale, + 'url_key' => $urlKey + ]); + + if ($page) { + array_push($ignorePageIDs, $page->id); + } + } + } + + if (count($ignorePageIDs)) { + $this->validate(request(), [ + 'channels' => 'required', + 'locales' => 'required', + 'url_key' => 'required|unique:cms_pages,url_key,'.$ignorePageIDs, + 'html_content' => 'required|string', + 'page_title' => 'required|string', + 'meta_title' => 'required|string', + 'meta_description' => 'string', + 'meta_keywords' => 'required|string' + ]); + } $data = request()->all();