Delete forever and restore icons for appendix table #22003

This commit is contained in:
Nicolas Demonte 2019-04-12 11:15:09 +02:00
parent 9b47442325
commit 7e2fea4a0e
7 changed files with 62 additions and 16 deletions

View File

@ -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)

View File

@ -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"

View File

@ -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

View File

@ -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"

View File

@ -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 ""