Beispiel #1
0
 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);
                     }
                 }
             }
         }
     }
 }