/**
  * @return \Illuminate\View\View
  */
 public function index()
 {
     $productos_all = productos::with('user')->where('deleted_at', null)->get()->shuffle();
     $baner = rand(1, 4);
     $link = baner::findOrFail($baner);
     //dd($link);
     $productos_all = $productos_all->take(20);
     $productos_patrocinados = productos::where('patrocinado', '>', 0)->where('deleted_at', null)->orderBy('updated_at', 'desc')->take(4)->get()->shuffle();
     return view('frontend.index')->with('productos', $productos_all)->with('patrocinados', $productos_patrocinados)->with('baner', $baner)->with('link', $link->link);
 }
Exemple #2
0
 /**
  * @return descarga
  * crea el archivo de descarga e inicia su descarga basado en la busqueda
  **/
 public function descargar($busquedas)
 {
     /**
      * funcion de busqueda no regresa todos los campos y ocupa poner los provedores arraglar eso
      **/
     $results = null;
     $query = $busquedas;
     $keyword = explode(' ', $query);
     $busqueda = \App\productos::where('producto', 'LIKE', $query . '%');
     foreach ($keyword as $key) {
         $busqueda = $busqueda->orWhere('producto', 'LIKE', $key . '%');
     }
     $busqueda = $busqueda->orWhere('codigo', 'LIKE', $key . '%')->orderBy('precio', 'asc');
     $GLOBALS['results'] = $busqueda->get();
     if (!count($GLOBALS['results']) > 0) {
         $GLOBALS['results'] = collect(['Busqueda sin resultados']);
     }
     // dd($results);
     $archivo = Excel::create('Busqueda_911arq.com', function ($excel) {
         // Set the title
         $excel->setTitle('Busqueda');
         // Chain the setters
         $excel->setCreator('911arq.com')->setCompany('911arq.com');
         // Call them separately
         $excel->setDescription('Resultados de 911arq.com');
         //$GLOBALS['results']->groupBy('user_id');
         foreach ($GLOBALS['results']->groupBy('user_id') as $productos) {
             // optiene la informacion del provedor
             $tienda = user::where('id', $productos[0]->user_id)->first();
             // crea la pagina y la llama con el nombre del provedor
             $excel->sheet($tienda->name, function ($sheet) use($productos, $tienda) {
                 $sheet->setOrientation('landscape');
                 // agrega 5 lineas a la pagina con la informacion del provedor y encabezados de columnas
                 // $sheet->appendRow(1,array($tienda->name));
                 $sheet->rows(array(array($tienda->name), array($tienda->razon_social), array($tienda->direccion), array($tienda->telefono), array('----------------------RESULTADOS----------------------'), array('Producto', 'Precio', 'Codigo', 'Unidad')));
                 $contador = 0;
                 foreach ($productos as $producto) {
                     $sheet->appendRow(7 + $contador, array($producto->producto, $producto->precio, $producto->codigo, $producto->unidad));
                     $contador = $contador + 1;
                 }
             });
             //exel->sheet
         }
     })->download('xls');
     //  dd($archivo);
     //  $hoja =$archivo->sheet('Resultados');
     //$hoja->fromArray($results->toArray());
     //->fromArray($results->toArray());
     //dd($hoja);
     return redirect()->back();
 }
 public function procesarUpdate(Request $request)
 {
     // $this->validate($request, [
     //     'producto' => 'required',
     //     'codigo' => 'required',
     //     'precio' => 'required',
     //     'categoria' => 'required',
     // ]);
     $GLOBALS['er'] = false;
     $GLOBALS['mensaje'] = 'Se encontro un error en los siguientes codigos de producto ';
     if (Input::hasFile('productos')) {
         $ruta = base_path() . '/public/file/';
         $nombreArchivo = Input::file('productos')->getClientOriginalName();
         $archivo = Input::file('productos')->move($ruta, $nombreArchivo);
         $ex = Excel::load($ruta . $nombreArchivo, function ($archivo2) {
             $resultado = $archivo2->get();
             foreach ($resultado as $key => $value) {
                 $duplicados = new productos();
                 $codigo = $value->__get('codigo');
                 $precio = $value->__get('precio');
                 $duplicados = productos::where('codigo', $codigo)->where('user_id', $this->auth->user()->id)->get();
                 if ($duplicados->codigo = $codigo) {
                     $duplicados = productos::where('codigo', $codigo)->where('user_id', $this->auth->user()->id)->update(['precio' => $precio]);
                 } else {
                     $GLOBALS['mensaje'] = $GLOBALS['mensaje'] . ', ' . $codigo;
                     $GLOBALS['er'] = true;
                 }
             }
         });
         if ($GLOBALS['er']) {
             return redirect()->route('productos')->withFlashDanger($GLOBALS['mensaje'] . ' su precio no fue actualizado.');
         } else {
             return redirect()->route('productos')->withFlashSuccess("Actualizacion exitosa.");
         }
     } else {
         return redirect()->route('productos')->withFlashWarning("Error al subir el archivo");
     }
 }
 /**
  * @param $id
  * @param $input
  * @param $roles
  * @return bool
  * @throws GeneralException
  */
 public function update($id, $input, $roles, $permissions)
 {
     $user = $this->findOrThrowException($id);
     $this->checkUserByEmail($input, $user);
     if ($user->update($input)) {
         //For whatever reason this just wont work in the above call, so a second is needed for now
         $user->status = isset($input['status']) ? 1 : 0;
         $user->confirmed = isset($input['confirmed']) ? 1 : 0;
         $user->patrocinados = isset($input['patrocinados']) ? 1 : 0;
         $user->razon_social = $input['razon_social'];
         $user->encargado = $input['encargado'];
         //Cambiar el estado de patrocinio de todos los productos asociados a este provedor
         \App\productos::where('user_id', $user->id)->update(['patrocinado' => $user->patrocinados]);
         $user->save();
         $this->checkUserRolesCount($roles);
         $this->flushRoles($roles, $user);
         $this->flushPermissions($permissions, $user);
         return true;
     }
     throw new GeneralException('Se encontro un problema actualizado este provedor. Intente nuevamente.');
 }