Make sure pages are unpublished before delete

Fixes #570

Conflicts:
	wagtail/wagtailcore/models.py
This commit is contained in:
Karl Hobley 2014-08-26 10:57:29 +01:00
parent 67953bccea
commit 83d848d692
2 changed files with 9 additions and 4 deletions

View file

@ -362,10 +362,6 @@ def delete(request, page_id):
raise PermissionDenied
if request.POST:
if page.live:
# Unpublish the page
page.unpublish()
parent_id = page.get_parent().id
page.delete()

View file

@ -9,6 +9,8 @@ from modelcluster.models import ClusterableModel
from django.db import models, connection, transaction
from django.db.models import get_model, Q
from django.db.models.signals import pre_delete
from django.dispatch.dispatcher import receiver
from django.http import Http404
from django.core.cache import cache
from django.core.handlers.wsgi import WSGIRequest
@ -894,6 +896,13 @@ def get_navigation_menu_items():
return []
@receiver(pre_delete, sender=Page)
def unpublish_page_before_delete(sender, instance, **kwargs):
# Make sure pages are unpublished before deleting
if instance.live:
instance.unpublish()
class Orderable(models.Model):
sort_order = models.IntegerField(null=True, blank=True, editable=False)
sort_order_field = 'sort_order'