From f3a02be35fc80c4c3fcab0ee55ef8981968213af Mon Sep 17 00:00:00 2001 From: SamPoyigi Date: Tue, 10 Jul 2018 17:58:00 +0100 Subject: [PATCH] List categories based on the current location --- assets/js/local.timeslot.js | 1 - components/Categories.php | 12 ++++----- components/Menu.php | 35 +++--------------------- components/menu/default.php | 12 +++------ components/menu/grouped.php | 53 ------------------------------------- 5 files changed, 13 insertions(+), 100 deletions(-) delete mode 100644 components/menu/grouped.php diff --git a/assets/js/local.timeslot.js b/assets/js/local.timeslot.js index 9d4ae5d..c3b208e 100644 --- a/assets/js/local.timeslot.js +++ b/assets/js/local.timeslot.js @@ -52,7 +52,6 @@ $('[data-timepicker-option]').removeClass('active') $('[data-timepicker-option="'+value+'"]').addClass('active') - console.log(this.selectedType, value) if (value === 'asap') { $container.addClass('hide') } else { diff --git a/components/Categories.php b/components/Categories.php index 95a7f71..b8f1324 100644 --- a/components/Categories.php +++ b/components/Categories.php @@ -1,6 +1,7 @@ page['menusPage'] = $this->property('menusPage'); - $this->page['selectedCategory'] = $this->getSelectedCategory(); - $this->page['categories'] = $this->loadCategories(); + $this->page['categories'] = $categories = $this->loadCategories(); + $this->page['selectedCategory'] = $this->findSelectedCategory($categories); } protected function loadCategories() { $query = Categories_model::orderBy('name'); - // category must have at least one menu -// $query->whereHasMenus(); + $query->whereHasOrDoesntHaveLocation(Location::getId()); return $query->get()->toTree(); } - protected function getSelectedCategory() + protected function findSelectedCategory($categories) { $slug = $this->param('category'); if (!strlen($slug)) return null; - return Categories_model::whereSlug($slug)->first(); + return $categories->where('permalink_slug', $slug)->first(); } } diff --git a/components/Menu.php b/components/Menu.php index 89122f1..26761f2 100644 --- a/components/Menu.php +++ b/components/Menu.php @@ -2,8 +2,8 @@ namespace SamPoyigi\Local\Components; -use Admin\Models\Categories_model; use Admin\Models\Menus_model; +use Location; class Menu extends \System\Classes\BaseComponent { @@ -12,10 +12,6 @@ class Menu extends \System\Classes\BaseComponent public function defineProperties() { return [ - 'isGrouped' => [ - 'label' => 'Group Menu Items', - 'type' => 'switch', - ], 'menusPerPage' => [ 'label' => 'Menus Per Page', 'type' => 'number', @@ -42,13 +38,11 @@ public function defineProperties() public function onRun() { - $this->page['menuIsGrouped'] = $isGrouped = $this->property('isGrouped'); $this->page['showMenuImages'] = $this->property('showMenuImages'); $this->page['menuImageWidth'] = $this->property('menuImageWidth'); $this->page['menuImageHeight'] = $this->property('menuImageHeight'); - $this->page['menuList'] = $isGrouped ? - $this->loadGroupedList() : $this->loadList(); + $this->page['menuList'] = $this->loadList(); } protected function loadList() @@ -57,33 +51,10 @@ protected function loadList() 'page' => $this->param('page'), 'pageLimit' => $this->property('menusPerPage'), 'sort' => $this->property('sort', 'menu_priority asc'), + 'location' => Location::getId(), 'category' => $this->param('category'), ]); return $list; } - - protected function loadGroupedList() - { - $query = Categories_model::with([ - 'menus' => function ($menusQuery) { - $menusQuery->listFrontEnd([ - 'pageLimit' => null, - 'sort' => $this->property('sort', 'menu_priority asc'), - ]); - }, - 'menus.special', - 'menus.mealtime', - 'menus.menu_options', - ]); - - $query->whereHasMenus(); - - if ($this->param('category')) - $query->whereSlug($this->param('category')); - - $list = $query->get(); - - return $list; - } } \ No newline at end of file diff --git a/components/menu/default.php b/components/menu/default.php index 22e7304..24832c8 100644 --- a/components/menu/default.php +++ b/components/menu/default.php @@ -1,11 +1,7 @@ diff --git a/components/menu/grouped.php b/components/menu/grouped.php deleted file mode 100644 index c433c83..0000000 --- a/components/menu/grouped.php +++ /dev/null @@ -1,53 +0,0 @@ -
- - - - $menuCategory) { ?> - name)); - ?> - - - - -
\ No newline at end of file