コード例 #1
0
 def HEAD(self, REQUEST, RESPONSE):
     """Retrieve resource information without a response body.
     """
     self.dav__init(REQUEST, RESPONSE)
     # Note that we are willing to acquire the default document
     # here because what we really care about is whether doing
     # a GET on this collection / would yield a 200 response.
     view = None
     putils = getToolByName(self, 'plone_utils')
     obj, pages = putils.browserDefault(self)
     if pages is not None and pages:
         view = getattr(self, pages[0])
         if isinstance(view, (MethodType, FunctionType)):
             # Ignore methods
             view = None
     if view is None:
         # Try to find a action (view)
         try:
             from Products.CMFCore.utils import _getViewFor
             view = _getViewFor(self)
         except (ImportError, Unauthorized, 'Unauthorized', 'Not Found'):
             pass
     if view is not None:
         if hasattr(view, 'HEAD'):
             return view.HEAD(REQUEST, RESPONSE)
         raise MethodNotAllowed, ('Method not supported for this resource.')
     raise NotFound, 'The requested resource does not exist.'
コード例 #2
0
 def HEAD(self, REQUEST, RESPONSE):
     """Retrieve resource information without a response body.
     """
     self.dav__init(REQUEST, RESPONSE)
     # Note that we are willing to acquire the default document
     # here because what we really care about is whether doing
     # a GET on this collection / would yield a 200 response.
     view = None
     putils = getToolByName(self, 'plone_utils')
     obj, pages = putils.browserDefault(self)
     if pages is not None and pages:
         view = getattr(self, pages[0])
         if isinstance(view, (MethodType, FunctionType)):
             # Ignore methods
             view = None
     if view is None:
         # Try to find a action (view)
         try:
             from Products.CMFCore.utils import _getViewFor
             view = _getViewFor(self)
         except (ImportError, Unauthorized, 'Unauthorized', 'Not Found'):
             pass
     if view is not None:
         if hasattr(view, 'HEAD'):
             return view.HEAD(REQUEST, RESPONSE)
         raise MethodNotAllowed, (
             'Method not supported for this resource.'
             )
     raise NotFound, 'The requested resource does not exist.'
コード例 #3
0
ファイル: Topic.py プロジェクト: bendavis78/zope
    def __call__(self):
        """ Invoke the default action.
        """
        view = _getViewFor(self)

        if getattr(aq_base(view), 'isDocTemp', 0):
            return view(self, self.REQUEST)
        else:
            return view()
コード例 #4
0
 def __call__(self):
     '''
     Invokes the default view.
     '''
     view = _getViewFor(self)
     if getattr(aq_base(view), 'isDocTemp', 0):
         return view(self, self.REQUEST, self.REQUEST['RESPONSE'])
     else:
         return view()
コード例 #5
0
ファイル: SkinnedFolder.py プロジェクト: goschtl/zope
 def __call__(self):
     '''
     Invokes the default view.
     '''
     view = _getViewFor(self)
     if getattr(aq_base(view), 'isDocTemp', 0):
         return apply(view, (self, self.REQUEST))
     else:
         return view()
コード例 #6
0
ファイル: SkinnedFolder.py プロジェクト: bendavis78/zope
 def __call__(self):
     '''
     Invokes the default view.
     '''
     view = _getViewFor(self)
     if getattr(aq_base(view), 'isDocTemp', 0):
         return apply(view, (self, self.REQUEST))
     else:
         return view()
コード例 #7
0
ファイル: Topic.py プロジェクト: goschtl/zope
 def __call__( self ):
     """
         Invoke the default action.
     """
     view = _getViewFor( self )
     if getattr( aq_base( view ), 'isDocTemp', 0 ):
         return view(self, self.REQUEST)
     else:
         return view()
コード例 #8
0
ファイル: SkinnedFolder.py プロジェクト: bendavis78/zope
 def __call__(self):
     '''
     Invokes the default view.
     '''
     view = _getViewFor(self)
     if getattr(aq_base(view), 'isDocTemp', 0):
         return view(self, self.REQUEST, self.REQUEST['RESPONSE'])
     else:
         return view()
コード例 #9
0
ファイル: test_TypesTool.py プロジェクト: bendavis78/zope
    def test_processActions(self):
        """
        Are the correct, permitted methods returned for actions?
        """
        self.root._setObject('portal', PortalFolder('portal', ''))
        portal = self.root.portal
        portal.invokeFactory('Dummy', 'actions_dummy')
        dummy = portal._getOb('actions_dummy')

        # so we can traverse to it:
        dummy.view = DummyMethod("view")
        dummy.view2 = DummyMethod("view2")
        dummy.edit = DummyMethod("edit")

        default_view = dummy()
        custom_view = utils._getViewFor(dummy, view='view2')()
        unpermitted_view = utils._getViewFor(dummy, view='edit')()

        assert default_view == 'view'
        assert custom_view == 'view2'
        assert unpermitted_view != 'edit'
        assert unpermitted_view == 'view'
コード例 #10
0
ファイル: test_TypesTool.py プロジェクト: goschtl/zope
    def test_processActions( self ):
        """
        Are the correct, permitted methods returned for actions?
        """
        self.root._setObject( 'portal', PortalFolder( 'portal', '' ) )
        portal = self.root.portal
        portal.invokeFactory( 'Dummy', 'actions_dummy' )
        dummy = portal._getOb( 'actions_dummy' )

        # so we can traverse to it:
        dummy.view = DummyObject("view")
        dummy.view2 = DummyObject("view2")
        dummy.edit = DummyObject("edit")

        default_view = dummy()
        custom_view = _getViewFor( dummy, view='view2' )()
        unpermitted_view = _getViewFor( dummy, view='edit' )()

        self.failUnlessEqual(default_view, 'view')
        self.failUnlessEqual(custom_view, 'view2')
        self.failIf(unpermitted_view == 'edit')
        self.failUnlessEqual(unpermitted_view, 'view')
コード例 #11
0
ファイル: test_TypesTool.py プロジェクト: bendavis78/zope
    def test_processActions(self):
        """
        Are the correct, permitted methods returned for actions?
        """
        self.root._setObject('portal', PortalFolder('portal', ''))
        portal = self.root.portal
        portal.invokeFactory('Dummy Content', 'actions_dummy')
        dummy = portal._getOb('actions_dummy')

        # so we can traverse to it:
        dummy.view = DummyObject("view")
        dummy.view2 = DummyObject("view2")
        dummy.edit = DummyObject("edit")

        default_view = dummy()
        custom_view = _getViewFor(dummy, view='view2')()
        unpermitted_view = _getViewFor(dummy, view='edit')()

        self.failUnlessEqual(default_view, 'view')
        self.failUnlessEqual(custom_view, 'view2')
        self.failIf(unpermitted_view == 'edit')
        self.failUnlessEqual(unpermitted_view, 'view')
コード例 #12
0
ファイル: test_TypesTool.py プロジェクト: goschtl/zope
    def test_processActions( self ):
        """
        Are the correct, permitted methods returned for actions?
        """
        self.root._setObject( 'portal', PortalFolder( 'portal', '' ) )
        portal = self.root.portal
        portal.invokeFactory( 'Dummy', 'actions_dummy' )
        dummy = portal._getOb( 'actions_dummy' )

        # so we can traverse to it:
        dummy.view = DummyMethod("view")
        dummy.view2 = DummyMethod("view2")
        dummy.edit = DummyMethod("edit")

        default_view = dummy()
        custom_view = utils._getViewFor( dummy, view='view2' )()
        unpermitted_view = utils._getViewFor( dummy, view='edit' )()

        assert default_view == 'view'
        assert custom_view == 'view2'
        assert unpermitted_view != 'edit'
        assert unpermitted_view == 'view'
コード例 #13
0
ファイル: test_TypesTool.py プロジェクト: goschtl/zope
    def test_processActions( self ):
        """
        Are the correct, permitted methods returned for actions?
        """
        site = self.site
        portal = site._setObject( 'portal', PortalFolder(id='portal') )
        portal.manage_addProduct = { 'FooProduct' : DummyFactory(portal) }
        portal.invokeFactory( 'Dummy Content', 'actions_dummy' )
        dummy = portal._getOb( 'actions_dummy' )

        # so we can traverse to it:
        dummy.view = DummyObject("view")
        dummy.view2 = DummyObject("view2")
        dummy.edit = DummyObject("edit")

        default_view = dummy()
        custom_view = _getViewFor( dummy, view='view2' )()
        unpermitted_view = _getViewFor( dummy, view='edit' )()

        self.failUnlessEqual(default_view, 'view')
        self.failUnlessEqual(custom_view, 'view2')
        self.failIf(unpermitted_view == 'edit')
        self.failUnlessEqual(unpermitted_view, 'view')
コード例 #14
0
ファイル: Topic.py プロジェクト: goschtl/zope
    def __call__( self ):
        """ Invoke the default action.
        """
        ti = self.getTypeInfo()
        method_id = ti and ti.queryMethodID('(Default)', context=self)
        if method_id:
            method = getattr(self, method_id)
        else:
            method = _getViewFor(self)

        if getattr(aq_base(method), 'isDocTemp', 0):
            return method(self, self.REQUEST)
        else:
            return method()  
コード例 #15
0
    def __call__(self):
        """ Invoke the default action.
        """
        ti = self.getTypeInfo()
        method_id = ti and ti.queryMethodID('(Default)', context=self)
        if method_id:
            method = getattr(self, method_id)
        else:
            method = _getViewFor(self)

        if getattr(aq_base(method), 'isDocTemp', 0):
            return method(self, self.REQUEST)
        else:
            return method()
コード例 #16
0
    def test_processActions(self):
        """
        Are the correct, permitted methods returned for actions?
        """
        site = self.site
        portal = site._setObject('portal', PortalFolder(id='portal'))
        portal.manage_addProduct = {'FooProduct': DummyFactory(portal)}
        portal.invokeFactory('Dummy Content', 'actions_dummy')
        dummy = portal._getOb('actions_dummy')

        # so we can traverse to it:
        dummy.view = DummyObject("view")
        dummy.view2 = DummyObject("view2")
        dummy.edit = DummyObject("edit")

        default_view = dummy()
        self._trap_warning_output()
        custom_view = _getViewFor(dummy, view='view2')()
        unpermitted_view = _getViewFor(dummy, view='edit')()

        self.failUnlessEqual(default_view, 'view')
        self.failUnlessEqual(custom_view, 'view2')
        self.failIf(unpermitted_view == 'edit')
        self.failUnlessEqual(unpermitted_view, 'view')
コード例 #17
0
ファイル: filter.py プロジェクト: plone/txtfilter
    def _macro_renderer(self,  macro, template=None, **kw):
        """render approved macros"""
        try:
            if not template:
                view = _getViewFor(self.context)
                macro = view.macros[macro]
            else:
                template = self.context.restrictedTraverse(path=template)
                macro = template.macros[macro]
        except ConflictError:
            raise
        except:
            import traceback
            traceback.print_exc()
            return ''

        econtext = createContext(self.context, **kw)
        return macro_render(macro, self.context, econtext, **kw)