From 466798e7af0716425ae2ffac2a427c883004585c Mon Sep 17 00:00:00 2001 From: Manuel Raynaud Date: Thu, 19 Sep 2013 11:31:13 +0200 Subject: [PATCH] start creating folder management --- .../Thelia/Config/Resources/routing/admin.xml | 5 +- .../Controller/Admin/FolderController.php | 57 +++++++++++++------ templates/admin/default/folder-edit.html | 8 +-- templates/admin/default/folders.html | 14 ++--- 4 files changed, 54 insertions(+), 30 deletions(-) diff --git a/core/lib/Thelia/Config/Resources/routing/admin.xml b/core/lib/Thelia/Config/Resources/routing/admin.xml index 50b622451..053dbc24e 100755 --- a/core/lib/Thelia/Config/Resources/routing/admin.xml +++ b/core/lib/Thelia/Config/Resources/routing/admin.xml @@ -159,16 +159,15 @@ - Thelia\Controller\Admin\FolderController::indexAction + Thelia\Controller\Admin\FolderController::defaultAction Thelia\Controller\Admin\FolderController::createAction - + Thelia\Controller\Admin\FolderController::updateAction - \d+ diff --git a/core/lib/Thelia/Controller/Admin/FolderController.php b/core/lib/Thelia/Controller/Admin/FolderController.php index 3a02949b7..4575035da 100644 --- a/core/lib/Thelia/Controller/Admin/FolderController.php +++ b/core/lib/Thelia/Controller/Admin/FolderController.php @@ -22,6 +22,7 @@ /*************************************************************************************/ namespace Thelia\Controller\Admin; +use Thelia\Core\Event\TheliaEvents; /** * Class FolderController @@ -30,18 +31,25 @@ namespace Thelia\Controller\Admin; */ class FolderController extends AbstractCrudController { - public function indexAction() - { - if (null !== $response = $this->checkAuth("admin.folder.view")) return $response; - return $this->render("folders", array("display_folder" => 20)); - } - - public function updateAction($folder_id) - { - return $this->render("folder-edit", array( - "folder_id" => $folder_id - )); + public function __construct() + { + parent::__construct( + 'folder', + 'manual', + 'folder_order', + + 'admin.folder.default', + 'admin.folder.create', + 'admin.folder.update', + 'admin.folder.delete', + + TheliaEvents::FOLDER_CREATE, + TheliaEvents::FOLDER_UPDATE, + TheliaEvents::FOLDER_DELETE, + TheliaEvents::FOLDER_TOGGLE_VISIBILITY, + TheliaEvents::FOLDER_UPDATE_POSITION + ); } /** @@ -151,17 +159,34 @@ class FolderController extends AbstractCrudController * * @param unknown $currentOrder, if any, null otherwise. */ - protected function renderListTemplate($currentOrder) - { - // TODO: Implement renderListTemplate() method. + protected function renderListTemplate($currentOrder) { + + // Get product order + $product_order = $this->getListOrderFromSession('content', 'content_order', 'manual'); + + return $this->render('folders', + array( + 'folder_order' => $currentOrder, + 'content_order' => $product_order, + 'folder_id' => $this->getRequest()->get('folder_id', 0) + )); } + /** * Render the edition template */ - protected function renderEditionTemplate() + protected function renderEditionTemplate() { + + return $this->render('folder-edit', $this->getEditionArguments()); + } + + protected function getEditionArguments() { - // TODO: Implement renderEditionTemplate() method. + return array( + 'folder_id' => $this->getRequest()->get('folder_id', 0), + 'current_tab' => $this->getRequest()->get('current_tab', 'general') + ); } /** diff --git a/templates/admin/default/folder-edit.html b/templates/admin/default/folder-edit.html index 6986a1e69..cba9a2742 100644 --- a/templates/admin/default/folder-edit.html +++ b/templates/admin/default/folder-edit.html @@ -101,9 +101,9 @@ {$myparent=$PARENT} - {loop name="fold-parent" type="folder-tree" visible="*" folder="0"} + {* loop name="fold-parent" type="folder-tree" visible="*" folder="0"} - {/loop} + {/loop *} @@ -209,7 +209,7 @@ - {loop name="assigned_contents" type="associated_content" folder="$folder_id" backend_context="1" lang="$edit_language_id"} + {*loop name="assigned_contents" type="associated_content" folder="$folder_id" backend_context="1" lang="$edit_language_id"} {$ID} @@ -239,7 +239,7 @@ - {/elseloop} + {/elseloop*} diff --git a/templates/admin/default/folders.html b/templates/admin/default/folders.html index e836770ab..89e02b774 100644 --- a/templates/admin/default/folders.html +++ b/templates/admin/default/folders.html @@ -45,7 +45,7 @@ current_order=$folder_order order='id' reverse_order='id_reverse' - path={url path='/admin/folders' id_folder=$folder_id} + path={url path='/admin/folders' folder_id=$folder_id} request_parameter_name='folder_order' label="{intl l='ID'}" } @@ -58,7 +58,7 @@ current_order=$folder_order order='alpha' reverse_order='alpha_reverse' - path={url path='/admin/folders' id_folder=$folder_id} + path={url path='/admin/folders' folder_id=$folder_id} request_parameter_name='folder_order' label="{intl l='Folder title'}" } @@ -71,7 +71,7 @@ current_order=$folder_order order='visible' reverse_order='visible_reverse' - path={url path='/admin/folders' id_folder=$folder_id} + path={url path='/admin/folders' folder_id=$folder_id} request_parameter_name='folder_order' label="{intl l='Online'}" } @@ -82,7 +82,7 @@ current_order=$folder_order order='manual' reverse_order='manual_reverse' - path={url path='/admin/folders' id_folder=$folder_id} + path={url path='/admin/folders' folder_id=$folder_id} request_parameter_name='folder_order' label="{intl l='Position'}" } @@ -99,12 +99,12 @@ {loop type="image" name="folder_image" source="folder" source_id="$ID" limit="1" width="50" height="50" resize_mode="crop" backend_context="1"} - {$TITLE} + {$TITLE} {/loop} - + {$TITLE} @@ -138,7 +138,7 @@
- + {loop type="auth" name="can_change" roles="ADMIN" permissions="admin.folders.edit"}