From 04982f300f25db4d6e3ff4761f6cb61e15038616 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Sun, 5 Apr 2020 17:05:59 +0200 Subject: [PATCH] add list pagination --- Controller/BackendController.php | 7 ++++++- Theme/Backend/accounts-list.tpl.php | 4 ++-- Theme/Backend/groups-list.tpl.php | 16 +++++++++++++--- Theme/Backend/groups-single.tpl.php | 6 +++--- 4 files changed, 24 insertions(+), 9 deletions(-) diff --git a/Controller/BackendController.php b/Controller/BackendController.php index b5d73bc..c1d5750 100644 --- a/Controller/BackendController.php +++ b/Controller/BackendController.php @@ -194,7 +194,12 @@ final class BackendController extends Controller $view = new View($this->app->l11nManager, $request, $response); $view->setTemplate('/Modules/Admin/Theme/Backend/groups-list'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000103001, $request, $response)); - $view->setData('list:elements', GroupMapper::getAll(RelationType::NONE)); + + if ($request->getData('ptype') === '-') { + $view->setData('groups', GroupMapper::getBeforePivot((int) ($request->getData('id') ?? 0), null, 25)); + } else { + $view->setData('groups', GroupMapper::getAfterPivot((int) ($request->getData('id') ?? 0), null, 25)); + } return $view; } diff --git a/Theme/Backend/accounts-list.tpl.php b/Theme/Backend/accounts-list.tpl.php index 5af9fc8..170cc80 100644 --- a/Theme/Backend/accounts-list.tpl.php +++ b/Theme/Backend/accounts-list.tpl.php @@ -60,8 +60,8 @@ echo $this->getData('nav')->render(); ?>
- Previous - Next + getHtml('Previous', '0', '0'); ?> + getHtml('Next', '0', '0'); ?>
diff --git a/Theme/Backend/groups-list.tpl.php b/Theme/Backend/groups-list.tpl.php index 1b2f2e8..e293e7b 100644 --- a/Theme/Backend/groups-list.tpl.php +++ b/Theme/Backend/groups-list.tpl.php @@ -12,10 +12,17 @@ */ declare(strict_types=1); +use phpOMS\Uri\UriFactory; /** - * @var \phpOMS\Views\View $this + * @var \phpOMS\Views\View $this + * @var \Modules\Admin\Models\Group[] $groups */ +$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=+'; + echo $this->getData('nav')->render(); ?>
@@ -30,7 +37,7 @@ echo $this->getData('nav')->render(); ?> getHtml('Name') ?> getHtml('Members') ?> - getData('list:elements') as $key => $value) : ++$c; + $value) : ++$c; $url = \phpOMS\Uri\UriFactory::build('{/prefix}admin/group/settings?{?}&id=' . $value->getId()); $color = 'darkred'; if ($value->getStatus() === \phpOMS\Account\GroupStatus::ACTIVE) { $color = 'green'; } @@ -46,7 +53,10 @@ echo $this->getData('nav')->render(); ?> getHtml('Empty', '0', '0'); ?> -
+
\ No newline at end of file diff --git a/Theme/Backend/groups-single.tpl.php b/Theme/Backend/groups-single.tpl.php index fba1bd2..293aa97 100644 --- a/Theme/Backend/groups-single.tpl.php +++ b/Theme/Backend/groups-single.tpl.php @@ -100,10 +100,10 @@ echo $this->getData('nav')->render(); ?> getHtml('ID', '0', '0'); ?> getHtml('Name'); ?> - $value) : ++$c; ?> - + $value) : ++$c; $url = UriFactory::build('{/prefix}admin/account/settings?{?}&id=' . $value->getId()); ?> + - getName1(); ?> + getName1(); ?> getHtml('Empty', '0', '0'); ?>