validate slug properly

This commit is contained in:
Laura Klünder 2018-12-25 23:11:56 +01:00
parent b241c5f0d7
commit 62cd3c8d48
2 changed files with 21 additions and 0 deletions

View file

@ -1,6 +1,7 @@
import json
import operator
import os
from django.core.validators import validate_slug
from functools import reduce
from itertools import chain
@ -176,6 +177,7 @@ class EditorFormBase(I18nModelFormMixin, ModelForm):
self.add_redirect_slugs = None
self.remove_redirect_slugs = None
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.fields['redirect_slugs'] = CharField(label=_('Redirecting Slugs (comma seperated)'), required=False,
initial=','.join(self.redirect_slugs))

View 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'),
),
]