Exemple #1
0
 /**
  * Creates a new Orden entity.
  *
  * @Route("/admin/sale/register", name="admin_register_sale")
  * @Method({"GET", "POST"})
  */
 public function newAction(Request $request)
 {
     $usuario = $this->get('security.token_storage')->getToken()->getUser();
     $promotion = $this->get('promotion_img')->searchPromotion();
     $em = $this->getDoctrine()->getManager();
     $orden = new Orden();
     $form = $this->createForm('DG\\ImpresionBundle\\Form\\OrdenType', $orden);
     $form->handleRequest($request);
     if ($form->isSubmitted() && $form->isValid()) {
         $parameters = $request->request->all();
         if ($parameters['code-promo'] != 0) {
             $promocion = $em->getRepository('DGImpresionBundle:Promocion')->find($parameters['code-promo']);
             $orden->setPromocion($promocion);
         }
         // Si se va a registrar a un cliente existente a la venta
         if ($parameters['customer'] == 'cu-exist') {
             $cliente = $em->getRepository('DGImpresionBundle:Cliente')->find($parameters['orden']['cliente']);
             $orden->setCliente($cliente);
             // Si se va a registrar una direccion existente del cliente
             if (isset($parameters['address'])) {
                 if ($parameters['address'] == 'ad-exist') {
                     $direccion = $em->getRepository('DGImpresionBundle:Direccion')->find($parameters['orden']['direccionEnvio']);
                     $orden->setDireccionEnvio($direccion);
                     // Si se va a registrar una nueva direccion del cliente
                 } else {
                     $direccion = new \DG\ImpresionBundle\Entity\Direccion();
                     $direccion->setName($parameters['direccion']['name']);
                     $direccion->setLinea1($parameters['direccion']['linea1']);
                     $direccion->setLinea2($parameters['direccion']['linea2']);
                     $direccion->setCity($parameters['direccion']['city']);
                     $direccion->setState($parameters['direccion']['state']);
                     $direccion->setCountry($parameters['direccion']['country']);
                     $direccion->setPhoneNumber($parameters['direccion']['phoneNumber']);
                     $direccion->setZipCode($parameters['direccion']['zipCode']);
                     $direccion->setSecurityAccessCode($parameters['direccion']['securityAccessCode']);
                     $direccion->setDefaultDir(1);
                     $em->persist($direccion);
                     $em->flush();
                     $orden->setDireccionEnvio($direccion);
                 }
             }
             // Si se va a registrar un nuevo cliente a la venta
         } else {
             $persona = new \DG\ImpresionBundle\Entity\Persona();
             $persona->setNombres($parameters['cliente']['first_name']);
             $persona->setApellidos($parameters['cliente']['last_name']);
             $persona->setTelefono($parameters['cliente']['phone']);
             $persona->setEstado(1);
             $em->persist($persona);
             $em->flush();
             $cliente = new \DG\ImpresionBundle\Entity\Cliente();
             $cliente->setPersona($persona);
             $cliente->setEstado(1);
             $cliente->setTelefono($parameters['cliente']['phone-2']);
             $cliente->setEmail($parameters['cliente']['email']);
             $cliente->setOtro($parameters['cliente']['other']);
             $em->persist($cliente);
             $em->flush();
             $orden->setCliente($cliente);
             if (isset($direccion)) {
                 $em->persist($direccion);
                 $em->flush();
                 $orden->setDireccionEnvio($direccion);
                 $direccion = new \DG\ImpresionBundle\Entity\Direccion();
                 $direccion->setName($parameters['direccion']['name']);
                 $direccion->setLinea1($parameters['direccion']['linea1']);
                 $direccion->setLinea2($parameters['direccion']['linea2']);
                 $direccion->setCity($parameters['direccion']['city']);
                 $direccion->setState($parameters['direccion']['state']);
                 $direccion->setCountry($parameters['direccion']['country']);
                 $direccion->setPhoneNumber($parameters['direccion']['phoneNumber']);
                 $direccion->setZipCode($parameters['direccion']['zipCode']);
                 $direccion->setSecurityAccessCode($parameters['direccion']['securityAccessCode']);
                 $direccion->setDefaultDir(1);
                 $em->persist($direccion);
                 $em->flush();
                 $orden->setDireccionEnvio($direccion);
             }
         }
         $orden->setReembolso(0);
         $orden->setFechaPago(new \DateTime('now'));
         $orden->setFechaAccion(new \DateTime('now'));
         $orden->setEstado('sas');
         if ($parameters['code-promo'] != '') {
             $promocion = $em->getRepository('DGImpresionBundle:Promocion')->find($parameters['code-promo']);
             if ($promocion != NULL) {
                 $orden->setPorcentaje($promocion->getPorcentaje());
                 $orden->setCodigoUsado($promocion->getCodigo());
             } else {
                 $orden->setPorcentaje(0);
                 $orden->setCodigoUsado('-');
             }
             //$orden->setPromocion($promocion);
         }
         $em = $this->getDoctrine()->getManager();
         $em->persist($orden);
         $em->flush();
         foreach ($parameters['selectDesigns'] as $key => $prod) {
             $detalleorden = new \DG\ImpresionBundle\Entity\DetalleOrden();
             $product = $em->getRepository('DGImpresionBundle:Categoria')->find($prod);
             $detalleorden->setArchivo($parameters['file-design'][$key]);
             //move_uploaded_file($_FILES['file-design']['tmp_name'], $path.$archivo_subir);
             $detalleorden->setEstado('ad');
             $detalleorden->setCategoria($product);
             $detalleorden->setOrden($orden);
             if ($product->getCategoria()->getId() != 38) {
                 $tax = $em->getRepository('DGImpresionBundle:Tax')->find(1);
                 $valor_tax = $tax->getValor();
                 $detalleorden->setTax($valor_tax);
             } else {
                 $detalleorden->setTax(0);
             }
             $em->persist($detalleorden);
             $em->flush();
             $total = 0;
             foreach ($parameters as $i => $p) {
                 $atributo = new \DG\ImpresionBundle\Entity\AtributoProductoOrden();
                 $val = explode("-", $i);
                 if ($val[0] == 'attributes' && $val[1] == $key) {
                     $opcion = $em->getRepository('DGImpresionBundle:OpcionProducto')->find($p);
                     $atributo->setOpcionProducto($opcion);
                     $atributo->setDetalleOrden($detalleorden);
                     $em->persist($atributo);
                     $em->flush();
                     $total += $atributo->getOpcionProducto()->getCosto();
                 }
             }
             //var_dump($total);
             $detalleorden->setMonto($total);
             $em->merge($detalleorden);
             $em->flush();
         }
         //die();
         return $this->redirectToRoute('admin_store_sale');
     }
     $dql = "SELECT p " . "FROM DGImpresionBundle:Categoria p " . "WHERE p.categoria IS NOT NULL AND p.estado = 1 AND p.categoria <> 1 ";
     $categorias = $em->createQuery($dql)->getResult();
     $promocions = $em->getRepository('DGImpresionBundle:Promocion')->findAll();
     $tax = $em->getRepository('DGImpresionBundle:Tax')->find(1);
     return $this->render('orden/new.html.twig', array('orden' => $orden, 'categorias' => $categorias, 'promociones' => $promocions, 'form' => $form->createView(), 'promotion' => $promotion, 'tax' => $tax));
 }
