/**
  * Logs audit event
  * @param string $eventName
  * @param array $data
  * @param Project $project
  * @param User $user
  * @return boolean
  */
 public static function logAuditEvent($eventName, Project $project, $data = null, User $user = null)
 {
     assert('is_string($eventName)  && $eventName  != ""');
     assert('$project->id > 0');
     if ($user === null) {
         $user = Yii::app()->user->userModel;
         if (!$user instanceof User) {
             throw new NoCurrentUserSecurityException();
         }
     }
     $projectAuditEvent = new ProjectAuditEvent();
     $projectAuditEvent->dateTime = DateTimeUtil::convertTimestampToDbFormatDateTime(time());
     $projectAuditEvent->eventName = $eventName;
     $projectAuditEvent->user = $user;
     $projectAuditEvent->project = $project;
     $projectAuditEvent->serializedData = serialize($data);
     //Removed the validation on save to fix: https://www.pivotaltracker.com/story/show/70712466
     $saved = $projectAuditEvent->save(false);
     if ($saved) {
         return true;
     } else {
         throw new FailedToSaveModelException();
     }
 }