diff options
Diffstat (limited to 'ishtar_common/models.py')
| -rw-r--r-- | ishtar_common/models.py | 27 | 
1 files changed, 21 insertions, 6 deletions
| diff --git a/ishtar_common/models.py b/ishtar_common/models.py index c1a53213f..1f0fd6095 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -113,10 +113,7 @@ from ishtar_common.models_imports import (      TargetKeyGroup,      ValueFormater,  ) -from ishtar_common.models_rest import ( -    ApiUser, -    ApiSearchModel -) +from ishtar_common.models_rest import ApiUser, ApiSearchModel  from ishtar_common.utils import (      get_cache, @@ -354,7 +351,7 @@ class HistoryModel(models.Model):          if not models.endswith(".models"):              models += ".models"          models = import_module(models) -        model = getattr(models, self.__class__.__name__[len("Historical"):]) +        model = getattr(models, self.__class__.__name__[len("Historical") :])          field = getattr(model, key)          if hasattr(field, "rel"):              field = field.rel @@ -1724,6 +1721,24 @@ class CustomFormJsonField(models.Model):          ) +class SheetFilter(models.Model): +    key = models.CharField(_("Key"), max_length=200) + +    class Meta: +        abstract = True + +    def get_template(self): +        raise NotImplemented() + +    def get_keys(self): +        tpl = os.path.abspath( +            os.path.join(settings.ROOT_PATH, "..", self.get_template()) +        ) +        r = re.compile("item\.([_a-zA-Z])+") +        with open(tpl, "r") as fle: +            return list(set(r.findall(fle.read()))) + +  class GlobalVar(models.Model, Cached):      slug = models.SlugField(_("Variable name"), unique=True)      description = models.TextField( @@ -3658,7 +3673,7 @@ class Document(      COL_LABELS = {          "authors__cached_label": _("Authors"),          "complete_identifier": _("Identifier"), -        "source_type__label": _("Type") +        "source_type__label": _("Type"),      }      CACHED_LABELS = ["cache_related_label"] | 
