From 481be7d6390974e36cf4bb16b105bd06193e65f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laura=20Kl=C3=BCnder?= Date: Tue, 25 Dec 2018 23:28:22 +0100 Subject: [PATCH] validate redirecting slugs properly --- src/c3nav/editor/forms.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/c3nav/editor/forms.py b/src/c3nav/editor/forms.py index ee97912c..98eaad3f 100644 --- a/src/c3nav/editor/forms.py +++ b/src/c3nav/editor/forms.py @@ -1,7 +1,6 @@ import json import operator import os -from django.core.validators import validate_slug from functools import reduce from itertools import chain @@ -177,7 +176,6 @@ 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)) @@ -208,8 +206,10 @@ class EditorFormBase(I18nModelFormMixin, ModelForm): self.add_redirect_slugs = new_redirect_slugs - old_redirect_slugs self.remove_redirect_slugs = old_redirect_slugs - new_redirect_slugs + model_slug_field = self._meta.model._meta.get_field('slug') for slug in self.add_redirect_slugs: self.fields['slug'].run_validators(slug) + model_slug_field.run_validators(slug) LocationSlug = self.request.changeset.wrap_model('LocationSlug') qs = LocationSlug.objects.filter(slug__in=self.add_redirect_slugs)