From afb1a9fadb7db3eae1f4ae5f714ff5ebe75a1f4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cihan=20=C5=9Eent=C3=BCrk?= <53110792+CihanSenturk@users.noreply.github.com> Date: Mon, 19 Dec 2022 12:22:59 +0300 Subject: [PATCH] Scenario of disable sale/purchase price done --- app/Models/Common/Item.php | 5 +++++ app/View/Components/Documents/Form/ItemButton.php | 3 ++- resources/assets/js/components/AkauntingItemButton.vue | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/app/Models/Common/Item.php b/app/Models/Common/Item.php index 58b3c1810..7cd545a73 100644 --- a/app/Models/Common/Item.php +++ b/app/Models/Common/Item.php @@ -88,6 +88,11 @@ class Item extends Model return $query->where($billing . '_price', '=', null); } + public function scopePriceType($query, $price_type) + { + return $query->whereNotNull($price_type . '_price'); + } + /** * Get the item id. * diff --git a/app/View/Components/Documents/Form/ItemButton.php b/app/View/Components/Documents/Form/ItemButton.php index 384cc5821..87187e25e 100644 --- a/app/View/Components/Documents/Form/ItemButton.php +++ b/app/View/Components/Documents/Form/ItemButton.php @@ -39,9 +39,10 @@ class ItemButton extends Component */ public function render() { - $items = Item::enabled()->orderBy('name')->take(setting('default.select_limit'))->get(); $price_type = $this->getPriceType($this->type, $this->isSale, $this->isPurchase); + $items = Item::priceType($price_type)->enabled()->orderBy('name')->take(setting('default.select_limit'))->get(); + foreach ($items as $item) { $price = $item->{$price_type . '_price'}; diff --git a/resources/assets/js/components/AkauntingItemButton.vue b/resources/assets/js/components/AkauntingItemButton.vue index 6de25afed..bd8bf4e57 100644 --- a/resources/assets/js/components/AkauntingItemButton.vue +++ b/resources/assets/js/components/AkauntingItemButton.vue @@ -315,7 +315,7 @@ export default { }, async fetchMatchedItems() { - await window.axios.get(url + '/common/items?search="' + this.search + '" enabled:1 limit:10') + await window.axios.get(url + '/common/items?search="' + this.search + '" not ' + this.price + ':NULL enabled:1 limit:10') .then(response => { this.item_list = []; let items = response.data.data;