validate slug properly
This commit is contained in:
parent
b241c5f0d7
commit
62cd3c8d48
2 changed files with 21 additions and 0 deletions
|
@ -1,6 +1,7 @@
|
||||||
import json
|
import json
|
||||||
import operator
|
import operator
|
||||||
import os
|
import os
|
||||||
|
from django.core.validators import validate_slug
|
||||||
from functools import reduce
|
from functools import reduce
|
||||||
from itertools import chain
|
from itertools import chain
|
||||||
|
|
||||||
|
@ -176,6 +177,7 @@ class EditorFormBase(I18nModelFormMixin, ModelForm):
|
||||||
self.add_redirect_slugs = None
|
self.add_redirect_slugs = None
|
||||||
self.remove_redirect_slugs = None
|
self.remove_redirect_slugs = None
|
||||||
if 'slug' in self.fields:
|
if 'slug' in self.fields:
|
||||||
|
self.fields['slug'].validators.append(validate_slug)
|
||||||
self.redirect_slugs = sorted(self.instance.redirects.values_list('slug', flat=True))
|
self.redirect_slugs = sorted(self.instance.redirects.values_list('slug', flat=True))
|
||||||
self.fields['redirect_slugs'] = CharField(label=_('Redirecting Slugs (comma seperated)'), required=False,
|
self.fields['redirect_slugs'] = CharField(label=_('Redirecting Slugs (comma seperated)'), required=False,
|
||||||
initial=','.join(self.redirect_slugs))
|
initial=','.join(self.redirect_slugs))
|
||||||
|
|
19
src/c3nav/mapdata/migrations/0008_validate_slug.py
Normal file
19
src/c3nav/mapdata/migrations/0008_validate_slug.py
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
# Generated by Django 2.1.4 on 2018-12-25 22:01
|
||||||
|
|
||||||
|
import c3nav.mapdata.models.locations
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('mapdata', '0007_location_group_help_text'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='locationslug',
|
||||||
|
name='slug',
|
||||||
|
field=models.SlugField(blank=True, null=True, unique=True, validators=[c3nav.mapdata.models.locations.validate_slug], verbose_name='Slug'),
|
||||||
|
),
|
||||||
|
]
|
Loading…
Add table
Add a link
Reference in a new issue