summaryrefslogtreecommitdiff
path: root/ishtar_common/widgets.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2018-10-01 18:50:02 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2018-10-01 18:50:02 +0200
commit05b9acf3048eaefa89e57011968c220fd8c2c2a7 (patch)
treefadcd9d09ac5fa97db0a28ccabdbb2ecbffaa831 /ishtar_common/widgets.py
parentb33503364d3a4784607871e3771973bafa00aac2 (diff)
downloadIshtar-05b9acf3048eaefa89e57011968c220fd8c2c2a7.tar.bz2
Ishtar-05b9acf3048eaefa89e57011968c220fd8c2c2a7.zip
Manage column customization on custom app
Diffstat (limited to 'ishtar_common/widgets.py')
-rw-r--r--ishtar_common/widgets.py17
1 files changed, 15 insertions, 2 deletions
diff --git a/ishtar_common/widgets.py b/ishtar_common/widgets.py
index 405b5d69e..fc8926364 100644
--- a/ishtar_common/widgets.py
+++ b/ishtar_common/widgets.py
@@ -945,9 +945,19 @@ class DataTable(Select2Media, forms.RadioSelect):
def get_cols(self, python=False):
jq_col_names, extra_cols = [], []
col_labels = {}
+ slug = getattr(self.associated_model, 'SLUG', None)
if hasattr(self.associated_model, 'COL_LABELS'):
col_labels = self.associated_model.COL_LABELS
- for col_names in getattr(self.associated_model, self.table_cols):
+ if slug in settings.TABLE_COLS:
+ col_labels.update(settings.TABLE_COLS[slug])
+
+ tb_key = (slug, self.table_cols)
+ if tb_key in settings.TABLE_COLS:
+ table_cols = settings.TABLE_COLS[tb_key]
+ else:
+ table_cols = getattr(self.associated_model, self.table_cols)
+
+ for col_names in table_cols:
field_verbose_names = []
field_verbose_name, field_name = "", ""
if type(col_names) not in (list, tuple):
@@ -978,7 +988,10 @@ class DataTable(Select2Media, forms.RadioSelect):
if not field_name:
field_name = "__".join(col_names)
if field_name in col_labels:
- jq_col_names.append(unicode(col_labels[field_name]))
+ lbl = col_labels[field_name]
+ if callable(lbl):
+ lbl = lbl()
+ jq_col_names.append(unicode(lbl))
elif col_names and col_names[0] in col_labels:
jq_col_names.append(unicode(col_labels[col_names[0]]))
else: