Cancelling action from IContentHandler

Topics: Core
Dec 2, 2014 at 2:04 AM

I have cross posted this to Stackoverflow: http://stackoverflow.com/questions/27240678/orchard-cms-how-to-cancel-a-remove-event

I have created some code to disallow deletion of a Content Item if that item has any localized Dependencies. To do this I created a new "extension" interface and (default)class within Orchard.Framework.ContentManagement, and then created a new class within the Orchard.Localization modul, using the SuppressDependency attribute. It returns a simple Boolean value based on a query to see if there are any ContentItems that list the current item as their MasterContentItem

This is called from the AdminController within Orchard.Core.Contents, and if it returns true then I add a message and redirect to the returnUrl, otherwise the removal continues as normal.

All of this is working perfectly.

HOWEVER, I would like to refactor this to take advantage of the existing infrastructure with IContentManager and add a Removing() method to the LocalizationPartHandler.

My question is - is it possible to "cancel" the remove action based on output of ContentHandler invoked earlier...