#1393 [users] Admin - Go to users ads link

This commit is contained in:
Diatrex 2020-05-19 12:24:54 +03:00
parent bd206a178c
commit dc6ad7f75d
3 changed files with 62 additions and 4 deletions

View File

@ -0,0 +1,5 @@
<?php
return [
'view_ads' => 'View Ads',
];

View File

@ -4,9 +4,8 @@ use Anomaly\Streams\Platform\Addon\AddonServiceProvider;
use Anomaly\Streams\Platform\Ui\ControlPanel\Component\Navigation\Event\SortNavigation; use Anomaly\Streams\Platform\Ui\ControlPanel\Component\Navigation\Event\SortNavigation;
use Anomaly\Streams\Platform\Ui\Table\Event\TableIsQuerying; use Anomaly\Streams\Platform\Ui\Table\Event\TableIsQuerying;
use Illuminate\Pagination\AbstractPaginator; use Illuminate\Pagination\AbstractPaginator;
use Visiosoft\DefaultadminTheme\Http\Controller\Admin\PreferencesController;
use Visiosoft\DefaultadminTheme\Http\Controller\Admin\SettingsController;
use Visiosoft\DefaultadminTheme\Listener\AddGsmFilter; use Visiosoft\DefaultadminTheme\Listener\AddGsmFilter;
use Visiosoft\DefaultadminTheme\Listener\AddViewAdsButton;
use Visiosoft\DefaultadminTheme\Listener\ApplySorting; use Visiosoft\DefaultadminTheme\Listener\ApplySorting;
/** /**
@ -29,8 +28,9 @@ class DefaultadminThemeServiceProvider extends AddonServiceProvider
ApplySorting::class, ApplySorting::class,
], ],
TableIsQuerying::class => [ TableIsQuerying::class => [
AddGsmFilter::class AddGsmFilter::class,
] AddViewAdsButton::class
],
]; ];
/** /**

View File

@ -0,0 +1,53 @@
<?php namespace Visiosoft\DefaultadminTheme\Listener;
use Anomaly\Streams\Platform\Ui\Table\Event\TableIsQuerying;
use Anomaly\UsersModule\User\Contract\UserRepositoryInterface;
use Anomaly\UsersModule\User\Table\UserTableBuilder;
class AddViewAdsButton
{
/**
* @var UserRepositoryInterface
*/
protected $userRepository;
/**
* AddViewAdsAction constructor.
* @param UserRepositoryInterface $userRepository
*/
public function __construct(UserRepositoryInterface $userRepository)
{
$this->userRepository = $userRepository;
}
/**
* @param TableIsQuerying $event
*/
public function handle(TableIsQuerying $event)
{
$builder = $event->getBuilder();
if (get_class($builder) == UserTableBuilder::class) {
$this->addViewAdsButton($builder);
}
}
/**
* Add a button to view ads.
*
* @param UserTableBuilder $builder
*/
protected function addViewAdsButton(UserTableBuilder $builder)
{
$buttons = $builder->getButtons();
$dropdown = array_merge($buttons['settings']['dropdown'], [
"ads" => [
"text" => trans('visiosoft.theme.defaultadmin::button.view_ads'),
"href" => "admin/advs?filter_User={entry.id}"
]
]);
$buttons['settings']['dropdown'] = $dropdown;
$builder->setButtons($buttons);
}
}