diff options
-rw-r--r-- | ishtar_common/models.py | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 371e74073..be35c4350 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -853,9 +853,10 @@ class Merge(models.Model): abstract = True def generate_merge_key(self): - self.merge_key = slugify(self.name if self.name else '') + self.merge_key = slugify(self.name if self.name else '')[:300] if not self.merge_key: self.merge_key = self.EMPTY_MERGE_KEY + self.merge_key = self.merge_key[:300] def generate_merge_candidate(self): if not self.merge_key: @@ -913,6 +914,14 @@ class Organization(Address, Merge, OwnPerms, ValueGetter): def __unicode__(self): return self.name + def generate_merge_key(self): + self.merge_key = slugify(self.name if self.name else '') + if not self.merge_key: + self.merge_key = self.EMPTY_MERGE_KEY + if self.town: + self.merge_key += "-" + slugify(self.town or '') + self.merge_key = self.merge_key[:300] + @property def associated_filename(self): values = [unicode(getattr(self, attr)) @@ -991,12 +1000,17 @@ class Person(Address, Merge, OwnPerms, ValueGetter) : def generate_merge_key(self): if self.name and self.name.strip(): self.merge_key = slugify(self.name.strip()) + ( - (u'-' + slugify(self.surname.strip())) + (u'-' + slugify(self.surname.strip())) if self.surname else u'') elif self.raw_name and self.raw_name.strip(): self.merge_key = slugify(self.raw_name.strip()) + elif self.attached_to: + self.merge_key = self.attached_to.merge_key else: self.merge_key = self.EMPTY_MERGE_KEY + if self.merge_key != self.EMPTY_MERGE_KEY and self.attached_to: + self.merge_key += "-" + self.attached_to.merge_key + self.merge_key = self.merge_key[:300] def has_right(self, right_name): if '.' in right_name: |