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


Python ICurrentDraftManagement.discard方法代码示例

本文整理汇总了Python中plone.app.drafts.interfaces.ICurrentDraftManagement.discard方法的典型用法代码示例。如果您正苦于以下问题:Python ICurrentDraftManagement.discard方法的具体用法?Python ICurrentDraftManagement.discard怎么用?Python ICurrentDraftManagement.discard使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在plone.app.drafts.interfaces.ICurrentDraftManagement的用法示例。


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

示例1: test_discard

# 需要导入模块: from plone.app.drafts.interfaces import ICurrentDraftManagement [as 别名]
# 或者: from plone.app.drafts.interfaces.ICurrentDraftManagement import discard [as 别名]
    def test_discard(self):
        request = self.request
        response = request.response

        current = ICurrentDraftManagement(request)
        current.discard()

        expires = 'Wed, 31-Dec-97 23:59:59 GMT'

        try:
            # expires date changed in ZPublisher.HTTPResponse
            # see https://github.com/zopefoundation/Zope/commit/77f483a22d6b0cb00883006cf38928cda77b75f9  # noqa
            zope_version = pkg_resources.get_distribution('Zope').version
            if parse_version(zope_version) >= parse_version('4.0b8'):
                expires = 'Wed, 31 Dec 1997 23:59:59 GMT'
        except Exception:
            pass

        deletedToken = {'expires': expires,
                        'max_age': 0, 'path': '/', 'quoted': True,
                        'value': 'deleted'}

        self.assertEqual(
            deletedToken,
            response.cookies['plone.app.drafts.targetKey'],
        )
        self.assertEqual(
            deletedToken,
            response.cookies['plone.app.drafts.draftName'],
        )
        self.assertEqual(
            deletedToken,
            response.cookies['plone.app.drafts.path'],
        )

        current.path = '/test'
        current.discard()

        deletedToken['path'] = '/test'

        self.assertEqual(
            deletedToken,
            response.cookies['plone.app.drafts.targetKey'],
        )
        self.assertEqual(
            deletedToken,
            response.cookies['plone.app.drafts.draftName'],
        )
        self.assertEqual(
            deletedToken,
            response.cookies['plone.app.drafts.path'],
        )
开发者ID:plone,项目名称:plone.app.drafts,代码行数:54,代码来源:tests.py

示例2: discardDraftsOnCancel

# 需要导入模块: from plone.app.drafts.interfaces import ICurrentDraftManagement [as 别名]
# 或者: from plone.app.drafts.interfaces.ICurrentDraftManagement import discard [as 别名]
def discardDraftsOnCancel(context, event):
    """When the edit form is cancelled, discard any unused drafts and
    remove the drafting cookies.
    """

    storage = queryUtility(IDraftStorage)
    if storage is None or not storage.enabled:
        return

    request = getattr(context, 'REQUEST', None)
    if request is None:
        return

    current = ICurrentDraftManagement(request)

    if current.userId and current.targetKey:
        storage.discardDrafts(current.userId, current.targetKey)

    current.discard()
开发者ID:plone,项目名称:plone.app.drafts,代码行数:21,代码来源:lifecycle.py

示例3: syncDraftOnSave

# 需要导入模块: from plone.app.drafts.interfaces import ICurrentDraftManagement [as 别名]
# 或者: from plone.app.drafts.interfaces.ICurrentDraftManagement import discard [as 别名]
def syncDraftOnSave(context, event):
    """When the edit form is saved, sync the draft (if set) and discard it.
    Also discard the drafting cookies.
    """

    storage = queryUtility(IDraftStorage)
    if storage is None or not storage.enabled:
        return

    request = getattr(context, 'REQUEST', None)
    if request is None:
        return

    draft = getCurrentDraft(request)
    if draft is not None:
        syncDraft(draft, context)

    current = ICurrentDraftManagement(request)
    if current.userId and current.targetKey:
        storage.discardDrafts(current.userId, current.targetKey)

    current.discard()
开发者ID:plone,项目名称:plone.app.drafts,代码行数:24,代码来源:lifecycle.py


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