Delete forever and restore icons for appendix table #22003
This commit is contained in:
parent
da97174dd0
commit
7d53982f61
|
@ -187,24 +187,32 @@ class ColourColumn(Column):
|
|||
class DeleteColumn(IconColumn, LinkColumn):
|
||||
grok.baseclass()
|
||||
header = u""
|
||||
weight = 9
|
||||
weight = 8
|
||||
linkName = "delete_confirmation"
|
||||
linkContent = PMF('Delete')
|
||||
linkCSS = 'edm-delete-popup'
|
||||
iconName = "++resource++delete_icon.png"
|
||||
linkContent = PMF(u"Delete")
|
||||
|
||||
def getLinkCSS(self, item):
|
||||
def can_be_trashed(self, item):
|
||||
obj = get_object(self.request, item)
|
||||
view = queryMultiAdapter((obj, self.request), name='can_be_trashed')
|
||||
if view and view.render():
|
||||
return view and view.render()
|
||||
|
||||
def getLinkContent(self, item):
|
||||
obj = get_object(self.request, item)
|
||||
is_trashed = plone.api.content.get_state(obj, None) == 'trashed'
|
||||
alt = PMF(u"Delete forever") if is_trashed else PMF(u"Delete")
|
||||
iconName = '++resource++delete_forever_icon.png' if is_trashed else '++resource++delete_icon.png'
|
||||
content = translate(alt, context=self.request)
|
||||
return u"""<img title="%s" src="%s" />""" % (
|
||||
content,
|
||||
'%s/%s' % (self.table.portal_url, iconName))
|
||||
|
||||
def getLinkCSS(self, item):
|
||||
if self.can_be_trashed(item):
|
||||
return ''
|
||||
return super(DeleteColumn, self).getLinkCSS(item)
|
||||
|
||||
def getLinkURL(self, item):
|
||||
obj = get_object(self.request, item)
|
||||
view = queryMultiAdapter((obj, self.request), name='can_be_trashed')
|
||||
if view and view.render():
|
||||
if self.can_be_trashed(item):
|
||||
return '%s/%s' % (item.getURL(), 'redirect_to_dmsdocument?workflow_action=send_to_trash')
|
||||
return super(DeleteColumn, self).getLinkURL(item)
|
||||
|
||||
|
@ -219,10 +227,6 @@ class DeleteColumn(IconColumn, LinkColumn):
|
|||
if not self.actionAvailable(item):
|
||||
return u""
|
||||
|
||||
obj = get_object(self.request, item)
|
||||
if plone.api.content.get_state(obj, None) == 'trashed':
|
||||
return '<span>DEL</span>'
|
||||
|
||||
return super(DeleteColumn, self).renderCell(item)
|
||||
|
||||
|
||||
|
|
|
@ -28,6 +28,16 @@
|
|||
image="static/img/delete_icon.png"
|
||||
/>
|
||||
|
||||
<browser:resource
|
||||
name="delete_forever_icon.png"
|
||||
image="static/img/delete_forever_icon.png"
|
||||
/>
|
||||
|
||||
<browser:resource
|
||||
name="restore_icon.png"
|
||||
image="static/img/restore_icon.png"
|
||||
/>
|
||||
|
||||
<browser:page
|
||||
for="collective.dms.basecontent.dmsdocument.IDmsDocument"
|
||||
name="view"
|
||||
|
|
|
@ -12,7 +12,9 @@ from Products.CMFCore.utils import getToolByName
|
|||
from collective.dms.basecontent import _
|
||||
from collective.dms.basecontent.browser import column
|
||||
from collective.dms.basecontent.browser.table import Table
|
||||
|
||||
from collective.dms.basecontent.browser.column import IconColumn
|
||||
from collective.dms.basecontent.browser.column import LinkColumn
|
||||
from collective.dms.basecontent.browser.column import get_object
|
||||
|
||||
grok.templatedir('templates')
|
||||
|
||||
|
@ -195,3 +197,27 @@ class VersionLabelColumn(column.LabelColumn):
|
|||
attribute = 'label'
|
||||
header = _(u"Label")
|
||||
weight = 15
|
||||
|
||||
|
||||
class AppendixRestoreColumn(IconColumn, LinkColumn):
|
||||
grok.adapts(Interface, Interface, DmsAppendixTable)
|
||||
grok.name('dms.restore')
|
||||
weight = 9
|
||||
header = u''
|
||||
iconName = '++resource++restore_icon.png'
|
||||
linkName = 'redirect_to_dmsdocument?workflow_action=restore_from_trash'
|
||||
linkContent = PMF(u"Restore")
|
||||
|
||||
def actionAvailable(self, item):
|
||||
obj = get_object(self.request, item)
|
||||
if not obj:
|
||||
return False
|
||||
wf_tool = getToolByName(obj, 'portal_workflow')
|
||||
workflowActions = wf_tool.listActionInfos(object=obj)
|
||||
return 'restore_from_trash' in [x.get('id') for x in workflowActions]
|
||||
|
||||
def renderCell(self, item):
|
||||
if not self.actionAvailable(item):
|
||||
return u""
|
||||
|
||||
return super(AppendixRestoreColumn, self).renderCell(item)
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 985 B |
Binary file not shown.
After Width: | Height: | Size: 323 B |
|
@ -1,7 +1,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: 2013-10-12 10:10+0000\n"
|
||||
"POT-Creation-Date: 2019-04-12 07:26+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI +ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -39,3 +39,6 @@ msgstr "Document"
|
|||
msgid "DmsMainFile"
|
||||
msgstr "Version"
|
||||
|
||||
# ../browser/column.py
|
||||
msgid "Delete forever"
|
||||
msgstr "Supprimer définitivement"
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: 2013-10-12 10:10+0000\n"
|
||||
"POT-Creation-Date: 2019-04-12 07:26+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI +ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -41,3 +41,6 @@ msgstr ""
|
|||
msgid "DmsMainFile"
|
||||
msgstr ""
|
||||
|
||||
# ../browser/column.py
|
||||
msgid "Delete forever"
|
||||
msgstr ""
|
||||
|
|
Reference in New Issue