diff --git a/addons/default/visiosoft/advs-module/src/AdvsModuleServiceProvider.php b/addons/default/visiosoft/advs-module/src/AdvsModuleServiceProvider.php index 304b2f03a..93f515993 100644 --- a/addons/default/visiosoft/advs-module/src/AdvsModuleServiceProvider.php +++ b/addons/default/visiosoft/advs-module/src/AdvsModuleServiceProvider.php @@ -220,6 +220,11 @@ class AdvsModuleServiceProvider extends AddonServiceProvider 'uses' => 'Visiosoft\AdvsModule\Http\Controller\OptionConfigurationController@confAddCart', ], + 'ajax/conf/addCart' => [ + 'as' => 'configuration::add_cart', + 'uses' => 'Visiosoft\AdvsModule\Http\Controller\OptionConfigurationController@ajaxConfAddCart', + ], + // Admin ProductoptionsController 'admin/advs/product_options' => 'Visiosoft\AdvsModule\Http\Controller\Admin\ProductoptionsController@index', 'admin/advs/product_options/create' => 'Visiosoft\AdvsModule\Http\Controller\Admin\ProductoptionsController@create', diff --git a/addons/default/visiosoft/advs-module/src/Http/Controller/OptionConfigurationController.php b/addons/default/visiosoft/advs-module/src/Http/Controller/OptionConfigurationController.php index b3f4ce198..1938be232 100644 --- a/addons/default/visiosoft/advs-module/src/Http/Controller/OptionConfigurationController.php +++ b/addons/default/visiosoft/advs-module/src/Http/Controller/OptionConfigurationController.php @@ -42,7 +42,6 @@ class OptionConfigurationController extends PublicController public function confAddCart() { - if($conf = $this->optionConfigurationRepository->find($this->request->configuration)) { $conf->name = $conf->getName(); @@ -58,4 +57,24 @@ class OptionConfigurationController extends PublicController } } } + + public function ajaxConfAddCart() + { + if($conf = $this->optionConfigurationRepository->find($this->request->configuration)) + { + $conf->name = $conf->getName(); + + $this->adv_model->authControl(); + + if ($conf->stock < $this->request->quantity){ + return redirect()->back()->with('warning', [trans('visiosoft.module.carts::message.error1in2')]); + }else{ + $cart = $this->dispatch(new GetCart()); + $cart->add($conf, $this->request->quantity); + + $count = $cart->getItems()->count; + return $this->response->json(['status'=> 'success', 'count' => $count]); + } + } + } } 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 4fb2ccdd5..c57110d45 100644 --- a/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php +++ b/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php @@ -1207,6 +1207,9 @@ class AdvsController extends PublicController } else { $response['status'] = "guest"; } + + $count = $cart->getItems()->count; + $response['count'] = $count; return $response; }