From 9e797568724ff77ed17dee2d865bf6e5ae4d583f Mon Sep 17 00:00:00 2001 From: Awilum Date: Thu, 23 Jan 2020 20:39:15 +0300 Subject: [PATCH] feat(admin-plugin): remove btn class and add grid and list func #211 --- .../admin/app/Controllers/ApiController.php | 20 +++++------ .../app/Controllers/EntriesController.php | 33 +++++++++++++++++++ 2 files changed, 43 insertions(+), 10 deletions(-) diff --git a/site/plugins/admin/app/Controllers/ApiController.php b/site/plugins/admin/app/Controllers/ApiController.php index 11aa9a5c..6cbf0595 100644 --- a/site/plugins/admin/app/Controllers/ApiController.php +++ b/site/plugins/admin/app/Controllers/ApiController.php @@ -35,7 +35,7 @@ class ApiController extends Controller 'api' => [ 'link' => $this->router->pathFor('admin.api.index'), 'title' => __('admin_api'), - 'attributes' => ['class' => 'btn active'], + 'attributes' => ['class' => 'active'], ], ], ] @@ -63,19 +63,19 @@ class ApiController extends Controller 'api' => [ 'link' => $this->router->pathFor('admin.api.index'), 'title' => __('admin_api'), - 'attributes' => ['class' => 'btn'], + 'attributes' => ['class' => ''], ], 'api_tokens' => [ 'link' => $this->router->pathFor('admin.api_tokens.index') . '?api=' . $api, 'title' => __('admin_' . $api), - 'attributes' => ['class' => 'btn active'], + 'attributes' => ['class' => 'active'], ], ], 'buttons' => [ 'api_tokens_add' => [ 'link' => $this->router->pathFor('admin.api_tokens.add') . '?api=' . $api, 'title' => __('admin_create_new_' . $api . '_token'), - 'attributes' => ['class' => 'btn'], + 'attributes' => ['class' => ''], ], ], ] @@ -102,17 +102,17 @@ class ApiController extends Controller 'api' => [ 'link' => $this->router->pathFor('admin.api.index'), 'title' => __('admin_api'), - 'attributes' => ['class' => 'btn'], + 'attributes' => ['class' => ''], ], 'api_tokens' => [ 'link' => $this->router->pathFor('admin.api_tokens.index') . '?api=' . $api, 'title' => __('admin_' . $api), - 'attributes' => ['class' => 'btn'], + 'attributes' => ['class' => ''], ], 'api_tokens_add' => [ 'link' => $this->router->pathFor('admin.api_tokens.add') . '?api=' . $api, 'title' => __('admin_create_new_' . $api . '_token'), - 'attributes' => ['class' => 'btn active'], + 'attributes' => ['class' => ' active'], ], ], ] @@ -197,17 +197,17 @@ class ApiController extends Controller 'api' => [ 'link' => $this->router->pathFor('admin.api.index'), 'title' => __('admin_api'), - 'attributes' => ['class' => 'btn'], + 'attributes' => ['class' => ''], ], 'api_tokens' => [ 'link' => $this->router->pathFor('admin.api_tokens.index') . '?api=' . $api, 'title' => __('admin_' . $api), - 'attributes' => ['class' => 'btn'], + 'attributes' => ['class' => ''], ], 'api_tokens_add' => [ 'link' => $this->router->pathFor('admin.api_tokens.add') . '?api=' . $api, 'title' => __('admin_create_new_' . $api . '_token'), - 'attributes' => ['class' => 'btn active'], + 'attributes' => ['class' => ' active'], ], ], ] diff --git a/site/plugins/admin/app/Controllers/EntriesController.php b/site/plugins/admin/app/Controllers/EntriesController.php index c29d0c5f..c1c149cd 100644 --- a/site/plugins/admin/app/Controllers/EntriesController.php +++ b/site/plugins/admin/app/Controllers/EntriesController.php @@ -89,12 +89,22 @@ class EntriesController extends Controller } } + $entry_current = $this->entries->fetch($this->getEntryID($query)); + + if ($entry_current['items_view'] != '') { + $items_view = $entry_current['items_view']; + } else { + $items_view = $this->registry->get('settings.entries.items_view_default'); + } + return $this->view->render( $response, 'plugins/admin/templates/content/entries/index.html', [ 'entries_list' => $this->entries->fetch($this->getEntryID($query), ['order_by' => ['field' => 'published_at', 'direction' => 'desc']]), 'id_current' => $this->getEntryID($query), + 'entry_current' => $entry_current, + 'items_view' => $items_view, 'menu_item' => 'entries', 'fieldsets' => $fieldsets, 'parts' => $parts, @@ -1075,6 +1085,29 @@ class EntriesController extends Controller return $files; } + /** + * Display view token - process + * + * @param Request $request PSR7 request + * @param Response $response PSR7 response + */ + public function displayViewProcess(Request $request, Response $response) : Response + { + // Get POST data + $post_data = $request->getParsedBody(); + + if ($post_data['id'] == '') { + $data = []; + Arr::set($data, 'entries.items_view_default', $post_data['items_view']); + //$this->registry->get('settings') + Filesystem::write(PATH['config']['site'] . '/settings.yaml', $this->parser->encode(array_replace_recursive($this->registry->get('settings'), $data), 'yaml')); + } else { + $this->entries->update($post_data['id'], ['items_view' => $post_data['items_view']]); + } + + return $response->withRedirect($this->router->pathFor('admin.entries.index') . '?id=' . $post_data['id']); + } + /** * Clear entry counter *