diff --git a/addons/default/visiosoft/advs-module/src/AdvsModuleServiceProvider.php b/addons/default/visiosoft/advs-module/src/AdvsModuleServiceProvider.php index 304b2f03a..538657d81 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', ], + 'api/conf/add-cart' => [ + 'as' => 'configuration::api_add_conf_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..ac5b9cdc6 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,25 @@ 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 $this->response->json(['status' => 'error', 'msg' => 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]); + } + } + return $this->response->json(['status' => 'error', 'msg' => trans('visiosoft.module.carts::message.error2')]); + } } 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 e53a74b8e..bcc9c5fa4 100644 --- a/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php +++ b/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php @@ -1208,6 +1208,9 @@ class AdvsController extends PublicController } else { $response['status'] = "guest"; } + + $count = $cart->getItems()->count; + $response['count'] = $count; return $response; }