diff options
Diffstat (limited to 'ishtar_common/models_common.py')
-rw-r--r-- | ishtar_common/models_common.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/ishtar_common/models_common.py b/ishtar_common/models_common.py index b239813f3..f50395dee 100644 --- a/ishtar_common/models_common.py +++ b/ishtar_common/models_common.py @@ -3982,6 +3982,13 @@ class ImageContainerModel: class CompleteIdentifierItem(models.Model, ImageContainerModel): HAS_QR_CODE = True + cached_label = models.TextField( + _("Cached name"), + blank=True, + default="", + db_index=True, + help_text=_("Generated automatically - do not edit"), + ) complete_identifier = models.TextField( _("Complete identifier"), blank=True, default="" ) @@ -4001,6 +4008,19 @@ class CompleteIdentifierItem(models.Model, ImageContainerModel): return "" return self.qrcode.path + def _profile_generate_cached_label(self): + slug = getattr(self, "SLUG", None) + if not slug: + return + return get_generated_id(slug + "_cached_label", self) + + def _generate_cached_label(self): + label = self._profile_generate_cached_label() + if not label: + # to be eventually overloaded by parent class + return str(self) + return label + def generate_qrcode(self, request=None, secure=True, tmpdir=None): url = self.get_absolute_url() site = Site.objects.get_current() |