From 35fb1698fd888fa0cde59aea2a3b99cad09b1fc0 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Thu, 20 Dec 2018 23:23:14 +0100 Subject: [PATCH] Fix tests/coverage --- Models/AccountMapper.php | 23 ++++++++++++++++++- .../GroupTagSelectorPopupView.php | 17 +++++++++++++- .../GroupTagSelector/GroupTagSelectorView.php | 15 ++++++++++++ 3 files changed, 53 insertions(+), 2 deletions(-) diff --git a/Models/AccountMapper.php b/Models/AccountMapper.php index 3e5674e..f02affc 100644 --- a/Models/AccountMapper.php +++ b/Models/AccountMapper.php @@ -14,9 +14,9 @@ declare(strict_types=1); namespace Modules\Admin\Models; - use phpOMS\Auth\LoginReturnType; use phpOMS\DataStorage\Database\DataMapperAbstract; +use phpOMS\DataStorage\Database\RelationType; use phpOMS\DataStorage\Database\Query\Builder; /** @@ -89,6 +89,27 @@ final class AccountMapper extends DataMapperAbstract */ protected static $createdAt = 'account_created_at'; + /** + * Get account with permissions + * + * @param int $id Account id + * + * @return Account + * + * @since 1.0.0 + */ + public static function getWithPermissions(int $id) : Account + { + $account = AccountMapper::get($id); + $groupPermissions = GroupPermissionMapper::getFor(\array_keys($account->getGroups()), 'group', RelationType::ALL, null, 2); + $account->addPermissions(\is_array($groupPermissions) ? $groupPermissions : [$groupPermissions]); + + $accountPermissions = AccountPermissionMapper::getFor($id, 'account', RelationType::ALL, null, 2); + $account->addPermissions(\is_array($accountPermissions) ? $accountPermissions : [$accountPermissions]); + + return $account; + } + /** * Login user. * diff --git a/Theme/Backend/Components/GroupTagSelector/GroupTagSelectorPopupView.php b/Theme/Backend/Components/GroupTagSelector/GroupTagSelectorPopupView.php index 1f6d4dd..0d7fb60 100644 --- a/Theme/Backend/Components/GroupTagSelector/GroupTagSelectorPopupView.php +++ b/Theme/Backend/Components/GroupTagSelector/GroupTagSelectorPopupView.php @@ -19,17 +19,29 @@ use phpOMS\Message\RequestAbstract; use phpOMS\Message\ResponseAbstract; use phpOMS\Views\View; +/** + * Component view. + * + * @package TBD + * @license OMS License 1.0 + * @link http://website.orange-management.de + * @since 1.0.0 + * @codeCoverageIgnore + */ class GroupTagSelectorPopupView extends View { private $id = ''; + /** + * {@inheritdoc} + */ public function __construct(ApplicationAbstract $app, RequestAbstract $request, ResponseAbstract $response) { parent::__construct($app, $request, $response); $this->setTemplate('/Modules/Admin/Theme/Backend/Components/GroupTagSelector/group-selector-popup'); } - public function setId(string $id) + public function setId(string $id) : void { $this->id = $id; } @@ -39,6 +51,9 @@ class GroupTagSelectorPopupView extends View return $this->id; } + /** + * {@inheritdoc} + */ public function render(...$data) : string { $this->id = $data[0] ?? $this->id; diff --git a/Theme/Backend/Components/GroupTagSelector/GroupTagSelectorView.php b/Theme/Backend/Components/GroupTagSelector/GroupTagSelectorView.php index 088aed9..5b5307e 100644 --- a/Theme/Backend/Components/GroupTagSelector/GroupTagSelectorView.php +++ b/Theme/Backend/Components/GroupTagSelector/GroupTagSelectorView.php @@ -19,11 +19,23 @@ use phpOMS\Message\RequestAbstract; use phpOMS\Message\ResponseAbstract; use phpOMS\Views\View; +/** + * Component view. + * + * @package TBD + * @license OMS License 1.0 + * @link http://website.orange-management.de + * @since 1.0.0 + * @codeCoverageIgnore + */ class GroupTagSelectorView extends View { private $id = ''; private $isRequired = false; + /** + * {@inheritdoc} + */ public function __construct(ApplicationAbstract $app, RequestAbstract $request, ResponseAbstract $response) { parent::__construct($app, $request, $response); @@ -43,6 +55,9 @@ class GroupTagSelectorView extends View return $this->isRequired; } + /** + * {@inheritdoc} + */ public function render(...$data) : string { $this->id = $data[0];