Exemple #2
0
 /**
  * Creates a new Usuario entity.
  *
  * @Route("/registeruser/register", name="admin_usuario_register")
  * @Method({"GET", "POST"})
  */
 public function registerAction(Request $request)
 {
     $em = $this->getDoctrine()->getManager();
     $usuario = new Usuario();
     $persona = new Persona();
     $form = $this->createForm('DG\\ImpresionBundle\\Form\\UsuarioType', $usuario);
     $form->handleRequest($request);
     //        var_dump($_POST['email']);
     $usuarioBuscar = "";
     if ($_POST['email'] != "" && $_POST['password'] != "") {
         if ($_POST['re-password'] != $_POST['password']) {
             $mensaje = "Las contraseñas deben ser iguales";
             return $this->render('usuario/accountcreated.html.twig', array('mensaje' => $mensaje, 'redirect' => 'Try again', 'header' => 'Error...'));
         }
         $usuarioBuscar = $em->getRepository('DGImpresionBundle:Usuario')->findBy(array('email' => $_POST['email'], 'username' => $_POST['username']));
         if (count($usuarioBuscar) == 0) {
             //var_dump('usuario no existe,crearlo');
             $persona->setNombres($_POST['firstname']);
             $persona->setApellidos($_POST['lastname']);
             $usuario->setPassword($_POST['password']);
             //die();
             $persona->setTelefono(null);
             $persona->setEstado(1);
             $usuario->setEstado(1);
             //evalua si la contraseña fue modificada: ------------------------
             $this->setSecurePassword($usuario);
             $usuario->setPersona($persona);
             //$usuario->setPersona();
             $usuario->setEmail($_POST['email']);
             //$usuario->setPassword($_POST['email']);
             $rol = $em->getRepository('DGImpresionBundle:Rol')->find(2);
             $usuario->addRol($rol);
             $usuario->setUsername($_POST['username']);
             $usuario->isEnabled(1);
             //var_dump($usuario);
             //var_dump($_POST);
             //if ($form->isSubmitted()) {
             //establecemos la contraseña: --------------------------
             $em->persist($persona);
             $em->persist($usuario);
             //$em->persist($usuario);
             $em->flush();
             $cliente = new Cliente();
             $cliente->setEstado(1);
             $cliente->setEmail($_POST['email']);
             $cliente->setPersona($persona);
             $em->persist($cliente);
             $em->flush();
             $mensaje = "Cuenta creada con éxito";
             //return $this->redirectToRoute('admin_usuario_show', array('id' => $usuario->getId()));
             //return $this->redirectToRoute('admin_account_created');
             return $this->render('usuario/accountcreated.html.twig', array('mensaje' => $mensaje, 'redirect' => 'Login', 'header' => 'Account created'));
         } else {
             $mensaje = "El correo o el nombre de usuario proporcionado ya existe";
             return $this->render('usuario/accountcreated.html.twig', array('mensaje' => $mensaje, 'redirect' => 'Login', 'header' => 'Error...'));
             //var_dump('usuario existe, no se creo usuario');
         }
     } else {
         $mensaje = "Debe ingresar un correo";
         if ($_POST['password'] == "") {
             $mensaje = "Debe una contraseña";
         }
         return $this->render('usuario/accountcreated.html.twig', array('mensaje' => $mensaje, 'redirect' => 'Try again', 'header' => 'Error...'));
     }
     //var_dump($usuarioBuscar);
     //die();
     //}
     //$mensaje=null;
     //        return $this->render('DGImpresionBundle:Secured:login.html.twig', array(
     //            'usuario' => $usuario,
     //            'mensaje' => $mensaje,
     //            'form' => $form->createView(),
     //        ));
 }