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\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' => [

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)
{
$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;
}