summaryrefslogtreecommitdiff
path: root/ishtar_common/widgets.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/widgets.py')
-rw-r--r--ishtar_common/widgets.py15
1 files changed, 10 insertions, 5 deletions
diff --git a/ishtar_common/widgets.py b/ishtar_common/widgets.py
index 7696d67da..7611a08df 100644
--- a/ishtar_common/widgets.py
+++ b/ishtar_common/widgets.py
@@ -529,7 +529,8 @@ class JQueryJqGrid(forms.RadioSelect):
def __init__(self, source, form, associated_model, attrs={},
table_cols='TABLE_COLS', multiple=False, multiple_cols=[2],
new=False, new_message="", source_full=None,
- multiple_select=False, sortname="__default__"):
+ multiple_select=False, sortname="__default__",
+ col_prefix=''):
"""
JQueryJqGrid widget init.
@@ -545,6 +546,7 @@ class JQueryJqGrid(forms.RadioSelect):
:param source_full: url to get full listing
:param multiple_select:
:param sortname: column name (model attribute) to use to sort
+ :param col_prefix: prefix to remove to col_names
"""
super(JQueryJqGrid, self).__init__(attrs=attrs)
self.source = source
@@ -560,6 +562,9 @@ class JQueryJqGrid(forms.RadioSelect):
self.new, self.new_message = new, new_message
self.source_full = source_full
self.sortname = sortname
+ self.col_prefix = col_prefix
+ if self.col_prefix and not self.col_prefix.endswith('__'):
+ self.col_prefix += "__"
def get_cols(self, python=False):
jq_col_names, extra_cols = [], []
@@ -577,23 +582,23 @@ class JQueryJqGrid(forms.RadioSelect):
keys = col_name.split('__')
if '.' in col_name:
keys = col_name.split('.')
- f_name = ''
for key in keys:
if hasattr(field, 'rel') and field.rel:
field = field.rel.to
try:
field = field._meta.get_field(key)
field_verbose_name = field.verbose_name
- f_name = field.name
except (fields.FieldDoesNotExist, AttributeError):
if hasattr(field, key + '_lbl'):
- f_name = key
field_verbose_name = getattr(field, key + '_lbl')
else:
continue
if field_name:
field_name += "__"
- field_name += f_name
+ if col_name.startswith(self.col_prefix):
+ field_name += col_name[len(self.col_prefix):]
+ else:
+ field_name += col_name
field_verbose_names.append(unicode(field_verbose_name))
if not field_name:
field_name = "__".join(col_names)