/** * Guess the action text. * * @param TableBuilder $builder */ public function guess(TableBuilder $builder) { $actions = $builder->getActions(); $stream = $builder->getTableStream(); if (!($module = $this->modules->active())) { return; } $section = $this->controlPanel->getControlPanelActiveSection(); foreach ($actions as &$action) { /* * Nothing to do if set already. */ if (isset($action['permission'])) { continue; } /* * Try and guess the permission. */ if ($stream) { $action['permission'] = $module->getNamespace($stream->getSlug() . '.' . $action['slug']); } elseif ($section) { $action['permission'] = $module->getNamespace($section->getSlug() . '.' . $action['slug']); } } $builder->setActions($actions); }
/** * Handle the buttons. * * @param ControlPanelBuilder $builder */ public function handle(ControlPanelBuilder $builder) { if (!($section = $builder->getControlPanelActiveSection())) { $builder->setButtons([]); return; } $builder->setButtons($section->getButtons()); }