diff options
| 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 | 
| commit | 2bc5506fd5c923160d929faf59424fdb7ec55c2b (patch) | |
| tree | 687ec3d305259c453f3ecb57f17f414184eeaf48 | |
| parent | 7114c0b41d7b1a65afa417a1c0e5388edcefbdb6 (diff) | |
| download | Ishtar-2bc5506fd5c923160d929faf59424fdb7ec55c2b.tar.bz2 Ishtar-2bc5506fd5c923160d929faf59424fdb7ec55c2b.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.py | 4 | ||||
| -rw-r--r-- | ishtar/ishtar_base/widgets.py | 10 | 
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 ""
 | 
