use "unfile" (not "delete") column for classifying folder contents (#4052)
This commit is contained in:
parent
0854f64218
commit
3eadd54299
|
@ -138,7 +138,16 @@ class ResultsTable(BaseTable):
|
|||
extra_column_names = self.request.get('table-extra-columns', '').split(':')
|
||||
columns = [x for x in columns if not x.__name__.startswith('extra.') or
|
||||
x.__name__ in extra_column_names]
|
||||
column_names = [column.__name__ for column in columns]
|
||||
self.folder_id = None
|
||||
try:
|
||||
if self.request.form.get('query', {})[0].get('i') == 'object_folders':
|
||||
self.folder_id = int(self.request.form.get('query', {})[0].get('v')[0])
|
||||
except (IndexError, ValueError):
|
||||
pass
|
||||
if self.folder_id:
|
||||
columns = [x for x in columns if x.__name__ != 'dms.delete']
|
||||
else:
|
||||
columns = [x for x in columns if x.__name__ != 'pfwbged.folder.unfile']
|
||||
return columns
|
||||
|
||||
def getExtraColumns(self):
|
||||
|
@ -239,6 +248,24 @@ class TaskTypeColumn(column.Column):
|
|||
return term.title
|
||||
|
||||
|
||||
class UnfileColumn(column.IconColumn, column.LinkColumn):
|
||||
grok.name('pfwbged.folder.unfile')
|
||||
grok.adapts(Interface, Interface, ResultsTable)
|
||||
|
||||
header = u''
|
||||
iconName = "++resource++unlink_icon.png"
|
||||
linkContent = _('Unfile')
|
||||
|
||||
def getLinkURL(self, item):
|
||||
from pfwbged.folder.link import ILink
|
||||
for id, child in item.getObject().contentItems():
|
||||
if not ILink.providedBy(child):
|
||||
continue
|
||||
if child.folder.to_id == self.table.folder_id:
|
||||
return item.getURL() + '/' + id + '/delete_confirmation'
|
||||
return '#'
|
||||
|
||||
|
||||
def get_appropriate_table_class(context, query):
|
||||
from plone.app.querystring.queryparser import parseFormquery
|
||||
parsed_query = parseFormquery(context, query)
|
||||
|
|
Reference in New Issue