diff options
author | Étienne Loks <etienne.loks@proxience.com> | 2014-12-18 20:24:00 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@proxience.com> | 2014-12-18 20:24:00 +0100 |
commit | 99e0aae5eeaee9d19d4c3d3154536347e9904cb9 (patch) | |
tree | 601ab654396be33611af639038a9120d1d4d5ba5 | |
parent | 9c523c4b7e10195ff21edc9b9375ecf43e16e182 (diff) | |
download | Ishtar-99e0aae5eeaee9d19d4c3d3154536347e9904cb9.tar.bz2 Ishtar-99e0aae5eeaee9d19d4c3d3154536347e9904cb9.zip |
More precise merge key for organization and person
-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: |