addResource('drone', [ 'manage.view', 'manage.extended_view', 'manage.deploy', 'manage.settings' ]); /* * add menu entry to settings */ $this->on('cockpit.view.settings.item', function () { if ($this->module('cockpit')->hasaccess('drone', 'manage.settings')) { $this->renderView("drone:views/partials/settings.php"); } }); $app->on('admin.init', function () use ($app) { $settings = $app->storage->findOne('drone/settings'); if ($settings && $settings['active']) { // Bind admin routes. $this->bindClass('Drone\\Controller\\Admin', 'drone/deploys'); if ($app->module('cockpit')->hasaccess('drone', 'manage.view')) { // Add to modules menu. $this('admin')->addMenuItem('modules', [ 'label' => 'Drone Deploys', 'icon' => 'drone:icon.svg', 'route' => '/drone/deploys', 'active' => strpos($this['route'], '/drone/deploys') === 0, ]); } } if ($app->module('cockpit')->hasaccess('drone', 'manage.settings')) { // Add settings $this->bindClass('Drone\\Controller\\Settings', 'drone/settings'); } });