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 "" |