当前位置: 首页>>代码示例>>Python>>正文


Python management.queryInteraction函数代码示例

本文整理汇总了Python中zope.security.management.queryInteraction函数的典型用法代码示例。如果您正苦于以下问题:Python queryInteraction函数的具体用法?Python queryInteraction怎么用?Python queryInteraction使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了queryInteraction函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: lockingSetUp

def lockingSetUp(test):
    placelesssetup.setUp(test)
    z3c.etree.testing.etreeSetup(test)

    # create principal
    participation = TestRequest(environ = {"REQUEST_METHOD": "PUT"})
    participation.setPrincipal(Principal("michael"))
    if queryInteraction() is not None:
        queryInteraction().add(participation)
    else:
        newInteraction(participation)

    events = test.globs["events"] = []
    zope.event.subscribers.append(events.append)

    gsm = zope.component.getGlobalSiteManager()

    gsm.registerAdapter(DemoKeyReference,
                        (IDemo,),
                        zope.app.keyreference.interfaces.IKeyReference)
    gsm.registerAdapter(PhysicallyLocatable, (Demo,))
    gsm.registerAdapter(PhysicallyLocatable, (DemoFolder,))
    gsm.registerAdapter(DemoKeyReference, (IDemoFolder,),
                        zope.app.keyreference.interfaces.IKeyReference)
    gsm.registerAdapter(SiteManagerAdapter,
                        (zope.interface.Interface,), IComponentLookup)
    gsm.registerAdapter(DemoAbsoluteURL,
                        (IDemo, zope.interface.Interface),
                        zope.traversing.browser.interfaces.IAbsoluteURL)
    gsm.registerAdapter(DemoAbsoluteURL,
                        (IDemoFolder, zope.interface.Interface),
                        zope.traversing.browser.interfaces.IAbsoluteURL)

    # register some IDAVWidgets so that we can render the activelock and
    # supportedlock widgets.
    gsm.registerAdapter(z3c.dav.widgets.ListDAVWidget,
                        (zope.schema.interfaces.IList,
                         z3c.dav.interfaces.IWebDAVRequest))
    gsm.registerAdapter(z3c.dav.widgets.ObjectDAVWidget,
                        (zope.schema.interfaces.IObject,
                         z3c.dav.interfaces.IWebDAVRequest))
    gsm.registerAdapter(z3c.dav.widgets.TextDAVWidget,
                        (zope.schema.interfaces.IText,
                         z3c.dav.interfaces.IWebDAVRequest))
    gsm.registerAdapter(z3c.dav.properties.OpaqueWidget,
                        (z3c.dav.properties.DeadField,
                         z3c.dav.interfaces.IWebDAVRequest))
    gsm.registerAdapter(z3c.dav.widgets.TextDAVWidget,
                        (zope.schema.interfaces.IURI,
                         z3c.dav.interfaces.IWebDAVRequest))

    # Need connection to a database to manage locking
    db = test.globs["db"] = ZODB.DB(ZODB.MappingStorage.MappingStorage())
    test.globs["conn"] = db.open()

    # expose these classes to the test
    test.globs["Demo"] = Demo
    test.globs["DemoFolder"] = DemoFolder
开发者ID:mkerrin,项目名称:z3c.davapp.zopelocking,代码行数:58,代码来源:tests.py

示例2: test_restoreInteraction_after_new

    def test_restoreInteraction_after_new(self):
        from zope.security.management import newInteraction
        from zope.security.management import queryInteraction
        from zope.security.management import restoreInteraction

        newInteraction()
        self.assertTrue(queryInteraction() is not None)
        restoreInteraction()  # restore to no interaction
        self.assertTrue(queryInteraction() is None)
开发者ID:felixonmars,项目名称:zope.security,代码行数:9,代码来源:test_management.py

示例3: test_restoreInteraction_after_end

    def test_restoreInteraction_after_end(self):
        from zope.security.management import endInteraction
        from zope.security.management import newInteraction
        from zope.security.management import queryInteraction
        from zope.security.management import restoreInteraction

        newInteraction()
        interaction = queryInteraction()
        endInteraction()
        restoreInteraction()
        self.assertTrue(interaction is queryInteraction())
开发者ID:felixonmars,项目名称:zope.security,代码行数:11,代码来源:test_management.py

示例4: test_endInteraction_repeated

    def test_endInteraction_repeated(self):
        from zope.security.management import endInteraction
        from zope.security.management import newInteraction
        from zope.security.management import queryInteraction

        newInteraction()
        interaction = queryInteraction()
        endInteraction()
        self.assertEqual(queryInteraction(), None)
        endInteraction()
        self.assertEqual(queryInteraction(), None)
开发者ID:felixonmars,项目名称:zope.security,代码行数:11,代码来源:test_management.py

示例5: test_newInteraction

    def test_newInteraction(self):
        from zope.security.management import newInteraction
        from zope.security.management import queryInteraction

        newInteraction()
        interaction = queryInteraction()
        self.assertTrue(interaction is not None)
开发者ID:felixonmars,项目名称:zope.security,代码行数:7,代码来源:test_management.py

示例6: getRequest

def getRequest():
    interaction = queryInteraction()

    if interaction is not None:
        for participation in interaction.participations:
            if participation is not None:
                return participation
开发者ID:Zojax,项目名称:zojax.content.notifications,代码行数:7,代码来源:utils.py

