From 8cab662c18ea4d5b243fdf768ee13540953f2870 Mon Sep 17 00:00:00 2001
From: Jean-Paul Smets <jp@nexedi.com>
Date: Thu, 22 Jan 2004 09:15:09 +0000
Subject: [PATCH] do not generate __init__.py for Document

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@245 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/Constraint/.cvsignore |  1 +
 product/ERP5Type/Document/.cvsignore   |  1 -
 product/ERP5Type/Document/Folder.py    | 44 +++++++++++++++++---------
 3 files changed, 30 insertions(+), 16 deletions(-)

diff --git a/product/ERP5Type/Constraint/.cvsignore b/product/ERP5Type/Constraint/.cvsignore
index d0743b7da6..654a6adb18 100755
--- a/product/ERP5Type/Constraint/.cvsignore
+++ b/product/ERP5Type/Constraint/.cvsignore
@@ -1,2 +1,3 @@
+__init__.py
 .AppleDouble
 *.pyc
diff --git a/product/ERP5Type/Document/.cvsignore b/product/ERP5Type/Document/.cvsignore
index 432ed787d1..d0743b7da6 100755
--- a/product/ERP5Type/Document/.cvsignore
+++ b/product/ERP5Type/Document/.cvsignore
@@ -1,3 +1,2 @@
 .AppleDouble
 *.pyc
-__init__.py
diff --git a/product/ERP5Type/Document/Folder.py b/product/ERP5Type/Document/Folder.py
index efe457dbf2..a153726464 100755
--- a/product/ERP5Type/Document/Folder.py
+++ b/product/ERP5Type/Document/Folder.py
@@ -107,37 +107,37 @@ be a problem)."""
          , 'product'  : 'ERP5Type'
          , 'factory'  : 'addFolder'
          , 'filter_content_types' : 0
-         , 'immediate_view' : 'folder_view'
+         , 'immediate_view' : 'Base_metadataView'
          , 'actions'  :
         ( { 'id'    : 'view'
           , 'name'    : 'View'
-          , 'action'  : 'folder_list'
+          , 'action'  : 'Folder_list'
           , 'permissions'   : (Permissions.View,)
-          , 'category'  : 'folder'
+          , 'category'  : 'object_view'
           }
-        , { 'id'    : 'edit'
-          , 'name'    : 'Edit'
-          , 'action'  : 'folder_edit_form'
-          , 'permissions'   : (Permissions.ManageProperties,)
-          , 'category'  : 'folder'
+        , { 'id'    : 'list'
+          , 'name'    : 'List'
+          , 'action'  : 'Folder_list'
+          , 'permissions'   : (Permissions.View,)
+          , 'category'  : 'object'
           }
         , { 'id'    : 'localroles'
           , 'name'    : 'Local Roles'
           , 'action'  : 'folder_localrole_form'
           , 'permissions'   :  (Permissions.ManageProperties,)
-          , 'category'  : 'folder'
+          , 'category'  : 'object_view'
           }
         , { 'id'    : 'syndication'
           , 'name'    : 'Syndication'
           , 'action'  : 'synPropertiesForm'
           , 'permissions'   : (Permissions.ManageProperties,)
-          , 'category'  : 'folder'
+          , 'category'  : 'object_view'
           }
-        , { 'id'    : 'foldercontents'
-          , 'name'    : 'Folder contents'
-          , 'action'  : 'folder_contents'
-          , 'permissions'   : (Permissions.ListFolderContents,)
-          , 'category'  : 'folder'
+        , { 'id'    : 'metadata'
+          , 'name'    : 'Metadata'
+          , 'action'  : 'Base_metadataView'
+          , 'permissions'   : (Permissions.ManageProperties,)
+          , 'category'  : 'object_view'
           }
         )
         }
@@ -443,6 +443,19 @@ be a problem)."""
         if hasattr(aq_base(c), 'recursiveImmediateReindexObject'):
           c.recursiveImmediateReindexObject()
 
+  security.declareProtected( Permissions.ModifyPortalContent, 'recursiveMoveObject' )
+  def recursiveMoveObject(self):
+    """
+      Called when the base of a hierarchy is renamed
+    """
+    # Reindex self
+    if self.isIndexable:
+      self.moveObject()
+    # Reindex contents
+    for c in self.objectValues():
+      if hasattr(aq_base(c), 'recursiveMoveObject'):
+        c.recursiveMoveObject()
+
   # Special Relation keyword : 'content' and 'container'
   security.declareProtected( Permissions.AccessContentsInformation, '_getCategoryMembershipList' )
   def _getCategoryMembershipList(self, category,
@@ -539,6 +552,7 @@ be a problem)."""
   setProperty = Base.setProperty
   getProperty = Base.getProperty
   hasProperty = Base.hasProperty
+  view = Base.view
 
   # Aliases
   getObjectIds = CMFBTreeFolder.objectIds
-- 
2.30.9