﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
19044	Allow get_success_url to access self. object in DeletionMixin	anonymous	Simon Charette	"Let's say I have object with parent set and once object is deleted, browser should be redirected to parent page.

Expected way to work is:
{{{
#!python
url(r'^object/(?P<pk>\d+)/delete/$', DeleteView.as_view(model=Object, success_url='/parent/%(parent_id)d/'), name='object_delete')
}}}

This can be achieved by evaluating success_url first and then deleting object:
{{{
#!python
class DeletionMixin(object):
    """"""
    A mixin providing the ability to delete objects
    """"""
    success_url = None

    def delete(self, request, *args, **kwargs):
        self.object = self.get_object()
        success_url = self.get_success_url()
        self.object.delete()
        return HttpResponseRedirect(success_url)

    # Add support for browsers which only accept GET and POST for now.
    def post(self, *args, **kwargs):
        return self.delete(*args, **kwargs)

    def get_success_url(self):
        if self.success_url:
            return self.success_url % self.object.__dict__
        else:
            raise ImproperlyConfigured(
                ""No URL to redirect to. Provide a success_url."")
}}}"	Cleanup/optimization	assigned	Generic views	master	Normal				Ready for checkin	1	0	0	0	1	0
