diff options
author | Arthur Schiwon <blizzz@arthur-schiwon.de> | 2019-08-22 17:34:27 +0200 |
---|---|---|
committer | Arthur Schiwon <blizzz@arthur-schiwon.de> | 2019-09-09 22:56:02 +0200 |
commit | 1c67357db8432174c2a80bbb9c729f4ead44ca0d (patch) | |
tree | 8e34d50cd57619477ca36f3d4c649915f180bc59 /apps/workflowengine | |
parent | 2288363b0fbf86dc5a16b6c3e680095006317a68 (diff) | |
download | nextcloud-server-1c67357db8432174c2a80bbb9c729f4ead44ca0d.tar.gz nextcloud-server-1c67357db8432174c2a80bbb9c729f4ead44ca0d.zip |
section and settings for users
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
Diffstat (limited to 'apps/workflowengine')
-rw-r--r-- | apps/workflowengine/appinfo/info.xml | 3 | ||||
-rw-r--r-- | apps/workflowengine/composer/composer/autoload_classmap.php | 2 | ||||
-rw-r--r-- | apps/workflowengine/composer/composer/autoload_static.php | 2 | ||||
-rw-r--r-- | apps/workflowengine/lib/Settings/Admin.php | 100 | ||||
-rw-r--r-- | apps/workflowengine/lib/Settings/Personal.php | 32 | ||||
-rw-r--r-- | apps/workflowengine/lib/Settings/Section.php | 2 | ||||
-rw-r--r-- | apps/workflowengine/templates/settings.php (renamed from apps/workflowengine/templates/admin.php) | 0 |
7 files changed, 44 insertions, 97 deletions
diff --git a/apps/workflowengine/appinfo/info.xml b/apps/workflowengine/appinfo/info.xml index ddb20538280..e535ffa1432 100644 --- a/apps/workflowengine/appinfo/info.xml +++ b/apps/workflowengine/appinfo/info.xml @@ -36,6 +36,9 @@ </commands> <settings> + <admin>OCA\WorkflowEngine\Settings\Admin</admin> <admin-section>OCA\WorkflowEngine\Settings\Section</admin-section> + <personal>OCA\WorkflowEngine\Settings\Admin</personal> + <personal-section>OCA\WorkflowEngine\Settings\Section</personal-section> </settings> </info> diff --git a/apps/workflowengine/composer/composer/autoload_classmap.php b/apps/workflowengine/composer/composer/autoload_classmap.php index 81047b10614..637f1a8abff 100644 --- a/apps/workflowengine/composer/composer/autoload_classmap.php +++ b/apps/workflowengine/composer/composer/autoload_classmap.php @@ -30,6 +30,8 @@ return array( 'OCA\\WorkflowEngine\\Manager' => $baseDir . '/../lib/Manager.php', 'OCA\\WorkflowEngine\\Migration\\PopulateNewlyIntroducedDatabaseFields' => $baseDir . '/../lib/Migration/PopulateNewlyIntroducedDatabaseFields.php', 'OCA\\WorkflowEngine\\Migration\\Version2019Date20190808074233' => $baseDir . '/../lib/Migration/Version2019Date20190808074233.php', + 'OCA\\WorkflowEngine\\Settings\\ASettings' => $baseDir . '/../lib/Settings/ASettings.php', 'OCA\\WorkflowEngine\\Settings\\Admin' => $baseDir . '/../lib/Settings/Admin.php', + 'OCA\\WorkflowEngine\\Settings\\Personal' => $baseDir . '/../lib/Settings/Personal.php', 'OCA\\WorkflowEngine\\Settings\\Section' => $baseDir . '/../lib/Settings/Section.php', ); diff --git a/apps/workflowengine/composer/composer/autoload_static.php b/apps/workflowengine/composer/composer/autoload_static.php index d016377ea54..edf3f3b0518 100644 --- a/apps/workflowengine/composer/composer/autoload_static.php +++ b/apps/workflowengine/composer/composer/autoload_static.php @@ -45,7 +45,9 @@ class ComposerStaticInitWorkflowEngine 'OCA\\WorkflowEngine\\Manager' => __DIR__ . '/..' . '/../lib/Manager.php', 'OCA\\WorkflowEngine\\Migration\\PopulateNewlyIntroducedDatabaseFields' => __DIR__ . '/..' . '/../lib/Migration/PopulateNewlyIntroducedDatabaseFields.php', 'OCA\\WorkflowEngine\\Migration\\Version2019Date20190808074233' => __DIR__ . '/..' . '/../lib/Migration/Version2019Date20190808074233.php', + 'OCA\\WorkflowEngine\\Settings\\ASettings' => __DIR__ . '/..' . '/../lib/Settings/ASettings.php', 'OCA\\WorkflowEngine\\Settings\\Admin' => __DIR__ . '/..' . '/../lib/Settings/Admin.php', + 'OCA\\WorkflowEngine\\Settings\\Personal' => __DIR__ . '/..' . '/../lib/Settings/Personal.php', 'OCA\\WorkflowEngine\\Settings\\Section' => __DIR__ . '/..' . '/../lib/Settings/Section.php', ); diff --git a/apps/workflowengine/lib/Settings/Admin.php b/apps/workflowengine/lib/Settings/Admin.php index 8ffd8533d3b..39932d5f1f2 100644 --- a/apps/workflowengine/lib/Settings/Admin.php +++ b/apps/workflowengine/lib/Settings/Admin.php @@ -24,103 +24,11 @@ declare(strict_types=1); namespace OCA\WorkflowEngine\Settings; -use OCA\WorkflowEngine\AppInfo\Application; -use OCA\WorkflowEngine\Manager; -use OCP\AppFramework\Http\TemplateResponse; -use OCP\IInitialStateService; -use OCP\IL10N; -use OCP\Settings\ISettings; -use OCP\WorkflowEngine\IEntity; -use OCP\WorkflowEngine\IEntityEvent; -use Symfony\Component\EventDispatcher\EventDispatcherInterface; +class Admin extends ASettings { -class Admin implements ISettings { - - /** @var IL10N */ - private $l10n; - - /** @var string */ - private $appName; - - /** @var EventDispatcherInterface */ - private $eventDispatcher; - - /** @var Manager */ - private $manager; - - /** @var IInitialStateService */ - private $initialStateService; - - /** - * @param string $appName - * @param IL10N $l - * @param EventDispatcherInterface $eventDispatcher - */ - public function __construct( - $appName, - IL10N $l, - EventDispatcherInterface $eventDispatcher, - Manager $manager, - IInitialStateService $initialStateService - ) { - $this->appName = $appName; - $this->l10n = $l; - $this->eventDispatcher = $eventDispatcher; - $this->manager = $manager; - $this->initialStateService = $initialStateService; + function isAdmin(): bool { + return true; } +} - /** - * @return TemplateResponse - */ - public function getForm() { - $this->eventDispatcher->dispatch('OCP\WorkflowEngine::loadAdditionalSettingScripts'); - - $entities = $this->manager->getEntitiesList(); - - $this->initialStateService->provideInitialState( - Application::APP_ID, - 'entities', - $this->entitiesToArray($entities) - ); - - return new TemplateResponse(Application::APP_ID, 'admin', [], 'blank'); - } - - /** - * @return string the section ID, e.g. 'sharing' - */ - public function getSection() { - return 'workflow'; - } - - /** - * @return int whether the form should be rather on the top or bottom of - * the admin section. The forms are arranged in ascending order of the - * priority values. It is required to return a value between 0 and 100. - * - * E.g.: 70 - */ - public function getPriority() { - return 0; - } - - private function entitiesToArray(array $entities) { - return array_map(function (IEntity $entity) { - $events = array_map(function(IEntityEvent $entityEvent) { - return [ - 'eventName' => $entityEvent->getEventName(), - 'displayName' => $entityEvent->getDisplayName() - ]; - }, $entity->getEvents()); - - return [ - 'id' => $entity->getId(), - 'icon' => $entity->getIcon(), - 'name' => $entity->getName(), - 'events' => $events, - ]; - }, $entities); - } -} diff --git a/apps/workflowengine/lib/Settings/Personal.php b/apps/workflowengine/lib/Settings/Personal.php new file mode 100644 index 00000000000..d6ed220577f --- /dev/null +++ b/apps/workflowengine/lib/Settings/Personal.php @@ -0,0 +1,32 @@ +<?php +declare(strict_types=1); +/** + * @copyright Copyright (c) 2019 Arthur Schiwon <blizzz@arthur-schiwon.de> + * + * @author Arthur Schiwon <blizzz@arthur-schiwon.de> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace OCA\WorkflowEngine\Settings; + +class Personal extends ASettings { + + function isAdmin(): bool { + return false; + } +} diff --git a/apps/workflowengine/lib/Settings/Section.php b/apps/workflowengine/lib/Settings/Section.php index 0ed6b222ffe..031e9438d9a 100644 --- a/apps/workflowengine/lib/Settings/Section.php +++ b/apps/workflowengine/lib/Settings/Section.php @@ -53,7 +53,7 @@ class Section implements IIconSection { * {@inheritdoc} */ public function getName() { - return $this->l->t('Tag management'); + return $this->l->t('Workflows'); } /** diff --git a/apps/workflowengine/templates/admin.php b/apps/workflowengine/templates/settings.php index 04f43bb2573..04f43bb2573 100644 --- a/apps/workflowengine/templates/admin.php +++ b/apps/workflowengine/templates/settings.php |