add second object folders index (#4683)

This commit is contained in:
Frédéric Péters 2014-06-11 16:34:51 +02:00
parent a2120db10e
commit b3ac32efc6
2 changed files with 29 additions and 1 deletions

View File

@ -27,6 +27,19 @@
<value key="group" i18n:translate="">Location</value>
</records>
<records interface="plone.app.querystring.interfaces.IQueryField"
prefix="plone.app.querystring.field.object_direct_folders">
<value key="title" i18n:translate="">Direct Folder</value>
<value key="description" i18n:translate="">Find items that are in that are directly in folder</value>
<value key="enabled">True</value>
<value key="sortable">False</value>
<value key="operations">
<element>plone.app.querystring.operation.string.is</element>
</value>
<value key="group" i18n:translate="">Location</value>
</records>
<records interface="plone.app.querystring.interfaces.IQueryField"
prefix="plone.app.querystring.field.thesaurus_keywords">
<value key="title" i18n:translate="">Keywords</value>

View File

@ -155,7 +155,10 @@ class ResultsTable(BaseTable):
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])
if type(self.request.form.get('query', {})[0].get('v')) is list:
self.folder_id = int(self.request.form.get('query', {})[0].get('v')[0])
else:
self.folder_id = int(self.request.form.get('query', {})[0].get('v'))
except (IndexError, ValueError, KeyError):
pass
if self.folder_id:
@ -416,6 +419,18 @@ class QueryBuilder(plone.app.querystring.querybuilder.QueryBuilder):
query[i] = param
except ValueError:
pass
if param.get('o', '') == 'plone.app.querystring.operation.int.is':
value = param.get('v')
try:
param = dict(param.copy())
if type(value) is list:
param['v'] = int(value[0])
else:
param['v'] = int(value)
query[i] = param
except ValueError:
pass
return plone.app.querystring.querybuilder.QueryBuilder.__call__(self,
query, *args, **kwargs)