[Erp5-report] r16307 - /erp5/trunk/products/ERP5Type/Core/Folder.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Wed Sep 12 17:35:36 CEST 2007
Author: aurel
Date: Wed Sep 12 17:35:36 2007
New Revision: 16307
URL: http://svn.erp5.org?rev=16307&view=rev
Log:
fix import
only generate plugin method for HBTreeFolder thus avoiding overriding
method of some folder wich are not Btree
and some method must always called the one CMFBTree
Modified:
erp5/trunk/products/ERP5Type/Core/Folder.py
Modified: erp5/trunk/products/ERP5Type/Core/Folder.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/Core/Folder.py?rev=16307&r1=16306&r2=16307&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/Core/Folder.py (original)
+++ erp5/trunk/products/ERP5Type/Core/Folder.py Wed Sep 12 17:35:36 2007
@@ -64,7 +64,7 @@
import os
-from zLOG import LOG, PROBLEM
+from zLOG import LOG, PROBLEM, WARNING
import warnings
REINDEX_SPLIT_COUNT = 100 # if folder containes more than this, reindexing should be splitted.
@@ -435,14 +435,19 @@
if self._plugin is None:
if self._isHBTree:
self._plugin = CMFHBTreeFolder
+ self._generatePluginMethod()
elif self._isBTree:
self._plugin = CMFBTreeFolder
else:
- raise ValueError, "No plugin defined"
- self._generatePluginMethod()
+ raise ValueError, 'No plugin defined'
self._plugin.__init__(self, self.id)
return FolderMixIn.newContent(self, *args, **kw)
+ security.declareProtected( Permissions.ManagePortal, 'migrateToHBTree' )
+ def resetPlugin(self):
+ """ reset plugin attribute """
+ self._plugin = None
+
security.declareProtected(Permissions.View, 'isBTree')
def isBTree(self):
""" Return if folder is a BTree or not """
@@ -925,12 +930,8 @@
def _getVisibleAllowedContentTypeList():
hidden_type_list = portal.portal_types.getTypeInfo(self)\
.getHiddenContentTypeList()
- try:
- return [ ti.id for ti in self._plugin.allowedContentTypes(self)
- if ti.id not in hidden_type_list ]
- except AttributeError:
- return [ ti.id for ti in CMFBTreeFolder.allowedContentTypes(self)
- if ti.id not in hidden_type_list ]
+ return [ ti.id for ti in CMFBTreeFolder.allowedContentTypes(self)
+ if ti.id not in hidden_type_list ]
user = str(_getAuthenticatedUser(self))
portal_type = self.getPortalType()
@@ -974,10 +975,7 @@
# account i18n into consideration.
# XXX So sorting should be done in skins, after translation is performed.
def compareTypes(a, b): return cmp(a.title or a.id, b.title or b.id)
- try:
- type_list = self._plugin.allowedContentTypes(self)
- except AttributeError:
- type_list = CMFBTreeFolder.allowedContentTypes(self)
+ type_list = CMFBTreeFolder.allowedContentTypes(self)
type_list.sort(compareTypes)
return ['/'.join(x.getPhysicalPath()) for x in type_list]
More information about the Erp5-report
mailing list