summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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
commit99e0aae5eeaee9d19d4c3d3154536347e9904cb9 (patch)
tree601ab654396be33611af639038a9120d1d4d5ba5
parent9c523c4b7e10195ff21edc9b9375ecf43e16e182 (diff)
downloadIshtar-99e0aae5eeaee9d19d4c3d3154536347e9904cb9.tar.bz2
Ishtar-99e0aae5eeaee9d19d4c3d3154536347e9904cb9.zip
More precise merge key for organization and person
-rw-r--r--ishtar_common/models.py18
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: