Instead of using an event handler, you can configure delete_confirmation actions; they can be changed even through the network and can be configured for each type. delete_confirmation script is a CMF Form Controller script , and there are several options for changing its behavior.
Currently, actions are defined as such:
[actions] action.success=redirect_to:python:object.aq_inner.aq_parent.absolute_url() action.confirm=traverse_to:string:delete_confirmation_page
You can add a specific type action, for example by defining action.success.TypeName .
To do this over the Internet, go to ZMI and find the portal_form_controller tool, then go to the Actions tab:

As you can see in this screenshot, there is also documentation for the tool available here.
On the actions tab there is a form for adding new actions:

As you can see, a context type is a drop-down list with all existing type registers to simplify specifying the type action. I copied into the regular action (a redirect_to action specified by the python: expression, and added an extra .aq_parent to select the parent container.
You can also add such an action using the .addFormAction method on the tool:
fctool = getToolByName(context, 'portal_form_controller') fctool.addFormAction('delete_confirmation', 'success', 'Event', None, 'redirect_to', 'python:object.aq_inner.aq_parent.aq_parent.absolute_url()')
Last but not least, you can specify these custom actions in the cmfformcontroller.xml file in the GenericSetup profile; here is an example based on the above action:
<?xml version="1.0" ?> <cmfformcontroller> <action object_id="delete_confirmation" status="success" context_type="Event" action_type="redirect_to" action_arg="python:object.aq_inner.aq_parent.aq_parent.absolute_url()" /> </cmfformcontroller>
This format is one of those underestimated things in Plone; I got this from the CMFFormController source code for the GS import and export code .