diff options
Diffstat (limited to 'ishtar_common/widgets.py')
| -rw-r--r-- | ishtar_common/widgets.py | 11 | 
1 files changed, 8 insertions, 3 deletions
| diff --git a/ishtar_common/widgets.py b/ishtar_common/widgets.py index 6ffb84084..509907034 100644 --- a/ishtar_common/widgets.py +++ b/ishtar_common/widgets.py @@ -528,22 +528,27 @@ class JQueryJqGrid(forms.RadioSelect):          col_names, extra_cols = [], []          for field_name in getattr(self.associated_model, self.table_cols):              field = self.associated_model +            if type(field_name) in (list, tuple): +                field_name = field_name[0] +            field_verbose_names = []              keys = field_name.split('.')              field_verbose_name = ""              for key in keys: -                if hasattr(field, 'rel'): +                if hasattr(field, 'rel') and field.rel:                      field = field.rel.to                  try:                      field = field._meta.get_field(key)                      field_verbose_name = field.verbose_name                      field_name = field.name -                except fields.FieldDoesNotExist: +                except (fields.FieldDoesNotExist, AttributeError):                      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) +            field_verbose_names.append(unicode(field_verbose_name)) +            col_names.append(u'"%s"' % settings.JOINT.join( +                [f for f in field_verbose_names if f]))              extra_cols.append(self.COL_TPL % {'idx': field_name})          col_names = col_names and ", ".join(col_names) or ""          extra_cols = extra_cols and ", ".join(extra_cols) or "" | 
