public function onPreSave(FilterEntityEvent $event)
 {
     $entity = $event->getEntity();
     /** @var UploadHandler $uploadHandler */
     $uploadHandler = $this->container->get('symfonian_id.admin.handler.upload');
     if ($uploadHandler->isUploadable() && $entity instanceof User) {
         $uploadDir = $this->container->getParameter('symfonian_id.admin.upload_dir');
         $uploadHandler->setUploadDir($uploadDir['server_path']);
         $uploadHandler->upload($entity);
     }
 }
 public function onDeleteUser(FilterEntityEvent $event)
 {
     $entity = $event->getEntity();
     if (!$entity instanceof UserInterface) {
         return;
     }
     if ($this->user->getUsername() === $entity->getUsername()) {
         $response = new JsonResponse(array('status' => false, 'message' => $this->translator->trans('message.cant_delete_your_self', array(), $this->container->getParameter('symfonian_id.admin.translation_domain'))));
         $event->setResponse($response);
     }
 }
 /**
  * @param FilterEntityEvent $event
  */
 public function onPreSaveUser(FilterEntityEvent $event)
 {
     $entity = $event->getEntity();
     if (!$entity instanceof User) {
         return;
     }
     if ($entity->getId() || $entity->isEnabled()) {
         return;
     }
     if (!$this->container->getParameter('symfonian_id.admin.security.auto_enable')) {
         return;
     }
     $entity->setEnabled(true);
 }
 /**
  * @param FilterEntityEvent $event
  */
 public function onPreSaveUser(FilterEntityEvent $event)
 {
     $entity = $event->getEntity();
     if (!$entity instanceof TimestampableInterface) {
         return;
     }
     $token = $this->tokenStorage->getToken();
     if (!$token) {
         return;
     }
     $now = new \DateTime();
     $username = $token->getUsername();
     if (!$entity->getId()) {
         $entity->setCreatedAt($now);
         $entity->setCreatedBy($username);
     }
     $entity->setUpdatedAt($now);
     $entity->setUpdatedBy($username);
 }