from zope.component.factory import Factory
from Acquisition import aq_base, aq_inner, aq_parent
-from types import StringType
+from types import StringType, NoneType
from Products.CMFCore.permissions import ListFolderContents, View, ViewManagementScreens,\
ManageProperties, AddPortalFolders, AddPortalContent,\
ManagePortal, ModifyPortalContent
from permissions import DeletePortalContents, DeleteObjects, DeleteOwnedObjects, SetLocalRoles, CheckMemberPermission
from Products.CMFCore.utils import _checkPermission, getToolByName
+from Products.CMFCore.utils import getUtilityByInterfaceName
from Products.CMFCore.CMFCatalogAware import CMFCatalogAware
from Products.CMFCore.PortalFolder import PortalFolder, ContentFilter
from Products.CMFDefault.DublinCore import DefaultDublinCoreImpl
from utils import _checkMemberPermission
from utils import Message as _
+from utils import makeValidId
from Globals import InitializeClass
from AccessControl import ClassSecurityInfo
method=request.get('REQUEST_METHOD', 'GET')
if (request.maybe_webdav_client and
method not in ('GET', 'POST')):
- return NullResource(self, key, request).__of__(self)
+ id = makeValidId(self, key)
+ return NullResource(self, id, request).__of__(self)
raise KeyError, key
""" query catalog and returns brains of contents.
Requires ExtendedPathIndex
"""
- ctool = getToolByName(self, 'portal_catalog')
+ ctool = getUtilityByInterfaceName('Products.CMFCore.interfaces.ICatalogTool')
contentFilter['path'] = {'query':'/'.join(self.getPhysicalPath()),
'depth':1}
- return ctool(sort_on='position', **contentFilter)
-
+ return ctool(sort_on='position', **contentFilter)
security.declarePublic('synContentValues')
def synContentValues(self):