/**
  * afterDelete
  *
  * @param Event $event Event
  * @param Attachment $attachment Entity
  * @param ArrayObject $options Options
  * @return void
  */
 public function afterDelete(Event $event, Attachment $attachment, \ArrayObject $options)
 {
     $attachment->deleteFile();
 }
 /**
  * Checks if a downloadAuthorizeCallback was configured and calls it.
  * Will throw an UnauthorizedException if the callback returns false.
  *
  * @param Attachment $attachment Attachment Entity
  * @return void
  * @throws UnauthorizedException
  */
 protected function _checkAuthorization(Attachment $attachment)
 {
     if ($attachmentsBehavior = $attachment->getRelatedTable()->behaviors()->get('Attachments')) {
         $behaviorConfig = $attachmentsBehavior->config();
         if (is_callable($behaviorConfig['downloadAuthorizeCallback'])) {
             $relatedEntity = $attachment->getRelatedEntity();
             $authorized = $behaviorConfig['downloadAuthorizeCallback']($attachment, $relatedEntity, $this->request);
             if ($authorized !== true) {
                 throw new UnauthorizedException(__d('attachments', 'attachments.unauthorized_for_attachment'));
             }
         }
     }
 }