From ea947ce1b1408b3ae71b5773db98f590788c7a32 Mon Sep 17 00:00:00 2001 From: Muammer Top Date: Fri, 26 Mar 2021 17:46:40 +0300 Subject: [PATCH] fixed configured ads --- .../src/Http/Controller/advsController.php | 14 ++++++++++---- .../OptionConfigurationModel.php | 17 +++++++++++++++++ 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php b/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php index d1311c2a1..76b6d07d8 100644 --- a/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php +++ b/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php @@ -21,6 +21,7 @@ use Visiosoft\AdvsModule\Adv\Event\viewAd; use Visiosoft\AdvsModule\Adv\Form\AdvFormBuilder; use Visiosoft\AdvsModule\Option\Contract\OptionRepositoryInterface; use Visiosoft\AdvsModule\OptionConfiguration\Contract\OptionConfigurationRepositoryInterface; +use Visiosoft\AdvsModule\OptionConfiguration\OptionConfigurationModel; use Visiosoft\AdvsModule\Productoption\Contract\ProductoptionRepositoryInterface; use Visiosoft\AdvsModule\ProductoptionsValue\Contract\ProductoptionsValueRepositoryInterface; use Visiosoft\AlgoliaModule\Search\SearchModel; @@ -1241,10 +1242,15 @@ class AdvsController extends PublicController $quantity = $request->quantity; $id = $request->id; $type = $request->type; - $advmodel = new AdvModel(); - $adv = $advmodel->getAdv($id); - - $status = $advmodel->stockControl($id, $quantity); + if ($request->dataType === 'ad-configuration') { + $optionConf = new OptionConfigurationModel(); + $adv = $optionConf->newQuery()->find($id); + $status = $adv->stockControl($id, $quantity); + } else { + $advmodel = new AdvModel(); + $adv = $advmodel->getAdv($id); + $status = $advmodel->stockControl($id, $quantity); + } $response = array(); if ($status == 1) { diff --git a/addons/default/visiosoft/advs-module/src/OptionConfiguration/OptionConfigurationModel.php b/addons/default/visiosoft/advs-module/src/OptionConfiguration/OptionConfigurationModel.php index c7153d80d..1341a6b4f 100644 --- a/addons/default/visiosoft/advs-module/src/OptionConfiguration/OptionConfigurationModel.php +++ b/addons/default/visiosoft/advs-module/src/OptionConfiguration/OptionConfigurationModel.php @@ -1,5 +1,6 @@ name . ' | ' . trim($option_group_value, ' '); } } + + public function stockControl($id, $quantity) + { + $conf = $this->newQuery()->find($id); + $stock = $conf->stock; + + if ($stock === NULL || $stock === 0) { + return 0; + } + + if ($stock < $quantity) { + return 0; + } + + return 1; + } }