public static function borrar() { $respuesta = array(); $input = array(); $reglas = array('id' => array('integer')); $validator = Validator::make($input, $reglas); if ($validator->fails()) { $respuesta['mensaje'] = $validator; $respuesta['error'] = true; } else { $carrito = Carrito::find(Session::get('carrito')); //$carrito->fecha_baja = date("Y-m-d H:i:s"); $carrito->estado = 'B'; //$archivo->usuario_id_baja = Auth::user()->id; $carrito->save(); Cart::destroy(); Session::forget('carrito'); $respuesta['mensaje'] = 'Carrito eliminado.'; $respuesta['error'] = false; $respuesta['data'] = $carrito; } return $respuesta; }
public function agregarPedido() { $input = Input::all(); Input::flashOnly('nombre', 'email', 'empresa', 'telefono', 'consulta'); $reglas = array('email' => array('required', 'email'), 'nombre' => array('required'), 'telefono' => array('required')); $validator = Validator::make($input, $reglas); if ($validator->fails()) { $messages = $validator->messages(); if ($messages->has('nombre')) { $mensaje = $messages->first('nombre'); } elseif ($messages->has('email')) { $mensaje = $messages->first('email'); } elseif ($messages->has('telefono')) { $mensaje = $messages->first('telefono'); } else { $mensaje = Lang::get('controllers.pedido.datos_consulta_contacto_incorrectos'); } return Redirect::to('/carrito')->with('mensaje', $mensaje)->with('error', true)->withInput(); } else { $productos = array(); if (Session::has('carrito')) { $carrito_id = Session::get('carrito'); $carrito = Carrito::find($carrito_id); $datos = DB::table('carrito_producto')->where('carrito_id', $carrito->id)->where('estado', 'A')->get(); foreach ($datos as $prod) { $data = array('id' => $prod->producto_id, 'cantidad' => $prod->cantidad, 'precio' => $prod->precio); array_push($productos, $data); } } if (count($productos) == 0) { $mensaje = Lang::get('controllers.pedido.debe_tener_producto'); return Redirect::to('/carrito')->with('mensaje', $mensaje)->with('error', true)->withInput(); } else { //Levanto los datos del formulario del presupuesto para //generar la persona correspondiente al pedido $datos_persona = array('email' => Input::get('email'), 'apellido' => Input::get('nombre'), 'nombre' => Input::get('empresa'), 'tipo_telefono_id' => 2, 'telefono' => Input::get('telefono')); $persona = Persona::agregar($datos_persona); if ($persona['error']) { $mensaje = Lang::get('controllers.pedido.error_realizar_pedido'); return Redirect::to('/carrito')->with('mensaje', $mensaje)->with('error', true); } else { $datos_pedido = array('persona_id' => $persona['data']->id, 'productos' => $productos); $respuesta = Pedido::agregar($datos_pedido); if ($respuesta['error']) { return Redirect::to('/carrito')->with('mensaje', $respuesta['mensaje'])->with('error', true); } else { $datos_resumen_pedido = array('persona_id' => $persona['data']->id, 'productos' => $productos, 'email' => Input::get('email'), 'nombre' => Input::get('nombre'), 'telefono' => Input::get('telefono'), 'empresa' => Input::get('empresa'), 'consulta' => Input::get('consulta')); $envio_mail = $this->resumenPedido($datos_resumen_pedido); if ($envio_mail) { Cart::destroy(); Session::forget('carrito'); $mensaje = Lang::get('controllers.pedido.presupuesto_enviado'); return Redirect::to('/')->with('mensaje', $mensaje)->with('ok', true); } else { $mensaje = Lang::get('controllers.pedido.presupuesto_no_enviado'); return Redirect::to('/carrito')->with('mensaje', $mensaje)->with('error', true); } } } } } }