[gen] added the possibility to define a sortOrder of a Search class.
This commit is contained in:
parent
9368138efd
commit
aaaccb0669
|
@ -298,10 +298,12 @@ class Import:
|
||||||
|
|
||||||
class Search:
|
class Search:
|
||||||
'''Used for specifying a search for a given type.'''
|
'''Used for specifying a search for a given type.'''
|
||||||
def __init__(self, name, group=None, sortBy='', limit=None, **fields):
|
def __init__(self, name, group=None, sortBy='', sortOrder='asc', limit=None,
|
||||||
|
**fields):
|
||||||
self.name = name
|
self.name = name
|
||||||
self.group = group # Searches may be visually grouped in the portlet
|
self.group = group # Searches may be visually grouped in the portlet
|
||||||
self.sortBy = sortBy
|
self.sortBy = sortBy
|
||||||
|
self.sortOrder = sortOrder
|
||||||
self.limit = limit
|
self.limit = limit
|
||||||
# In the dict below, keys are indexed field names and values are
|
# In the dict below, keys are indexed field names and values are
|
||||||
# search values.
|
# search values.
|
||||||
|
|
|
@ -288,9 +288,10 @@ class ToolMixin(BaseMixin):
|
||||||
currently logged user can't see.
|
currently logged user can't see.
|
||||||
|
|
||||||
The result is sorted according to the potential sort key defined in
|
The result is sorted according to the potential sort key defined in
|
||||||
the Search instance (Search.sortBy). But if parameter p_sortBy is
|
the Search instance (Search.sortBy, together with Search.sortOrder).
|
||||||
given, it defines or overrides the sort. In this case, p_sortOrder
|
But if parameter p_sortBy is given, it defines or overrides the sort.
|
||||||
gives the order (*asc*ending or *desc*ending).
|
In this case, p_sortOrder gives the order (*asc*ending or
|
||||||
|
*desc*ending).
|
||||||
|
|
||||||
If p_filterKey is given, it represents an additional search parameter
|
If p_filterKey is given, it represents an additional search parameter
|
||||||
to take into account: the corresponding search value is in
|
to take into account: the corresponding search value is in
|
||||||
|
@ -329,6 +330,8 @@ class ToolMixin(BaseMixin):
|
||||||
sortKey = search.sortBy
|
sortKey = search.sortBy
|
||||||
if sortKey:
|
if sortKey:
|
||||||
params['sort_on'] = Search.getIndexName(sortKey, usage='sort')
|
params['sort_on'] = Search.getIndexName(sortKey, usage='sort')
|
||||||
|
if search.sortOrder == 'desc': params['sort_order'] = 'reverse'
|
||||||
|
else: params['sort_order'] = None
|
||||||
# Determine or override sort if specified.
|
# Determine or override sort if specified.
|
||||||
if sortBy:
|
if sortBy:
|
||||||
params['sort_on'] = Search.getIndexName(sortBy, usage='sort')
|
params['sort_on'] = Search.getIndexName(sortBy, usage='sort')
|
||||||
|
@ -917,7 +920,8 @@ class ToolMixin(BaseMixin):
|
||||||
password = request.get('__ac_password', '')
|
password = request.get('__ac_password', '')
|
||||||
elif cookie and (cookie != 'deleted'):
|
elif cookie and (cookie != 'deleted'):
|
||||||
cookieValue = base64.decodestring(urllib.unquote(cookie))
|
cookieValue = base64.decodestring(urllib.unquote(cookie))
|
||||||
login, password = cookieValue.split(':')
|
if ':' in cookieValue:
|
||||||
|
login, password = cookieValue.split(':')
|
||||||
# Try to authenticate this user
|
# Try to authenticate this user
|
||||||
user = self.authenticate(login, password, request)
|
user = self.authenticate(login, password, request)
|
||||||
emergency = self._emergency_user
|
emergency = self._emergency_user
|
||||||
|
|
Loading…
Reference in a new issue