ver 0.262 - pages module refactor and admin UX fixes
This commit is contained in:
@@ -4,6 +4,7 @@ namespace admin\Controllers;
|
||||
use Domain\Article\ArticleRepository;
|
||||
use Domain\Languages\LanguagesRepository;
|
||||
use Domain\Layouts\LayoutsRepository;
|
||||
use Domain\Pages\PagesRepository;
|
||||
use admin\ViewModels\Forms\FormAction;
|
||||
use admin\ViewModels\Forms\FormEditViewModel;
|
||||
use admin\ViewModels\Forms\FormField;
|
||||
@@ -14,16 +15,19 @@ class ArticlesController
|
||||
private ArticleRepository $repository;
|
||||
private LanguagesRepository $languagesRepository;
|
||||
private LayoutsRepository $layoutsRepository;
|
||||
private PagesRepository $pagesRepository;
|
||||
|
||||
public function __construct(
|
||||
ArticleRepository $repository,
|
||||
LanguagesRepository $languagesRepository,
|
||||
LayoutsRepository $layoutsRepository
|
||||
LayoutsRepository $layoutsRepository,
|
||||
PagesRepository $pagesRepository
|
||||
)
|
||||
{
|
||||
$this->repository = $repository;
|
||||
$this->languagesRepository = $languagesRepository;
|
||||
$this->layoutsRepository = $layoutsRepository;
|
||||
$this->pagesRepository = $pagesRepository;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -83,7 +87,7 @@ class ArticlesController
|
||||
|
||||
$rows[] = [
|
||||
'lp' => $lp++ . '.',
|
||||
'title' => '<a href="/admin/articles/article_edit/id=' . $id . '">' . htmlspecialchars($title, ENT_QUOTES, 'UTF-8') . '</a>'
|
||||
'title' => '<a href="/admin/articles/edit/id=' . $id . '">' . htmlspecialchars($title, ENT_QUOTES, 'UTF-8') . '</a>'
|
||||
. '<small class="text-muted">' . htmlspecialchars($pages, ENT_QUOTES, 'UTF-8') . '</small>',
|
||||
'status' => ((int)$item['status'] === 1) ? 'tak' : '<span style="color: #FF0000;">nie</span>',
|
||||
'date_add' => !empty($item['date_add']) ? date('Y-m-d H:i', strtotime((string)$item['date_add'])) : '-',
|
||||
@@ -92,12 +96,12 @@ class ArticlesController
|
||||
'_actions' => [
|
||||
[
|
||||
'label' => 'Edytuj',
|
||||
'url' => '/admin/articles/article_edit/id=' . $id,
|
||||
'url' => '/admin/articles/edit/id=' . $id,
|
||||
'class' => 'btn btn-xs btn-primary',
|
||||
],
|
||||
[
|
||||
'label' => 'Usun',
|
||||
'url' => '/admin/articles/article_delete/id=' . $id,
|
||||
'url' => '/admin/articles/delete/id=' . $id,
|
||||
'class' => 'btn btn-xs btn-danger',
|
||||
'confirm' => 'Na pewno chcesz usunac wybrany element?',
|
||||
],
|
||||
@@ -136,9 +140,9 @@ class ArticlesController
|
||||
]),
|
||||
$listRequest['perPageOptions'],
|
||||
$sortableColumns,
|
||||
'/admin/articles/view_list/',
|
||||
'/admin/articles/list/',
|
||||
'Brak danych w tabeli.',
|
||||
'/admin/articles/article_edit/',
|
||||
'/admin/articles/edit/',
|
||||
'Dodaj artykul'
|
||||
);
|
||||
|
||||
@@ -259,7 +263,7 @@ class ArticlesController
|
||||
\S::alert('Artykul zostal przeniesiony do archiwum.');
|
||||
}
|
||||
|
||||
header('Location: /admin/articles/view_list/');
|
||||
header('Location: /admin/articles/list/');
|
||||
exit;
|
||||
}
|
||||
|
||||
@@ -280,7 +284,7 @@ class ArticlesController
|
||||
|
||||
$article = $this->repository->find((int)\S::get('id')) ?: ['id' => 0, 'languages' => [], 'images' => [], 'files' => [], 'pages' => []];
|
||||
$languages = $this->languagesRepository->languagesList();
|
||||
$menus = \admin\factory\Pages::menus_list();
|
||||
$menus = $this->pagesRepository->menusList();
|
||||
$layouts = $this->layoutsRepository->listAll();
|
||||
|
||||
$viewModel = $this->buildFormViewModel($article, $languages, $menus, $layouts);
|
||||
@@ -400,8 +404,8 @@ class ArticlesController
|
||||
];
|
||||
|
||||
$actions = [
|
||||
FormAction::save('/admin/articles/article_save/' . ($articleId > 0 ? 'id=' . $articleId : ''), '/admin/articles/view_list/'),
|
||||
FormAction::cancel('/admin/articles/view_list/'),
|
||||
FormAction::save('/admin/articles/save/' . ($articleId > 0 ? 'id=' . $articleId : ''), '/admin/articles/list/'),
|
||||
FormAction::cancel('/admin/articles/list/'),
|
||||
];
|
||||
|
||||
return new FormEditViewModel(
|
||||
@@ -412,8 +416,8 @@ class ArticlesController
|
||||
$tabs,
|
||||
$actions,
|
||||
'POST',
|
||||
'/admin/articles/article_save/' . ($articleId > 0 ? 'id=' . $articleId : ''),
|
||||
'/admin/articles/view_list/',
|
||||
'/admin/articles/save/' . ($articleId > 0 ? 'id=' . $articleId : ''),
|
||||
'/admin/articles/list/',
|
||||
true,
|
||||
['id' => $articleId],
|
||||
$languages
|
||||
@@ -430,7 +434,7 @@ class ArticlesController
|
||||
$menuId = (int)($menu['id'] ?? 0);
|
||||
$menuName = $this->escapeHtml((string)($menu['name'] ?? ''));
|
||||
$menuStatus = (int)($menu['status'] ?? 0);
|
||||
$menuPages = \admin\factory\Pages::menu_pages($menuId);
|
||||
$menuPages = $this->pagesRepository->menuPages($menuId);
|
||||
|
||||
$html .= '<div class="menu_sortable">';
|
||||
$html .= '<ol class="sortable" id="sortable_' . $menuId . '">';
|
||||
|
||||
Reference in New Issue
Block a user