public function guardarActionPrePersist($entity, $editForm)
 {
     // Crear o actualizar un requisito asociado
     $RequisitoEspejo = $entity->getRequisitoEspejo();
     if (!$RequisitoEspejo) {
         $RequisitoEspejo = new \Yacare\TramitesBundle\Entity\Requisito();
     }
     $RequisitoEspejo->setTramiteTipoEspejo($entity);
     $RequisitoEspejo->setTipo('tra');
     $RequisitoEspejo->setNombre('(trámite) ' . (string) $entity);
     $entity->setRequisitoEspejo($RequisitoEspejo);
     parent::guardarActionPrePersist($entity, $editForm);
 }
 public function guardarActionPrePersist($entity, $editForm)
 {
     // Crear o actualizar un instrumento asociado
     $InstrumentoEspejo = $entity->getInstrumentoEspejo();
     if (!$InstrumentoEspejo) {
         $InstrumentoEspejo = new \Yacare\TramitesBundle\Entity\Instrumento();
     }
     $InstrumentoEspejo->setTipo('com');
     $InstrumentoEspejo->setCodigo($entity->getCodigo());
     $InstrumentoEspejo->setNombre($entity->getNombre());
     $entity->setInstrumentoEspejo($InstrumentoEspejo);
     parent::guardarActionPrePersist($entity, $editForm);
 }
 public function guardarActionPrePersist($entity, $editForm)
 {
     $res = parent::guardarActionPrePersist($entity, $editForm);
     if (!$entity->getComprobanteTipo()) {
         // La propiedad ComprobanteTipo está en blanco... es normal al crear un trámite nuevo
         // Busco el ComprobanteTipo que corresponde a la clase y lo guardo
         $em = $this->getDoctrine()->getManager();
         $NombreClase = '\\' . get_class($entity);
         $ComprobanteTipo = $em->getRepository('YacareTramitesBundle:ComprobanteTipo')->findOneBy(array('Clase' => $NombreClase));
         $entity->setComprobanteTipo($ComprobanteTipo);
     }
     return $res;
 }
