[FIX] orm, _generate_order_by(): allow to order by LOG_ACCESS_COLUMNS even if the column is not defined again in self._columns. Raising an error instead of silently skipping the order_by
bzr revid: qdp-launchpad@openerp.com-20130419145417-2tix8ynmx51qiqkf
This commit is contained in:
parent
6a600ff311
commit
d621d26516
|
@ -4792,8 +4792,8 @@ class BaseModel(object):
|
|||
order_field = order_split[0].strip()
|
||||
order_direction = order_split[1].strip() if len(order_split) == 2 else ''
|
||||
inner_clause = None
|
||||
if order_field == 'id':
|
||||
order_by_elements.append('"%s"."id" %s' % (self._table, order_direction))
|
||||
if order_field == 'id' or (self._log_access and order_field in LOG_ACCESS_COLUMNS.keys()):
|
||||
order_by_elements.append('"%s"."%s" %s' % (self._table, order_field, order_direction))
|
||||
elif order_field in self._columns:
|
||||
order_column = self._columns[order_field]
|
||||
if order_column._classic_read:
|
||||
|
@ -4811,6 +4811,8 @@ class BaseModel(object):
|
|||
inner_clause = self._generate_m2o_order_by(order_field, query)
|
||||
else:
|
||||
continue # ignore non-readable or "non-joinable" fields
|
||||
else:
|
||||
raise ValueError( _("Sorting field %s not found on model %s") %( order_field, self._name))
|
||||
if inner_clause:
|
||||
if isinstance(inner_clause, list):
|
||||
for clause in inner_clause:
|
||||
|
|
Loading…
Reference in New Issue