summaryrefslogtreecommitdiff
path: root/ishtar_common/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/models.py')
-rw-r--r--ishtar_common/models.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index e5e173654..ef7dc8a4e 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -69,7 +69,7 @@ from ishtar_common.models_imports import ImporterModel, ImporterType, \
Import, TargetKeyGroup
from ishtar_common.utils import get_cache, disable_for_loaddata, create_slug, \
get_all_field_names, merge_tsvectors, cached_label_changed, \
- generate_relation_graph, HISTORY_M2M_SPLIT
+ generate_relation_graph
__all__ = [
'ImporterModel', 'ImporterType', 'ImporterDefault', 'ImporterDefaultValues',
@@ -153,11 +153,10 @@ class HistoryModel(models.Model):
abstract = True
def m2m_listing(self, key):
- hist_value = getattr(self, "historical_" + key, None)
- if not hist_value:
+ if not self.history_m2m or key not in self.history_m2m:
return
related_model = getattr(self, key).model
- return related_model.history_decompress(hist_value)
+ return related_model.history_decompress(self.history_m2m[key])
class HistoricalRecords(BaseHistoricalRecords):
@@ -539,7 +538,7 @@ class GeneralType(Cached, models.Model):
if not value:
return []
res = []
- for txt_idx in value.split(HISTORY_M2M_SPLIT):
+ for txt_idx in value:
try:
res.append(cls.objects.get(txt_idx=txt_idx))
except cls.DoesNotExist:
@@ -1481,6 +1480,7 @@ class BaseHistorizedItem(DocumentItem, FullSearch, Imported, JsonData,
User, related_name='+', on_delete=models.SET_NULL,
verbose_name=_(u"Creator"), blank=True, null=True)
last_modified = models.DateTimeField(auto_now=True)
+ history_m2m = JSONField(default={}, blank=True)
class Meta:
abstract = True
@@ -2827,6 +2827,7 @@ class OrganizationManager(models.Manager):
class Organization(Address, Merge, OwnPerms, ValueGetter):
TABLE_COLS = ('name', 'organization_type', 'town')
+ SLUG = "organization"
SHOW_URL = 'show-organization'
# search parameters
@@ -2954,6 +2955,7 @@ class PersonManager(models.Manager):
class Person(Address, Merge, OwnPerms, ValueGetter):
+ SLUG = "person"
_prefix = 'person_'
TYPE = (
('Mr', _(u'Mr')),