Révision bf5d84a3
Ajouté par Serghei Mihai (congés, retour 15/05) il y a plus de 7 ans
corbo/forms.py | ||
---|---|---|
1 | 1 |
from django import forms |
2 | 2 |
from django.utils.translation import ugettext_lazy as _ |
3 | 3 |
from django.utils.text import slugify |
4 |
from django.core.exceptions import ObjectDoesNotExist |
|
4 | 5 |
|
5 | 6 |
from .models import Announce, Category, Broadcast, channel_choices |
6 | 7 |
|
... | ... | |
31 | 32 |
model = Category |
32 | 33 |
|
33 | 34 |
def save(self, commit=True): |
35 |
slug = slugify(self.instance.name) |
|
36 |
base_slug = slug |
|
34 | 37 |
if not self.instance.slug: |
35 |
self.instance.slug = slugify(self.instance.name) |
|
38 |
i = 1 |
|
39 |
while True: |
|
40 |
try: |
|
41 |
c = Category.objects.get(slug=slug) |
|
42 |
except ObjectDoesNotExist: |
|
43 |
break |
|
44 |
i += 1 |
|
45 |
slug = '%s-%s' % (base_slug, i) |
|
46 |
self.instance.slug = slug |
|
36 | 47 |
return super(CategoryForm, self).save(commit=commit) |
Formats disponibles : Unified diff
use unique category slugs in urls (#13791)