summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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: