From 96d438f21e937c24ff40fb5f5ba8eeee087abf84 Mon Sep 17 00:00:00 2001 From: Tom Rix Date: Sun, 9 Aug 2009 22:29:45 +0000 Subject: [PATCH] ENHANCEMENT added new permission, SITETREE_REORGANISE git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/cms/trunk@84073 467b73ca-7a2a-4603-9d3b-597d59a354a9 --- code/LeftAndMain.php | 14 ++++++++++++++ templates/Includes/CMSMain_left.ss | 3 ++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/code/LeftAndMain.php b/code/LeftAndMain.php index 33b30ecd..f9dcaacc 100644 --- a/code/LeftAndMain.php +++ b/code/LeftAndMain.php @@ -891,6 +891,11 @@ JS; } $_REQUEST['ajax'] = 1; $cleanupJS = ''; + + if (!Permission::check('SITETREE_REORGANISE') && !Permission::check('ADMIN')) { + FormResponse::status_message(_t('LeftAndMain.CANT_REORGANISE',"You do not have permission to rearange the site tree. Your change was not saved."),"bad"); + return FormResponse::respond(); + } if(is_numeric($id) && is_numeric($parentID) && $id != $parentID) { $node = DataObject::get_by_id($this->stat('tree_class'), $id); @@ -932,6 +937,11 @@ JS; $counter = 0; $js = ''; $_REQUEST['ajax'] = 1; + + if (!Permission::check('SITETREE_REORGANISE') && !Permission::check('ADMIN')) { + FormResponse::status_message(_t('LeftAndMain.CANT_REORGANISE',"You do not have permission to rearange the site tree. Your change was not saved."),"bad"); + return FormResponse::respond(); + } if(is_array($_REQUEST['ID'])) { if($_REQUEST['MovedNodeID']==0){ //Sorting root @@ -970,6 +980,10 @@ JS; return FormResponse::respond(); } + + public function CanOrganiseSitetree() { + return !Permission::check('SITETREE_REORGANISE') && !Permission::check('ADMIN') ? false : true; + } /** * Delete a number of items diff --git a/templates/Includes/CMSMain_left.ss b/templates/Includes/CMSMain_left.ss index 4380b777..d6970126 100755 --- a/templates/Includes/CMSMain_left.ss +++ b/templates/Includes/CMSMain_left.ss @@ -88,6 +88,7 @@ <% end_control %> + <% if CanOrganiseSitetree %>
@@ -95,7 +96,7 @@
- + <% end_if %> <% if IsTranslatableEnabled %>
Language: $LangSelector