summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2011-07-11 00:18:57 +0200
committerÉtienne Loks <etienne.loks@peacefrogs.net>2011-07-11 00:18:57 +0200
commit6ec65576702d588e1cf4fd518cac1085fc720667 (patch)
tree687ec3d305259c453f3ecb57f17f414184eeaf48
parent4a3c3706575273c399489cbcdf47230d52809dc6 (diff)
downloadIshtar-6ec65576702d588e1cf4fd518cac1085fc720667.tar.bz2
Ishtar-6ec65576702d588e1cf4fd518cac1085fc720667.zip
Correct a regression on table columns implying related to other models (closes #529) - Management of multiple order (refs #528)
-rw-r--r--ishtar/ishtar_base/views.py4
-rw-r--r--ishtar/ishtar_base/widgets.py10
2 files changed, 8 insertions, 6 deletions
diff --git a/ishtar/ishtar_base/views.py b/ishtar/ishtar_base/views.py
index 99c2167d7..d036c9876 100644
--- a/ishtar/ishtar_base/views.py
+++ b/ishtar/ishtar_base/views.py
@@ -226,6 +226,7 @@ def get_item(model, func_name, default_name, extra_request_keys=[],
ks = request_keys[q]
if type(ks) not in (list, tuple):
ks = [ks]
+ orders = []
for k in ks:
if k.endswith("__pk"):
k = k[:-len("__pk")] + "__label"
@@ -233,7 +234,8 @@ def get_item(model, func_name, default_name, extra_request_keys=[],
sign = q and q == u'desc' and "-" or ''
if '__' in k:
k = k.split('__')[0]
- items = items.order_by(sign + k)
+ orders.append(sign+k)
+ items = items.order_by(*orders)
datas = []
if old:
items = [item.get_previous(old) for item in items]
diff --git a/ishtar/ishtar_base/widgets.py b/ishtar/ishtar_base/widgets.py
index 941d9f0c9..14f49ed6c 100644
--- a/ishtar/ishtar_base/widgets.py
+++ b/ishtar/ishtar_base/widgets.py
@@ -229,17 +229,17 @@ class JQueryJqGrid(forms.RadioSelect):
if hasattr(field, 'rel'):
field = field.rel.to
try:
- fld = field._meta.get_field(key)
- field_verbose_name = fld.verbose_name
- field_name = fld.name
+ field = field._meta.get_field(key)
+ field_verbose_name = field.verbose_name
+ field_name = field.name
except fields.FieldDoesNotExist:
if hasattr(field, key + '_lbl'):
field_name = key
field_verbose_name = getattr(field, key + '_lbl')
else:
continue
- col_names.append(u'"%s"' % field_verbose_name)
- extra_cols.append(self.COL_TPL % {'idx':field_name})
+ col_names.append(u'"%s"' % field_verbose_name)
+ extra_cols.append(self.COL_TPL % {'idx':field_name})
col_names = col_names and ",\n".join(col_names) or ""
col_idx = col_idx and ",\n".join(col_idx) or ""
extra_cols = extra_cols and ",\n".join(extra_cols) or ""