[Erp5-report] r29903 - /erp5/trunk/products/ERP5Type/Core/Folder.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Thu Oct 22 09:51:30 CEST 2009
Author: yo
Date: Thu Oct 22 09:51:25 2009
New Revision: 29903
URL: http://svn.erp5.org?rev=29903&view=rev
Log:
Revert r29873, because the filter parameter to contentValues is not working any longer apparently.
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=29903&r1=29902&r2=29903&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/Core/Folder.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/Core/Folder.py [utf8] Thu Oct 22 09:51:25 2009
@@ -35,7 +35,6 @@
from Products.CMFCore.utils import _getAuthenticatedUser
from Products.CMFCore.CMFCatalogAware import CMFCatalogAware
-from Products.CMFCore.PortalFolder import ContentFilter
from Products.ERP5Type.Base import Base
from Products.ERP5Type.CopySupport import CopyContainer
@@ -1434,17 +1433,24 @@
security.declareProtected( Permissions.AccessContentsInformation,
'contentValues' )
- def contentValues(self, *args, **kw):
- filter_kw = kw.pop('filter', None) or {}
- portal_type_id_list = self._getTypesTool().objectIds()
- if 'portal_type' in filter_kw:
- kw['portal_type'] = [x for x in filter_kw.pop('portal_type')
- if x in portal_type_id_list]
- elif 'portal_type' not in kw:
- kw['portal_type'] = portal_type_id_list
- object_list = self.objectValues(*args, **kw)
- if filter_kw:
- object_list = filter(ContentFilter(**filter_kw), object_list)
+ def contentValues(self, spec=None, meta_type=None, portal_type=None,
+ sort_on=None, sort_order=None, checked_permission=None, **kw):
+ # Returns a list of documents contained in this folder.
+ # ( no docstring to prevent publishing )
+ if meta_type is not None:
+ spec = meta_type
+ if portal_type is not None:
+ kw['portal_type'] = portal_type
+ filter = kw.pop('filter', {}) or {}
+ kw.update(filter)
+ if self._folder_handler == HBTREE_HANDLER:
+ object_list = CMFHBTreeFolder.contentValues(self, spec=spec, filter=kw)
+ else:
+ object_list = CMFBTreeFolder.contentValues(self, spec=spec, filter=kw)
+ if checked_permission is not None:
+ checkPermission = getSecurityManager().checkPermission
+ object_list = [o for o in object_list if checkPermission(checked_permission, o)]
+ object_list = sortValueList(object_list, sort_on, sort_order, **kw)
return object_list
# Override security declaration of CMFCore/PortalFolder (used by CMFBTreeFolder)
More information about the Erp5-report
mailing list