This commit is contained in:
Diatrex 2020-08-14 12:59:24 +03:00
commit f166afe3d1
3 changed files with 39 additions and 15 deletions

View File

@ -4,6 +4,7 @@ use Anomaly\Streams\Platform\Model\Users\UsersUsersEntryModel;
use Anomaly\Streams\Platform\Ui\Table\TableBuilder; use Anomaly\Streams\Platform\Ui\Table\TableBuilder;
use Anomaly\UsersModule\UsersModule; use Anomaly\UsersModule\UsersModule;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Visiosoft\AdvsModule\Adv\Table\Filter\NameDescFilterQuery;
use Visiosoft\AdvsModule\Adv\Table\Filter\UserFilterQuery; use Visiosoft\AdvsModule\Adv\Table\Filter\UserFilterQuery;
use Visiosoft\AdvsModule\Adv\Table\Handler\AdvHandler; use Visiosoft\AdvsModule\Adv\Table\Handler\AdvHandler;
use Visiosoft\AdvsModule\Adv\Table\Views\All; use Visiosoft\AdvsModule\Adv\Table\Views\All;
@ -40,10 +41,9 @@ class AdvTableBuilder extends TableBuilder
*/ */
protected $filters = [ protected $filters = [
'search' => [ 'search' => [
'fields' => [ 'filter' => 'input',
'name', 'placeholder' => 'visiosoft.module.advs::field.search',
'advs_desc', 'query' => NameDescFilterQuery::class,
]
], ],
'country', 'country',
'id' => [ 'id' => [

View File

@ -0,0 +1,20 @@
<?php namespace Visiosoft\AdvsModule\Adv\Table\Filter;
use Anomaly\Streams\Platform\Ui\Table\Component\Filter\Contract\FilterInterface;
use Illuminate\Database\Eloquent\Builder;
class NameDescFilterQuery
{
public function handle(Builder $query, FilterInterface $filter)
{
$appLocale = config('app.locale');
$defaultLocale = setting_value('streams::default_locale');
$query->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");
}
}

View File

@ -999,18 +999,22 @@ class AdvsController extends PublicController
public function addCart(Request $request) public function addCart(Request $request)
{ {
$id = $request->id; if (\auth()->check()) {
$quantity = $request->quantity; $id = $request->id;
$name = $request->name; $quantity = $request->quantity;
$thisModel = new AdvModel(); $name = $request->name;
$adv = $thisModel->isAdv($id); $thisModel = new AdvModel();
$response = array(); $adv = $thisModel->isAdv($id);
if ($adv) { $response = array();
$cart = $thisModel->addCart($adv, $quantity, $name); if ($adv) {
$response['status'] = "success"; $cart = $thisModel->addCart($adv, $quantity, $name);
$response['status'] = "success";
} else {
$response['status'] = "error";
$response['msg'] = trans('visiosoft.module.advs::message.error_added_cart');
}
} else { } else {
$response['status'] = "error"; $response['status'] = "guest";
$response['msg'] = trans('visiosoft.module.advs::message.error_added_cart');
} }
return $response; return $response;
} }