From 8ef8dc225f213ffd91c32caf6f1f34318d32d1b1 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Sat, 30 Dec 2017 11:47:14 +0100 Subject: [PATCH] Cleanup and implement raw text --- Controller.php | 22 ++- Models/PermissionState.php | 32 +++++ .../AccountGroupSelector/popup.tpl.php | 126 ++++++++---------- 3 files changed, 112 insertions(+), 68 deletions(-) create mode 100644 Models/PermissionState.php diff --git a/Controller.php b/Controller.php index b7b4e9f..0557d91 100644 --- a/Controller.php +++ b/Controller.php @@ -15,6 +15,8 @@ declare(strict_types = 1); namespace Modules\Profile; use Modules\Profile\Models\ProfileMapper; +use Modules\Profile\Models\PermissionState; +use phpOMS\Account\PermissionType; use phpOMS\Contract\RenderableInterface; use phpOMS\Message\RequestAbstract; use phpOMS\Message\ResponseAbstract; @@ -114,6 +116,15 @@ class Controller extends ModuleAbstract implements WebInterface public function viewProfileList(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable { $view = new View($this->app, $request, $response); + + if (!$this->app->accountManager->get($request->getHeader()->getAccount())->hasPermission( + PermissionType::READ, $this->app->orgId, $this->app->appName, self::MODULE_ID, PermissionState::PROFILE) + ) { + $view->setTemplate('/Web/Backend/Error/403_inline'); + $response->getHeader()->setStatusCode(RequestStatusCode::R_403); + return $view; + } + $view->setTemplate('/Modules/Profile/Theme/Backend/profile-list'); $view->setData('accounts', ProfileMapper::getNewest(25)); @@ -133,11 +144,20 @@ class Controller extends ModuleAbstract implements WebInterface */ public function viewProfileSingle(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable { + $view = new View($this->app, $request, $response); + + if (!$this->app->accountManager->get($request->getHeader()->getAccount())->hasPermission( + PermissionType::READ, $this->app->orgId, $this->app->appName, self::MODULE_ID, PermissionState::PROFILE) + ) { + $view->setTemplate('/Web/Backend/Error/403_inline'); + $response->getHeader()->setStatusCode(RequestStatusCode::R_403); + return $view; + } + /** @var Head $head */ $head = $response->get('Content')->getData('head'); $head->addAsset(AssetType::CSS, '/Modules/Calendar/Theme/Backend/css/styles.css'); - $view = new View($this->app, $request, $response); $view->setTemplate('/Modules/Profile/Theme/Backend/profile-single'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000301001, $request, $response)); diff --git a/Models/PermissionState.php b/Models/PermissionState.php new file mode 100644 index 0000000..5267dd9 --- /dev/null +++ b/Models/PermissionState.php @@ -0,0 +1,32 @@ +
- - -
-
+ + + + -
ID + Name + Address + City + Zip + Country + +
- - - - - -
ID - Name - Address - City - Zip - Country - -
-
+ ]'> +
+
- + + +
+ + + -
ID + Name + Parent
-
-
- - - - - -
ID - Name - Parent -
-
-
+ ]'>getHtml('Close', 'Admin') ?>