Beispiel #4
0
 /**
  * Interviene antes de persistir la entidad de modo de permitir que al editar
  * si se deja la contraseña en blanco se conserva la contraseña actual.
  */
 public function guardarActionPrePersist($entity, $editForm)
 {
     // Intervenir la entidad antes de persistir
     if ($entity->getPasswordEnc()) {
         // Guardo el password con hash
         $factory = $this->get('security.encoder_factory');
         $encoder = $factory->getEncoder($entity);
         $encoded_password = $encoder->encodePassword($entity->getPasswordEnc(), $entity->getSalt());
         $entity->setPassword($encoded_password);
     } else {
         // Si la contraseña está en blanco, dejo la original
         $entity->setPasswordEnc($this->PassOriginal);
     }
     return parent::guardarActionPrePersist($entity, $editForm);
 }
 /**
  * Intervengo el guardado para asignar el usuario creador y un encargado predeterminado encaso de que no tenga uno.
  */
 public function guardarActionPrePersist($entity, $editForm)
 {
     if (!$entity->getId()) {
         if (!$entity->getUsuario()) {
             $UsuarioConectado = $this->get('security.token_storage')->getToken()->getUser();
             $entity->setUsuario($UsuarioConectado);
             $entity->setUsuarioNombre((string) $UsuarioConectado);
             $entity->setUsuarioEmail($UsuarioConectado->getEmail());
         }
         if ($entity->getCategoria() && !$entity->getEncargado()) {
             $entity->setEncargado($entity->getCategoria()->getEncargado());
         }
     }
     return parent::guardarActionPrePersist($entity, $editForm);
 }
 public function guardarActionPrePersist($entity, $editForm)
 {
     $em = $this->getEm();
     if (!$entity->getId()) {
         /*
          * No tiene id. Como es parte de un árbol, necesito asignar un id manualmente.
          */
         $nuevoId = $this->getDoctrine()->getManager()->createQuery('SELECT MAX(r.id) FROM YacareComercioBundle:Actividad r')->getSingleScalarResult();
         $entity->setId(++$nuevoId);
         $metadata = $em->getClassMetaData(get_class($entity));
         $metadata->setIdGeneratorType(\Doctrine\ORM\Mapping\ClassMetadata::GENERATOR_TYPE_NONE);
     }
     /*
      * Quito guiones, espacios y puntos del código
      */
     $codigo = trim(str_replace('-', '', str_replace(' ', '', str_replace('.', '', $entity->getClamae2014()))));
     $entity->setClamae2014($codigo);
     /*
      * Calculo el ClaE AFIP y el ClaNAE 2010
      */
     $entity->setClaeAfip(substr($codigo, 0, 6));
     $entity->setClanae2010(substr($codigo, 0, 5));
     /*
      * Busco un ParentNode acorde al código ingresado
      */
     if (strlen($codigo) == 7) {
         // Los códigos finales (de 7 dígitos) dependen de una clase (4 dígitos)
         $codigoPadre = substr($codigo, 0, 4);
         $entity->setFinal(true);
     } elseif (strlen($codigo) == 4) {
         // Las clases (de 4 dígitos) dependen de un grupo (3 dígitos)
         $codigoPadre = substr($codigo, 0, 3);
     } elseif (strlen($codigo) == 3) {
         // Los grupos (de 3 dígitos) dependen de una división (2 dígitos)
         $codigoPadre = substr($codigo, 0, 2);
     } elseif (strlen($codigo) == 2) {
         // Las divisiones (de 2 dígitos) dependen de una categoría (1 letra)
         // Esta estructura es fija del ClaNAE 2010
         $codigo = (int) $codigo;
         if ($codigo <= 4) {
             $codigoPadre = 'A';
         } elseif ($codigo <= 9) {
             $codigoPadre = 'B';
         } elseif ($codigo <= 34) {
             $codigoPadre = 'C';
         } elseif ($codigo <= 35) {
             $codigoPadre = 'D';
         } elseif ($codigo <= 40) {
             $codigoPadre = 'E';
         } elseif ($codigo <= 44) {
             $codigoPadre = 'F';
         } elseif ($codigo <= 48) {
             $codigoPadre = 'G';
         } elseif ($codigo <= 54) {
             $codigoPadre = 'H';
         } elseif ($codigo <= 57) {
             $codigoPadre = 'I';
         } elseif ($codigo <= 63) {
             $codigoPadre = 'J';
         } elseif ($codigo <= 67) {
             $codigoPadre = 'K';
         } elseif ($codigo <= 68) {
             $codigoPadre = 'L';
         } elseif ($codigo <= 76) {
             $codigoPadre = 'M';
         } elseif ($codigo <= 83) {
             $codigoPadre = 'N';
         } elseif ($codigo <= 84) {
             $codigoPadre = 'O';
         } elseif ($codigo <= 85) {
             $codigoPadre = 'P';
         } elseif ($codigo <= 89) {
             $codigoPadre = 'Q';
         } elseif ($codigo <= 93) {
             $codigoPadre = 'R';
         } elseif ($codigo <= 96) {
             $codigoPadre = 'S';
         } elseif ($codigo <= 98) {
             $codigoPadre = 'T';
         } elseif ($codigo <= 99) {
             $codigoPadre = 'U';
         } else {
             $codigoPadre = '';
         }
     } else {
         $codigoPadre = '';
     }
     if ($codigoPadre) {
         $em = $this->getDoctrine()->getManager();
         $parentNode = $em->getRepository('YacareComercioBundle:Actividad')->findOneBy(array('Clamae2014' => $codigoPadre));
         $entity->setParentNode($parentNode);
     }
     $hijos = $em->getRepository('YacareComercioBundle:Actividad')->findBy(array('ParentNode' => $entity->getId()));
     return parent::guardarActionPrePersist($entity, $editForm);
 }
 /**
  * @see \Tapir\BaseBundle\Controller\AbmController::guardarActionPrePersist() AbmController::guardarActionPrePersist()
  */
 public function guardarActionPrePersist($entity, $editForm)
 {
     self::ReordenarActividades($entity);
     parent::guardarActionPrePersist($entity, $editForm);
 }