Example #1
0
 public function toUpdateStatusAction(Request $request)
 {
     if ($this->get('security.context')->isGranted('ROLE_VIEWPRODUCTO')) {
         $id = $request->request->get('id');
         $em = $this->getDoctrine()->getManager();
         $statusId = $request->get("status");
         $comentarios = $request->get("comentarios");
         $em = $this->getDoctrine()->getManager();
         $pedido = $em->getRepository('BackendCustomerAdminBundle:Pedido')->find($id);
         $status = $em->getRepository('BackendCustomerAdminBundle:Status')->find($statusId);
         $proceso = new Proceso();
         $proceso->setPedido($pedido);
         $proceso->setStatus($status);
         if ($comentarios) {
             $proceso->setComentarios($comentarios);
         }
         $em->persist($proceso);
         $pedido->addProceso($proceso);
         $em->persist($pedido);
         $em->flush();
         $cliente = $pedido->getCustomer();
         $sucursal = $pedido->getSucursal();
         $this->sendStatusPedidosEmails($cliente, $sucursal, $status, $comentarios);
         $data['ok'] = true;
         $data['status'] = $status->getName();
     }
     $response = new Response(json_encode($data));
     $response->headers->set('Content-Type', 'application/json');
     return $response;
 }
Example #2
0
 public function realizarPedidoAction(Request $request)
 {
     $resultado = array("status" => 1, "message" => 'No llega');
     $em = $this->getDoctrine()->getManager();
     $session = $this->getRequest()->getSession();
     if ($session->get("login")) {
         try {
             $sucursalId = $request->get("sucursal");
             $direccionId = $request->get("direccionid");
             $sucursal = $em->getRepository('BackendCustomerAdminBundle:Sucursal')->find($sucursalId);
             $direccion = $em->getRepository('BackendCustomerAdminBundle:Direccion')->find($direccionId);
             $customer = $em->getRepository('BackendCustomerBundle:Customer')->find($session->get("customer")->getId());
             $paymethod = $em->getRepository('BackendAdminBundle:PayMethod')->findOneByName("Efectivo");
             $pedido = new Pedido();
             $pedido->setCustomer($customer);
             $pedido->setSucursal($sucursal);
             $pedido->setPagado(false);
             // Nunca va a ir como pagado por ahora
             $pedido->setDireccion($direccion);
             $pedido->setTotal($request->get("total"));
             $pedido->setComentarios($request->get("comentario"));
             $pedido->setPaymethod($paymethod);
             $em->persist($pedido);
             $em->flush();
             //le pongo al pedido como pendiente ni bien lo creo
             $status = $em->getRepository('BackendCustomerAdminBundle:Status')->findOneByName("Pendiente");
             $proceso = new Proceso();
             $proceso->setPedido($pedido);
             $proceso->setStatus($status);
             $proceso->setComentarios("Pedido creado");
             $em->persist($proceso);
             $em->flush();
             if ($request->get("productos")) {
                 $productos = $request->get("productos");
                 foreach ($productos as $p) {
                     $detalle = new Detalle();
                     $producto = $em->getRepository('BackendCustomerAdminBundle:Producto')->find($p["id"]);
                     $detalle->setProducto($producto);
                     $detalle->setPedido($pedido);
                     $detalle->setCantidad($p["quantity"]);
                     $detalle->setPrecio($p["price"]);
                     $detalle->setVariedades($p["variedad"]);
                     $em->persist($detalle);
                     $em->flush();
                 }
             }
             $resultado["status"] = 0;
             $resultado["message"] = "pedido creado";
             $this->sendPedidosEmails($customer, $sucursal);
             // pasaba customer y sucursal
         } catch (Exception $e) {
             $resultado["status"] = 1;
             $resultado["message"] = "no pudo crearse el pedido";
         }
     }
     $response = new Response(json_encode($resultado));
     $response->headers->set('Content-Type', 'application/json');
     return $response;
 }