Merge pull request #280 from openclassify/dia

#781 [ads_widget-extension] Add links to
This commit is contained in:
Fatih Alp 2020-02-03 16:20:46 +03:00 committed by GitHub
commit b21ffb4197
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 32 additions and 4 deletions

View File

@ -85,8 +85,11 @@ return [
'status' => [
'name' => 'Status',
'option' => [
'approved' => 'Approved',
'expired' => 'Expired',
'unpublished' => 'Unpublished'
'unpublished' => 'Unpublished',
'pending_admin' => 'Pending Admin',
'pending_user' => 'Pending User'
]
],
'pending_adv' => [

View File

@ -2,19 +2,41 @@
use Anomaly\Streams\Platform\Ui\Table\Component\Filter\Contract\FilterInterface;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Support\Carbon;
class StatusFilterQuery
{
public function handle(Builder $query, FilterInterface $filter)
{
if ($filter->getValue() == 'approved') {
$query
->where('advs_advs.status', 'approved')
->where('advs_advs.finish_at', '>', date('Y-m-d H:i:s'));
}
if ($filter->getValue() == 'expired') {
$query->where('advs_advs.finish_at', '<=', Carbon::now());
$query
->where('advs_advs.finish_at', '<', date('Y-m-d H:i:s'))
->WhereNotNull('advs_advs.finish_at');
}
if ($filter->getValue() == 'unpublished') {
$query->where('advs_advs.status', '!=', 'approved');
$query
->where('advs_advs.status', 'passive');
}
if ($filter->getValue() == 'pending_admin') {
$query
->where('advs_advs.status', 'pending_admin')
->where('advs_advs.finish_at', '>', date('Y-m-d H:i:s'))
->orWhereNull('advs_advs.finish_at');
}
if ($filter->getValue() == 'pending_user') {
$query
->where('advs_advs.status', 'pending_user')
->where('advs_advs.finish_at', '>', date('Y-m-d H:i:s'))
->orWhereNull('advs_advs.finish_at');
}
}
}

View File

@ -157,8 +157,11 @@ class AdvsController extends AdminController
'filter' => 'select',
'query' => StatusFilterQuery::class,
'options' => [
'approved' => 'visiosoft.module.advs::field.status.option.approved',
'expired' => 'visiosoft.module.advs::field.status.option.expired',
'unpublished' => 'visiosoft.module.advs::field.status.option.unpublished',
'pending_admin' => 'visiosoft.module.advs::field.status.option.pending_admin',
'pending_user' => 'visiosoft.module.advs::field.status.option.pending_user',
],
]
])