diff --git a/addons/default/visiosoft/advs-module/src/Adv/Table/AdvTableBuilder.php b/addons/default/visiosoft/advs-module/src/Adv/Table/AdvTableBuilder.php index 98b5d1ca8..f85f0db79 100644 --- a/addons/default/visiosoft/advs-module/src/Adv/Table/AdvTableBuilder.php +++ b/addons/default/visiosoft/advs-module/src/Adv/Table/AdvTableBuilder.php @@ -4,6 +4,7 @@ use Anomaly\Streams\Platform\Model\Users\UsersUsersEntryModel; use Anomaly\Streams\Platform\Ui\Table\TableBuilder; use Anomaly\UsersModule\UsersModule; use Illuminate\Database\Eloquent\Builder; +use Visiosoft\AdvsModule\Adv\Table\Filter\NameDescFilterQuery; use Visiosoft\AdvsModule\Adv\Table\Filter\UserFilterQuery; use Visiosoft\AdvsModule\Adv\Table\Handler\AdvHandler; use Visiosoft\AdvsModule\Adv\Table\Views\All; @@ -40,10 +41,9 @@ class AdvTableBuilder extends TableBuilder */ protected $filters = [ 'search' => [ - 'fields' => [ - 'name', - 'advs_desc', - ] + 'filter' => 'input', + 'placeholder' => 'visiosoft.module.advs::field.search', + 'query' => NameDescFilterQuery::class, ], 'country', 'id' => [ diff --git a/addons/default/visiosoft/advs-module/src/Adv/Table/Filter/NameDescFilterQuery.php b/addons/default/visiosoft/advs-module/src/Adv/Table/Filter/NameDescFilterQuery.php new file mode 100644 index 000000000..aa9a6e88f --- /dev/null +++ b/addons/default/visiosoft/advs-module/src/Adv/Table/Filter/NameDescFilterQuery.php @@ -0,0 +1,20 @@ +join('advs_advs_translations', 'advs_advs.id', '=', 'advs_advs_translations.entry_id'); + + $query->where('name', 'LIKE', '%' . $filter->getValue() . '%'); + $query->orWhere('advs_desc', 'LIKE', '%' . $filter->getValue() . '%'); + $query->orderByRaw("FIELD(locale, '$defaultLocale', '$appLocale') DESC"); + } +} 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 63394d354..b12365bd4 100644 --- a/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php +++ b/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php @@ -999,18 +999,22 @@ class AdvsController extends PublicController public function addCart(Request $request) { - $id = $request->id; - $quantity = $request->quantity; - $name = $request->name; - $thisModel = new AdvModel(); - $adv = $thisModel->isAdv($id); - $response = array(); - if ($adv) { - $cart = $thisModel->addCart($adv, $quantity, $name); - $response['status'] = "success"; + if (\auth()->check()) { + $id = $request->id; + $quantity = $request->quantity; + $name = $request->name; + $thisModel = new AdvModel(); + $adv = $thisModel->isAdv($id); + $response = array(); + if ($adv) { + $cart = $thisModel->addCart($adv, $quantity, $name); + $response['status'] = "success"; + } else { + $response['status'] = "error"; + $response['msg'] = trans('visiosoft.module.advs::message.error_added_cart'); + } } else { - $response['status'] = "error"; - $response['msg'] = trans('visiosoft.module.advs::message.error_added_cart'); + $response['status'] = "guest"; } return $response; }