use "unfile" (not "delete") column for classifying folder contents (#4052)

This commit is contained in:
Frédéric Péters 2014-01-22 13:46:58 +01:00
parent 0854f64218
commit 3eadd54299
1 changed files with 28 additions and 1 deletions

View File

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