/**
  * Enregistrement d'une action
  * @param  object $object    [description]
  * @param  string $action      [description]
  * @param  mixed  $from_user   [description]
  * @param  mixed  $to_user     [description]
  * @param  mixed  $child_object Peut ĂȘtre un objet enfant ou juste le type de cet objet
  * @return [type]              [description]
  */
 public function record($object, $action, $from_user = null, $child_object = null, $to_user = null)
 {
     $instantiator = new \Doctrine\Instantiator\Instantiator();
     $activity = $instantiator->instantiate($this->activity_class);
     $activity->setDate(new \DateTime());
     $activity->setObject($object);
     $activity->setObjectType($this->getClassBasename($object));
     $activity->setAction($action);
     if (!is_null($from_user) && $from_user instanceof AdvancedUserInterface) {
         $activity->setFromUser($from_user);
     }
     if (!is_null($to_user) && $to_user instanceof AdvancedUserInterface) {
         $activity->setToUser($to_user);
     }
     if (!is_null($child_object)) {
         if (is_object($child_object)) {
             $activity->setChildObject($child_object);
             $activity->setChildObjectType($this->getClassBasename($child_object));
         } else {
             $activity->setChildObjectType($child_object);
         }
     }
     $this->dm->persist($activity);
     $this->dm->flush();
 }
 /**
  * Gestion des messages apres leur envoi
  * @param  Swift_Events_SendEvent  $event [description]
  * @return [type]        [description]
  */
 public function sendPerformed(\Swift_Events_SendEvent $evt)
 {
     if ($evt->getResult() === \Swift_Events_SendEvent::RESULT_SUCCESS && $this->enabled == true) {
         // Création de l'activity
         $activity = $this->createActivity($evt->getMessage());
         $this->dm->persist($activity);
         $this->dm->flush();
     }
 }