Checking ALLOW_DELETE in a decorator

If the check is in the delete() method, when a resource overwrites the method
the check is lost. This way, we can freely overload any method and the check
will still be performed.