本文整理汇总了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'],
)
示例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()
示例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()