diff options
Diffstat (limited to 'ishtar_common/models_common.py')
-rw-r--r-- | ishtar_common/models_common.py | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/ishtar_common/models_common.py b/ishtar_common/models_common.py index 5e6e3af8f..151ab5650 100644 --- a/ishtar_common/models_common.py +++ b/ishtar_common/models_common.py @@ -37,7 +37,7 @@ from django.core.serializers import serialize from django.urls import reverse, NoReverseMatch from django.core.validators import validate_slug from django.db import connection, transaction, OperationalError, IntegrityError -from django.db.models import Q, Count, Max +from django.db.models import Q, Count, Max, fields from django.db.models.signals import post_save, post_delete, m2m_changed from django.template import loader from django.template.defaultfilters import slugify @@ -47,8 +47,9 @@ from ishtar_common.utils import ( ugettext_lazy as _, pgettext_lazy, get_image_path, + get_columns_from_class, human_date, - reverse_list_coordinates + reverse_list_coordinates, ) from simple_history.models import HistoricalRecords as BaseHistoricalRecords from simple_history.signals import ( @@ -4249,6 +4250,17 @@ class MainItem(ShortMenuItem, SerializeItem): def class_verbose_name(cls): return cls._meta.verbose_name + @classmethod + def get_columns(cls, table_cols_attr="TABLE_COLS", dict_col_labels=True): + """ + :param table_cols_attr: "TABLE_COLS" if not specified + :param dict_col_labels: (default: True) if set to False return list matching + with table_cols list + :return: (table_cols, table_col_labels) + """ + return get_columns_from_class(cls, table_cols_attr=table_cols_attr, + dict_col_labels=dict_col_labels) + def get_search_url(self): if self.SLUG: return reverse(self.SLUG + "_search") |