diff --git a/addons/default/visiosoft/defaultadmin-theme/resources/lang/en/button.php b/addons/default/visiosoft/defaultadmin-theme/resources/lang/en/button.php new file mode 100644 index 000000000..00eb9549c --- /dev/null +++ b/addons/default/visiosoft/defaultadmin-theme/resources/lang/en/button.php @@ -0,0 +1,5 @@ + 'View Ads', +]; diff --git a/addons/default/visiosoft/defaultadmin-theme/src/DefaultadminThemeServiceProvider.php b/addons/default/visiosoft/defaultadmin-theme/src/DefaultadminThemeServiceProvider.php index 682af5c4e..11f231931 100644 --- a/addons/default/visiosoft/defaultadmin-theme/src/DefaultadminThemeServiceProvider.php +++ b/addons/default/visiosoft/defaultadmin-theme/src/DefaultadminThemeServiceProvider.php @@ -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\Table\Event\TableIsQuerying; 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\AddViewAdsButton; use Visiosoft\DefaultadminTheme\Listener\ApplySorting; /** @@ -29,8 +28,9 @@ class DefaultadminThemeServiceProvider extends AddonServiceProvider ApplySorting::class, ], TableIsQuerying::class => [ - AddGsmFilter::class - ] + AddGsmFilter::class, + AddViewAdsButton::class + ], ]; /** diff --git a/addons/default/visiosoft/defaultadmin-theme/src/Listener/AddViewAdsButton.php b/addons/default/visiosoft/defaultadmin-theme/src/Listener/AddViewAdsButton.php new file mode 100644 index 000000000..c9bf758f8 --- /dev/null +++ b/addons/default/visiosoft/defaultadmin-theme/src/Listener/AddViewAdsButton.php @@ -0,0 +1,53 @@ +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); + } +} \ No newline at end of file