/**
  * @param  string $id
  * @return void
  */
 public function delete($idOrModel)
 {
     if ($idOrModel instanceof UserModel) {
         $user = $idOrModel;
     } else {
         $user = $this->load($idOrModel);
     }
     parent::delete($user);
     try {
         $filterList = DownloadReportService::getInstance()->buildFilterList(array());
         DownloadReportService::getInstance()->deleteAll($filterList, array('overrideDefaultFilter' => array('owner' => $user->id)));
     } catch (\Exception $e) {
         \App::log()->warn($e);
         // Nothing to do
     }
     WatcherService::getInstance()->removeByScope('user', $user->id);
     try {
         $this->sendEmailRemove($user);
     } catch (\Exception $e) {
         \App::log()->ERR('[mailto:' . $user->getEmail() . '] ' . $e->getMessage());
     }
     return true;
 }
 protected function _createModelActionEvent($action, $model)
 {
     $event = parent::_createModelActionEvent($action, $model);
     $event->eventData = $event->eventData + array('orgType' => $model->getType());
     return $event;
 }