From fba62db588f87885d6a2bb180af82f50d1ad633e Mon Sep 17 00:00:00 2001
From: Nicolas Dumazet <nicolas.dumazet@nexedi.com>
Date: Thu, 7 Jan 2010 06:10:37 +0000
Subject: [PATCH] bug #270: do not show copy/cut/delete buttons if user has no
 permissions.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@31618 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_xhtml_style/context_box_render.xml   | 31 +++++++++++--------
 .../bootstrap/erp5_xhtml_style/bt/change_log  |  4 ++-
 .../bootstrap/erp5_xhtml_style/bt/revision    |  2 +-
 3 files changed, 22 insertions(+), 15 deletions(-)

diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/context_box_render.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/context_box_render.xml
index 3b6554cb5f..b7ee63e023 100644
--- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/context_box_render.xml
+++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_xhtml_style/context_box_render.xml
@@ -153,20 +153,24 @@
             ui_actions actions/object_ui | nothing;\n
             print_actions actions/object_print | nothing;\n
             list_mode list_mode | nothing;\n
-            can_modify_portal_content python: portal.portal_membership.checkPermission(\'Modify portal content\', here)">\n
+            can_modify_portal_content python: portal.portal_membership.checkPermission(\'Modify portal content\', here);\n
+            can_delete_objects python: portal.portal_membership.checkPermission(\'Delete objects\', here);\n
+            can_copy_or_move python: portal.portal_membership.checkPermission(\'Copy Or Move\', here)">\n
         <span class="separator"><!--separator--></span>\n
         <tal:block tal:condition="list_mode">\n
-          <button class="cut" type="submit" name="Folder_cut:method" title="Cut"\n
-                  i18n:attributes="title" i18n:domain="ui"\n
-                  tal:condition="can_modify_portal_content">\n
-            <span class="image"></span>\n
-            <span class="description" i18n:translate="" i18n:domain="ui">Cut</span>\n
-          </button>\n
-          <button class="copy" type="submit" name="Folder_copy:method" title="Copy"\n
-                  i18n:attributes="title" i18n:domain="ui">\n
-            <span class="image"></span>\n
-            <span class="description" i18n:translate="" i18n:domain="ui">Copy</span>\n
-          </button>\n
+          <tal:block tal:condition="can_copy_or_move">\n
+            <button class="cut" type="submit" name="Folder_cut:method" title="Cut"\n
+                    i18n:attributes="title" i18n:domain="ui"\n
+                    tal:condition="can_modify_portal_content">\n
+              <span class="image"></span>\n
+              <span class="description" i18n:translate="" i18n:domain="ui">Cut</span>\n
+            </button>\n
+            <button class="copy" type="submit" name="Folder_copy:method" title="Copy"\n
+                    i18n:attributes="title" i18n:domain="ui">\n
+              <span class="image"></span>\n
+              <span class="description" i18n:translate="" i18n:domain="ui">Copy</span>\n
+            </button>\n
+          </tal:block>\n
           <button class="paste" type="submit" name="Folder_paste:method" title="Paste"\n
                   i18n:attributes="title" i18n:domain="ui">\n
             <span class="image"></span>\n
@@ -192,7 +196,8 @@
           <span class="image"></span>\n
           <span class="description" i18n:translate="" i18n:domain="ui">Clone</span>\n
         </button>\n
-        <button tal:condition="list_mode" class="delete" type="submit" name="Folder_deleteObjectList:method" title="Delete"\n
+        <button tal:condition="python: list_mode and can_delete_objects" class="delete" type="submit" \n
+                name="Folder_deleteObjectList:method" title="Delete"\n
                 i18n:attributes="title" i18n:domain="ui">\n
           <span class="image"></span>\n
           <span class="description" i18n:translate="" i18n:domain="ui">Delete</span>\n
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/change_log b/product/ERP5/bootstrap/erp5_xhtml_style/bt/change_log
index ed0a60dde0..79dd1e7bc9 100644
--- a/product/ERP5/bootstrap/erp5_xhtml_style/bt/change_log
+++ b/product/ERP5/bootstrap/erp5_xhtml_style/bt/change_log
@@ -1,5 +1,7 @@
 2010-01-07 Nicolas Dumazet
 * Dont show a New button if there are no Visible Allowed Content Types
+* Do not show Cut/Paste button if no "Copy or Move" permission
+* Do not show Delete button if no "Delete objects" permission
 
 2009-12-11 Kazuhiko
 * update FCKeditor to 2.6.5.
@@ -318,4 +320,4 @@
 
 2006-06-15 Vincent
 * Initial commit.
-* Valid XHTML1.0 Strict + CSS 2.0.
\ No newline at end of file
+* Valid XHTML1.0 Strict + CSS 2.0.
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision b/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision
index bbf2b7302e..24888beeaa 100644
--- a/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision
+++ b/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision
@@ -1 +1 @@
-861
\ No newline at end of file
+862
\ No newline at end of file
-- 
2.30.9