/** * 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)); }
/** * 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(), // )); }