add redirecting slugs after saving

This commit is contained in:
Laura Klünder 2017-06-18 22:46:50 +02:00
parent ad8654de80
commit 1b41bafa4f
2 changed files with 10 additions and 7 deletions

View file

@ -220,13 +220,6 @@ def edit(request, pk=None, model=None, level=None, space=None, on_top_of=None, e
if title:
obj.titles[language] = title
if form.redirect_slugs is not None:
for slug in form.add_redirect_slugs:
obj.redirects.create(slug=slug)
for slug in form.remove_redirect_slugs:
obj.redirects.filter(slug=slug).delete()
if level is not None:
obj.level = level
@ -237,6 +230,14 @@ def edit(request, pk=None, model=None, level=None, space=None, on_top_of=None, e
obj.on_top_of = on_top_of
obj.save()
if form.redirect_slugs is not None:
for slug in form.add_redirect_slugs:
obj.redirects.create(slug=slug)
for slug in form.remove_redirect_slugs:
obj.redirects.filter(slug=slug).delete()
form.save_m2m()
# request.changeset.changes.all().delete()

View file

@ -717,6 +717,8 @@ class RelatedManagerWrapper(ManagerWrapper):
return super().all()
def create(self, *args, **kwargs):
if self.instance.pk is None:
raise TypeError
kwargs[self._obj.field.name] = self.instance
super().create(*args, **kwargs)