Contributors have the Delete privilege.
In libraries and lists with Content Approval switched on, our policy is:
- Contributors may not delete draft items submitted by other users.
- Contributors may not delete items with running workflows.
- Contributors may not delete approved items.
I am attempting to build a workflow (called Deletion) in Sharepoint Designer to enforce this policy. (I think a workflow is much better than creating a custom permission level based on the Contribute permission but with the Delete privilege removed.)
The Deletion workflow should be started automatically when a Contributor attemps to delete an item, for example by clicking the Delete item on the item's Edit menu. In Sharepoint Designer, on the workflows settings page in the Start Options section, there are only options for starting the workflow when the item is created or changed.
I think I have to catch an event like BeforeItemDelete or something like that.