[Erp5-report] r30247 - /erp5/trunk/products/ERP5Type/Core/Folder.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue Nov 3 12:05:18 CET 2009
Author: jm
Date: Tue Nov 3 12:05:17 2009
New Revision: 30247
URL: http://svn.erp5.org?rev=30247&view=rev
Log:
Always filter the list of portal types (fix contentValues(portal_type=...))
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=30247&r1=30246&r2=30247&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/Core/Folder.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/Core/Folder.py [utf8] Tue Nov 3 12:05:17 2009
@@ -1424,15 +1424,17 @@
def contentValues(self, *args, **kw):
# Returns a list of documents contained in this folder.
# ( no docstring to prevent publishing )
+ portal_type_id_list = self._getTypesTool().objectIds()
filter_kw = kw.pop('filter', None) or {}
- portal_type_id_list = self._getTypesTool().objectIds()
+ portal_type = kw.pop('portal_type', None)
if 'portal_type' in filter_kw:
portal_type = filter_kw.pop('portal_type')
+ if portal_type is None:
+ kw['portal_type'] = portal_type_id_list
+ else:
if isinstance(portal_type, str):
portal_type = portal_type,
kw['portal_type'] = [x for x in 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)
More information about the Erp5-report
mailing list