create unique slugs for services (#5837)

This commit is contained in:
Frédéric Péters 2014-10-31 14:54:20 +01:00
parent b787391992
commit 47998e1dcd
1 changed files with 11 additions and 1 deletions

View File

@ -37,7 +37,17 @@ class BaseForm(forms.ModelForm):
def save(self, commit=True):
if not self.instance.slug:
self.instance.slug = slugify(self.instance.title)
base_slug = slugify(self.instance.title)
slug = base_slug
i = 1
while True:
try:
self.Meta.model.objects.get(slug=slug)
except self.Meta.model.DoesNotExist:
break
i += 1
slug = '%s-%s' % (base_slug, i)
self.instance.slug = slug
if not self.instance.secret_key:
self.instance.secret_key = get_random_string(50, SECRET_CHARS)
choices = self.get_template_choices()