示例7: check

    def check(self):
        interaction = queryInteraction()
        if interaction is None:
            return False

        request = None
        for participation in interaction.participations:
            request = participation
            if request is not None:
                break

        if request is None:
            return False

        contenttype = self.draftct

        container = queryMultiAdapter(
            (request.principal, contenttype), IDraftContainer)
        if container is None:
            return False

        if contenttype.submit:
            if interaction.checkPermission(contenttype.submit, self.context):
                return True

        if contenttype.publish:
            if interaction.checkPermission(contenttype.publish, self.context):
                return True

        return False
开发者ID:Zojax,项目名称:zojax.content.draft,代码行数:30,代码来源:checker.py

示例8: invitationAcceptedHandler

def invitationAcceptedHandler(invitation, event):
    owner = IOwnership(invitation).owner
    if owner is None:
        return

    messaging = IMessageStorage(owner, None)
    if messaging is None:
        return

    interaction = queryInteraction()

    if interaction is not None:
        for request in interaction.participations:
            principal = invitation.principal

            view = queryMultiAdapter(
                (principal, request), IPagelet, 'personal.message')
            if view is None:
                return

            view.update()

            data = {'title': u'Your invitation has been accepted',
                    'text': view.render(),
                    'sender': unicode(principal.id)}
            messaging.create(SERVICE_ID, **data)
开发者ID:Zojax,项目名称:zojax.personal.invitation,代码行数:26,代码来源:subscriber.py

示例9: test_checkPermission

    def test_checkPermission(self):
        from zope.security import checkPermission
        from zope.security.management import setSecurityPolicy
        from zope.security.management import queryInteraction
        from zope.security.management import newInteraction, endInteraction
        from zope.security.interfaces import NoInteraction

        permission = 'zope.Test'
        obj = object()

        class PolicyStub(object):

            def checkPermission(s, p, o,):
                self.assert_(p is permission)
                self.assert_(o is obj)
                self.assert_(s is queryInteraction() or s is interaction)
                return s is interaction

        setSecurityPolicy(PolicyStub)
        newInteraction()
        interaction = queryInteraction()
        self.assertEquals(checkPermission(permission, obj), True)
        
        endInteraction()
        self.assertRaises(NoInteraction, checkPermission, permission, obj)
开发者ID:Andyvs,项目名称:TrackMonthlyExpenses,代码行数:25,代码来源:test_management.py

示例10: testPlacefulAuth

 def testPlacefulAuth(self):
     self.publication.beforeTraversal(self.request)
     self.assertEqual(list(queryInteraction().participations), [self.request])
     self.assertEqual(self.request.principal.id, "anonymous")
     root = self.publication.getApplication(self.request)
     self.publication.callTraversalHooks(self.request, root)
     self.assertEqual(self.request.principal.id, "anonymous")
     ob = self.publication.traverseName(self.request, root, "f1")
     self.publication.callTraversalHooks(self.request, ob)
     self.assertEqual(self.request.principal.id, "test.anonymous")
     ob = self.publication.traverseName(self.request, ob, "f2")
     self.publication.afterTraversal(self.request, ob)
     self.assertEqual(self.request.principal.id, "test.bob")
     self.assertEqual(list(queryInteraction().participations), [self.request])
     self.publication.endRequest(self.request, ob)
     self.assertEqual(queryInteraction(), None)
开发者ID:pigaov10,项目名称:plone4.3,代码行数:16,代码来源:test_zopepublication.py

示例11: resetingPassword

def resetingPassword(event):
    email = IMailAddress(event.principal, None)
    if email is None:
        return

    request = queryInteraction().participations[0]
    template = getMultiAdapter((event, request), IMailTemplate)
    template.send((formataddr((event.principal.title, email.address)),))
开发者ID:Zojax,项目名称:zojax.principal.password,代码行数:8,代码来源:resetpasswordmail.py

示例12: checkPermissionForPrincipal

def checkPermissionForPrincipal(principal, permission, object):
    interaction = queryInteraction()

    if IZojaxSecurityPolicy.providedBy(interaction):
        return interaction.cached_decision(
            removeSecurityProxy(object), principal.id,
            interaction._groupsFor(principal), permission)

    return False
开发者ID:Zojax,项目名称:zojax.security,代码行数:9,代码来源:utils.py

示例13: test_usable_as_contextmanager

 def test_usable_as_contextmanager(self):
     from zope.security.management import getInteraction
     from zope.security.management import queryInteraction
     from zope.security.testing import interaction
     with interaction('foo'):
         ix = getInteraction()
         participation = ix.participations[0]
         self.assertEqual('foo', participation.principal.id)
     self.assertFalse(queryInteraction())
开发者ID:SalesSeek,项目名称:zope.security,代码行数:9,代码来源:test_testing.py

示例14: test_contextmanager_ends_interaction_on_exception

 def test_contextmanager_ends_interaction_on_exception(self):
     from zope.security.management import queryInteraction
     from zope.security.testing import interaction
     try:
         with interaction('foo'):
             raise RuntimeError()
     except RuntimeError:
         pass
     self.assertFalse(queryInteraction())
开发者ID:SalesSeek,项目名称:zope.security,代码行数:9,代码来源:test_testing.py

示例15: isNotSelf

def isNotSelf(group):
    principal_id = None

    interaction = queryInteraction()
    if interaction is not None:
        for participation in interaction.participations:
            principal_id = participation.principal.id
            break
    return principal_id != group.__principal__.id
开发者ID:Zojax,项目名称:zojax.principal.facebook,代码行数:9,代码来源:remove.py


注:本文中的zope.security.management.queryInteraction函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。