From 5c2a348d5ede32480a10ac3f632fd7382858b811 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Thu, 30 Jul 2020 21:28:04 +0200 Subject: [PATCH] fix pagination and some media bugs --- Controller/ApiController.php | 2 +- Controller/BackendController.php | 20 +- Theme/Backend/accounts-list.tpl.php | 6 +- Theme/Backend/accounts-single.tpl.php | 490 ++++++++++++++----------- Theme/Backend/groups-list.tpl.php | 4 +- Theme/Backend/groups-single.tpl.php | 4 +- Theme/Backend/settings-general.tpl.php | 4 +- 7 files changed, 307 insertions(+), 223 deletions(-) diff --git a/Controller/ApiController.php b/Controller/ApiController.php index db2b582..9112e70 100755 --- a/Controller/ApiController.php +++ b/Controller/ApiController.php @@ -660,7 +660,7 @@ final class ApiController extends Controller $collection = new Collection(); $collection->setName((string) $account->getId()); $collection->setVirtualPath('/Accounts'); - $collection->setPath('/Accounts'); + $collection->setPath('/Modules/Media/Files/Accounts/' . ((string) $account->getId())); $collection->setCreatedBy(new NullAccount($request->getHeader()->getAccount())); CollectionMapper::create($collection); diff --git a/Controller/BackendController.php b/Controller/BackendController.php index 39de18b..878adb8 100755 --- a/Controller/BackendController.php +++ b/Controller/BackendController.php @@ -22,7 +22,8 @@ use Modules\Admin\Models\GroupPermissionMapper; use Modules\Admin\Models\LocalizationMapper; use Modules\Admin\Models\NullAccountPermission; use Modules\Admin\Models\NullGroupPermission; - +use Modules\Auditor\Models\Audit; +use Modules\Auditor\Models\AuditMapper; use phpOMS\Contract\RenderableInterface; use phpOMS\DataStorage\Database\RelationType; use phpOMS\Message\RequestAbstract; @@ -112,9 +113,9 @@ final class BackendController extends Controller $view->setTemplate('/Modules/Admin/Theme/Backend/accounts-list'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000104001, $request, $response)); - if ($request->getData('ptype') === '-') { + if ($request->getData('ptype') === 'p') { $view->setData('accounts', AccountMapper::getBeforePivot((int) ($request->getData('id') ?? 0), null, 25)); - } elseif ($request->getData('ptype') === '+') { + } elseif ($request->getData('ptype') === 'n') { $view->setData('accounts', AccountMapper::getAfterPivot((int) ($request->getData('id') ?? 0), null, 25)); } else { $view->setData('accounts', AccountMapper::getAfterPivot(0, null, 25)); @@ -154,6 +155,15 @@ final class BackendController extends Controller $accGrpSelector = new \Modules\Admin\Theme\Backend\Components\GroupTagSelector\GroupTagSelectorView($this->app->l11nManager, $request, $response); $view->addData('grpSelector', $accGrpSelector); + // audit log + if ($request->getData('ptype') === 'p') { + $view->setData('auditlogs', AuditMapper::withConditional('createdBy', (int) $request->getData('id'), [Audit::class])::getBeforePivot((int) $request->getData('audit'), null, 25)); + } elseif ($request->getData('ptype') === 'n') { + $view->setData('auditlogs', AuditMapper::withConditional('createdBy', (int) $request->getData('id'), [Audit::class])::getAfterPivot((int) $request->getData('audit'), null, 25)); + } else { + $view->setData('auditlogs', AuditMapper::withConditional('createdBy', (int) $request->getData('id'), [Audit::class])::getAfterPivot(0, null, 25)); + } + return $view; } @@ -194,9 +204,9 @@ final class BackendController extends Controller $view->setTemplate('/Modules/Admin/Theme/Backend/groups-list'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000103001, $request, $response)); - if ($request->getData('ptype') === '-') { + if ($request->getData('ptype') === 'p') { $view->setData('groups', GroupMapper::getBeforePivot((int) ($request->getData('id') ?? 0), null, 25)); - } elseif ($request->getData('ptype') === '+') { + } elseif ($request->getData('ptype') === 'n') { $view->setData('groups', GroupMapper::getAfterPivot((int) ($request->getData('id') ?? 0), null, 25)); } else { $view->setData('groups', GroupMapper::getAfterPivot(0, null, 25)); diff --git a/Theme/Backend/accounts-list.tpl.php b/Theme/Backend/accounts-list.tpl.php index 2925bca..91ffa08 100755 --- a/Theme/Backend/accounts-list.tpl.php +++ b/Theme/Backend/accounts-list.tpl.php @@ -12,7 +12,7 @@ */ declare(strict_types=1); -use \phpOMS\Account\AccountStatus; +use phpOMS\Account\AccountStatus; use phpOMS\Uri\UriFactory; /** @@ -21,8 +21,8 @@ use phpOMS\Uri\UriFactory; */ $accounts = $this->getData('accounts') ?? []; -$previous = empty($accounts) ? '{/prefix}admin/account/list' : '{/prefix}admin/account/list?{?}&id=' . \reset($accounts)->getId() . '&ptype=-'; -$next = empty($accounts) ? '{/prefix}admin/account/list' : '{/prefix}admin/account/list?{?}&id=' . \end($accounts)->getId() . '&ptype=+'; +$previous = empty($accounts) ? '{/prefix}admin/account/list' : '{/prefix}admin/account/list?{?}&id=' . \reset($accounts)->getId() . '&ptype=p'; +$next = empty($accounts) ? '{/prefix}admin/account/list' : '{/prefix}admin/account/list?{?}&id=' . \end($accounts)->getId() . '&ptype=n'; echo $this->getData('nav')->render(); ?> diff --git a/Theme/Backend/accounts-single.tpl.php b/Theme/Backend/accounts-single.tpl.php index a08e70e..ea9e4c1 100755 --- a/Theme/Backend/accounts-single.tpl.php +++ b/Theme/Backend/accounts-single.tpl.php @@ -16,6 +16,7 @@ use phpOMS\Account\AccountStatus; use phpOMS\Account\AccountType; use phpOMS\Account\PermissionOwner; use phpOMS\Account\PermissionType; +use phpOMS\Message\Http\HttpHeader; use phpOMS\Uri\UriFactory; /** @@ -36,225 +37,298 @@ use phpOMS\Uri\UriFactory; /** * @var \phpOMS\Views\View $this */ -$account = $this->getData('account'); +$account = $this->getData('account'); $permissions = $this->getData('permissions'); +$audits = $this->getData('auditlogs'); + +$previous = empty($audits) ? HttpHeader::getAllHeaders()['Referer'] ?? '{/prefix}admin/account/settings?id={?id}#{\#}' : '{/prefix}admin/account/settings?{?}&audit=' . \reset($audits)->getId() . '&ptype=p#{\#}'; +$next = empty($audits) ? HttpHeader::getAllHeaders()['Referer'] ?? '{/prefix}admin/account/settings?id={?id}#{\#}' : '{/prefix}admin/account/settings?{?}&audit=' . \end($audits)->getId() . '&ptype=n#{\#}'; echo $this->getData('nav')->render(); ?> -
-
-
-
-
getHtml('Account'); ?>
-
- - -
-
-
-
-
-
-
-
- - - - -
-
- - - - -
-
- - - - -
-
- - - - -
-
- - - - -
-
-
-
- - - - -
-
or
+
+
+ +
+
+ request->getUri()->getFragment() === 'c-tab-1' ? ' checked' : '' ?>> +
+
+
+
+ +
getHtml('Account'); ?>
+
+ + +
+
+
+
+
+
+
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+
+
+ + + + +
+
or
+
+
+
+
+ + +
+ +
+
+ +
+
+
getHtml('Groups') ?>
+ + + + + getGroups(); foreach ($groups as $key => $value) : ++$c; + $url = UriFactory::build('{/prefix}admin/group/settings?{?}&id=' . $value->getId()); ?> + +
+ getHtml('ID', '0', '0'); ?> + getHtml('Name') ?> +
+ printHtml($value->getId()); ?> + printHtml($value->getName()); ?> + + +
getHtml('Empty', '0', '0'); ?> + +
+
+ +
+
+
getHtml('Groups'); ?>
+
+ + +
+
getData('grpSelector')->render('iGroup', true); ?> +
+
+
+ + +
+
+
+
+ +
+
+
getHtml('Permissions') ?>
+
+ + + + + $value) : ++$c; $permission = $value->getPermission(); ?> + +
+ + getHtml('ID', '0', '0'); ?> + getHtml('Unit'); ?> + getHtml('App'); ?> + getHtml('Module'); ?> + getHtml('Type'); ?> + getHtml('Ele'); ?> + getHtml('Comp'); ?> + getHtml('Perm'); ?> +
+ + getId(); ?> + getUnit(); ?> + getApp(); ?> + getModule(); ?> + getType(); ?> + getElement(); ?> + getComponent(); ?> + + + + + + + + +
getHtml('Empty', '0', '0'); ?> + +
-
-
-
- - -
- -
-
+
-
-
-
getHtml('Groups') ?>
- - - - - getGroups(); foreach ($groups as $key => $value) : ++$c; - $url = UriFactory::build('{/prefix}admin/group/settings?{?}&id=' . $value->getId()); ?> - -
- getHtml('ID', '0', '0'); ?> - getHtml('Name') ?> -
- printHtml($value->getId()); ?> - printHtml($value->getName()); ?> - - -
getHtml('Empty', '0', '0'); ?> - -
-
- -
-
-
getHtml('Groups'); ?>
-
- - -
-
getData('grpSelector')->render('iGroup', true); ?> -
+
+ +
getHtml('Permissions'); ?>
+
+ + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + +
+
+
+ + + +
+ +
-
- - -
- -
-
- -
-
-
getHtml('Permissions') ?>
-
- - - - - $value) : ++$c; $permission = $value->getPermission(); ?> - -
- - getHtml('ID', '0', '0'); ?> - getHtml('Unit'); ?> - getHtml('App'); ?> - getHtml('Module'); ?> - getHtml('Type'); ?> - getHtml('Ele'); ?> - getHtml('Comp'); ?> - getHtml('Perm'); ?> -
- - getId(); ?> - getUnit(); ?> - getApp(); ?> - getModule(); ?> - getType(); ?> - getElement(); ?> - getComponent(); ?> - - - - - - - - -
getHtml('Empty', '0', '0'); ?> - -
-
-
-
getHtml('Permissions'); ?>
-
- - -
-
-
-
-
-
-
-
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - -
+ request->getUri()->getFragment() === 'c-tab-2' ? ' checked' : '' ?>> +
+
+
+
+
getHtml('Audits', 'Auditor') ?>
+ + + + + + + + + + + + + + + + $audit) : ++$count; + $url = \phpOMS\Uri\UriFactory::build('{/prefix}admin/audit/single?{?}&id=' . $audit->getId()); ?> + +
getHtml('ID', '0', '0'); ?> + getHtml('Module', 'Auditor') ?> + getHtml('Type', 'Auditor') ?> + getHtml('Subtype', 'Auditor') ?> + getHtml('Old', 'Auditor') ?> + getHtml('New', 'Auditor') ?> + getHtml('Content', 'Auditor') ?> + getHtml('By', 'Auditor') ?> + getHtml('Date', 'Auditor') ?> +
getId(); ?> + printHtml($audit->getModule()); ?> + getType(); ?> + getSubtype(); ?> + printHtml($audit->getOld()); ?> + printHtml($audit->getNew()); ?> + printHtml($audit->getContent()); ?> + printHtml($audit->getCreatedBy()->getName()); ?> + getCreatedAt()->format('Y-m-d H:i'); ?> + + +
getHtml('Empty', '0', '0'); ?> + +
+ +
-
- - - -
- +
diff --git a/Theme/Backend/groups-list.tpl.php b/Theme/Backend/groups-list.tpl.php index 6db5eb3..fe417be 100755 --- a/Theme/Backend/groups-list.tpl.php +++ b/Theme/Backend/groups-list.tpl.php @@ -20,8 +20,8 @@ use phpOMS\Uri\UriFactory; */ $groups = $this->getData('groups') ?? []; -$previous = empty($groups) ? '{/prefix}admin/group/list' : '{/prefix}admin/group/list?{?}&id=' . \reset($groups)->getId() . '&ptype=-'; -$next = empty($groups) ? '{/prefix}admin/group/list' : '{/prefix}admin/group/list?{?}&id=' . \end($groups)->getId() . '&ptype=+'; +$previous = empty($groups) ? '{/prefix}admin/group/list' : '{/prefix}admin/group/list?{?}&id=' . \reset($groups)->getId() . '&ptype=p'; +$next = empty($groups) ? '{/prefix}admin/group/list' : '{/prefix}admin/group/list?{?}&id=' . \end($groups)->getId() . '&ptype=n'; echo $this->getData('nav')->render(); ?> diff --git a/Theme/Backend/groups-single.tpl.php b/Theme/Backend/groups-single.tpl.php index 50d0526..fede8e3 100755 --- a/Theme/Backend/groups-single.tpl.php +++ b/Theme/Backend/groups-single.tpl.php @@ -60,7 +60,7 @@ echo $this->getData('nav')->render(); ?>
- + request->getUri()->getFragment() === 'c-tab-1' ? ' checked' : '' ?>>
@@ -246,7 +246,7 @@ echo $this->getData('nav')->render(); ?>
- + request->getUri()->getFragment() === 'c-tab-2' ? ' checked' : '' ?>>
diff --git a/Theme/Backend/settings-general.tpl.php b/Theme/Backend/settings-general.tpl.php index fa57f1e..5ef83a4 100755 --- a/Theme/Backend/settings-general.tpl.php +++ b/Theme/Backend/settings-general.tpl.php @@ -47,7 +47,7 @@ $l11n = $this->getData('defaultlocalization') ?? new NullLocalization();
- + request->getUri()->getFragment() === 'c-tab-1' ? ' checked' : '' ?>>
@@ -127,7 +127,7 @@ $l11n = $this->getData('defaultlocalization') ?? new NullLocalization();
- + request->getUri()->getFragment() === 'c-tab-2' ? ' checked' : '' ?>>