fix templates

This commit is contained in:
Dennis Eichhorn 2024-04-17 17:45:07 +00:00
parent da14cebc55
commit 32b4012862
3 changed files with 36 additions and 59 deletions

View File

@ -90,16 +90,4 @@ return [
], ],
], ],
], ],
'^/news/analysis(\?.*$|$)' => [
[
'dest' => '\Modules\News\Controller\BackendController:viewNewsAnalysis',
'verb' => RouteVerb::GET,
'active' => true,
'permission' => [
'module' => BackendController::NAME,
'type' => PermissionType::MODIFY,
'state' => PermissionCategory::ANALYSIS,
],
],
],
]; ];

View File

@ -59,7 +59,7 @@ final class BackendController extends Controller implements DashboardElementInte
$view->setTemplate('/Modules/News/Theme/Backend/news-dashboard'); $view->setTemplate('/Modules/News/Theme/Backend/news-dashboard');
$view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1000601001, $request, $response); $view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1000601001, $request, $response);
$mapperQuery = NewsArticleMapper::getAll() $view->data['news'] = NewsArticleMapper::getAll()
->with('createdBy') ->with('createdBy')
->with('tags') ->with('tags')
->with('tags/title') ->with('tags/title')
@ -68,32 +68,16 @@ final class BackendController extends Controller implements DashboardElementInte
->where('language', $response->header->l11n->language) ->where('language', $response->header->l11n->language)
->where('tags/title/language', $response->header->l11n->language) ->where('tags/title/language', $response->header->l11n->language)
->sort('publish', OrderType::DESC) ->sort('publish', OrderType::DESC)
->limit(25); ->limit(25)
->paginate(
/** @var \Modules\News\Models\NewsArticle[] $objs */ 'id',
$objs = []; $request->getData('ptype'),
if ($request->getData('ptype') === 'p') { $request->getDataInt('offset')
/** @var \Modules\News\Models\NewsArticle[] $objs */ )
$objs = $mapperQuery->where('id', $request->getDataInt('offset') ?? 0, '<') ->executeGetArray();
->execute();
$view->data['news'] = $objs;
} elseif ($request->getData('ptype') === 'n') {
/** @var \Modules\News\Models\NewsArticle[] $objs */
$objs = $mapperQuery->where('id', $request->getDataInt('offset') ?? 0, '>')
->execute();
$view->data['news'] = $objs;
} else {
/** @var \Modules\News\Models\NewsArticle[] $objs */
$objs = $mapperQuery->where('id', 0, '>')
->execute();
$view->data['news'] = $objs;
}
$ids = []; $ids = [];
foreach ($objs as $news) { foreach ($view->data['news'] as $news) {
$ids[] = $news->id; $ids[] = $news->id;
} }
@ -180,6 +164,14 @@ final class BackendController extends Controller implements DashboardElementInte
) { ) {
$view->setTemplate('/Web/Backend/Error/403_inline'); $view->setTemplate('/Web/Backend/Error/403_inline');
$response->header->status = RequestStatusCode::R_403; $response->header->status = RequestStatusCode::R_403;
return $view;
}
if ($article->id === 0) {
$view->setTemplate('/Web/Backend/Error/404');
$response->header->status = RequestStatusCode::R_404;
return $view; return $view;
} }
@ -254,7 +246,7 @@ final class BackendController extends Controller implements DashboardElementInte
$view->setTemplate('/Modules/News/Theme/Backend/news-archive'); $view->setTemplate('/Modules/News/Theme/Backend/news-archive');
$view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1000601001, $request, $response); $view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1000601001, $request, $response);
$mapperQuery = NewsArticleMapper::getAll() $view->data['news'] = NewsArticleMapper::getAll()
->with('createdBy') ->with('createdBy')
->with('tags') ->with('tags')
->with('tags/title') ->with('tags/title')
@ -262,18 +254,13 @@ final class BackendController extends Controller implements DashboardElementInte
->where('publish', new \DateTime('now'), '<=') ->where('publish', new \DateTime('now'), '<=')
->where('tags/title/language', $response->header->l11n->language) ->where('tags/title/language', $response->header->l11n->language)
->sort('publish', OrderType::DESC) ->sort('publish', OrderType::DESC)
->limit(25); ->limit(25)
->paginate(
if ($request->getData('ptype') === 'p') { 'id',
$view->data['news'] = $mapperQuery->where('id', $request->getDataInt('offset') ?? 0, '<') $request->getData('ptype'),
->execute(); $request->getDataInt('offset')
} elseif ($request->getData('ptype') === 'n') { )
$view->data['news'] = $mapperQuery->where('id', $request->getDataInt('offset') ?? 0, '>') ->executeGetArray();
->execute();
} else {
$view->data['news'] = $mapperQuery->where('id', 0, '>')
->execute();
}
return $view; return $view;
} }
@ -297,13 +284,15 @@ final class BackendController extends Controller implements DashboardElementInte
$view->setTemplate('/Modules/News/Theme/Backend/news-draft'); $view->setTemplate('/Modules/News/Theme/Backend/news-draft');
$view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1000601001, $request, $response); $view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1000601001, $request, $response);
if ($request->getData('ptype') === 'p') { $view->data['news'] = NewsArticleMapper::getAll()
$view->data['news'] = NewsArticleMapper::getAll()->where('id', $request->getDataInt('offset') ?? 0, '<')->where('status', NewsStatus::DRAFT)->limit(25)->executeGetArray(); ->where('status', NewsStatus::DRAFT)
} elseif ($request->getData('ptype') === 'n') { ->limit(25)
$view->data['news'] = NewsArticleMapper::getAll()->where('id', $request->getDataInt('offset') ?? 0, '>')->where('status', NewsStatus::DRAFT)->limit(25)->executeGetArray(); ->paginate(
} else { 'id',
$view->data['news'] = NewsArticleMapper::getAll()->where('id', 0, '>')->where('status', NewsStatus::DRAFT)->limit(25)->executeGetArray(); $request->getData('ptype'),
} $request->getDataInt('offset')
)
->executeGetArray();
return $view; return $view;
} }

View File

@ -36,13 +36,13 @@ echo $this->data['nav']->render(); ?>
<section class="portlet"> <section class="portlet">
<div class="portlet-body"> <div class="portlet-body">
<?= $this->getData('editor')->render('iNews'); ?> <?= $this->data['editor']->render('iNews'); ?>
</div> </div>
</section> </section>
<section class="portlet"> <section class="portlet">
<div class="portlet-body"> <div class="portlet-body">
<?= $this->getData('editor')->getData('text')->render('iNews', 'plain', 'docForm', $news->plain, $news->content); ?> <?= $this->data['editor']->getData('text')->render('iNews', 'plain', 'docForm', $news->plain, $news->content); ?>
</div> </div>
</section> </section>
</div> </div>