/**
  * Visualiza la página de bienvenida y la alimenta adecuadamente tras una baja
  * de usuario, evitando que el usuario sepa qué acaba de ocurrir mediante un
  * mensaje informativo de que ya no tiene perfil disponible en la plataforma.
  *
  * @param $baja -  Resultado de la baja del usuario trasladado a la vista.
  * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
  */
 public function destroy($baja)
 {
     //Pasando el resultado guardado en $baja que hemos obtenido del borrado del
     //registro en la basede datos, sabremos en la vista si el mensaje que hemos
     //de transmitir es de éxito, o no.
     //También tendremos que alimentar la vista de forma mínima, como en el index,
     //con los productos que queremos mistrar en la página de bienvenida.
     return view('welcome', ['baja' => $baja, 'producto' => Producto::all()]);
 }
 /**
  * Gestiona la baja del registro del id y tabla pasados por parámetro y realimenta
  * la vista con el mensaje de éxito/error correspondiente.
  *
  * @param $tabla
  * @param $id
  * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
  */
 public function destroy($tabla, $id)
 {
     //Mismo algoritmo que en altas y modificaciones:
     //  - Diferentes cases para cada modelo.
     //  - Guardamos el resultado en un flag
     //  - Retornamos la vista con variables que la realimentan
     //  y le dicen a si mostrar el mensaje de éxito
     //  o un error.
     $borrado = null;
     switch ($tabla) {
         case 'categorias':
             $borrado = Categoria::destroy($id);
             break;
         case 'peticiones':
             $borrado = Peticion::destroy($id);
             break;
         case 'productos':
             $borrado = Producto::destroy($id);
             break;
         case 'subcategorias':
             $borrado = Subcategoria::destroy($id);
             break;
         case 'usuarios':
             $borrado = Usuario::destroy($id);
             break;
         case 'usuarios_productos':
             $borrado = Usuario_producto::destroy($id);
     }
     $resultados = DB::table($tabla)->get();
     $campos = DB::getSchemaBuilder()->getColumnListing($tabla);
     return view('cpanel', ['exito' => $borrado, 'editar' => false, 'nuevo' => false, 'tabla' => $tabla, 'id' => '', 'campos' => $campos, 'resultados' => $resultados, 'tablas' => DB::select('SHOW TABLES'), 'ddbb' => 'Tables_in_' . env('DB_DATABASE')]);
 }
 /**
  * Gestiona la visualización del formulario en caso de que se acceda a él por una llamada get
  * correspondiente al usuario entrando en el perfil por primera vez.
  *
  * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
  */
 public function edit()
 {
     //Alimentamos la vista de forma básica, con todos los datos que necesitamos para volcar los
     //campos del perfil de usuario.
     return view('profile', ['categoria' => Categoria::all(), 'subcategoria' => Subcategoria::all(), 'producto' => Producto::all(), 'usuario' => Usuario::where('cod_usuario', auth()->user()->cod_usuario)->first(), 'compartido' => Usuario_producto::where('usuario', auth()->user()->cod_usuario)->get()]);
 }
 /**
  * Visualiza la página de búsquedas si se accede a ella mediante una llamada get
  * correspondiente al usuario logado que entra por primera vez.
  *
  * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
  */
 public function edit()
 {
     return view('search', ['nombreProducto' => '', 'resultado' => [], 'categoria' => Categoria::all(), 'subcategoria' => Subcategoria::all(), 'producto' => Producto::all()]);
 }
 /**
  * Función que atiende la petición get de registro de usuario.
  * Devuelve la vista correspondiente, con la totalidad de productos, categorías y subcategoprías existentes en
  * la base de datos, que forman parte del formulario de registro.
  *
  * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
  */
 public function getRegister()
 {
     return view('auth.register', ['categoria' => Categoria::all(), 'subcategoria' => Subcategoria::all(), 'producto' => Producto::all()]);
 }
Example #6
0
 /**
  * Método que crea un registro nuevo en la tabla, con los datos contenidos en un array
  * pasado como parámetro. Se aprovecha el método create de la clase Model, que devuelve
  * el elemento creado.
  *
  * @param $data
  * @return static
  */
 public static function crear($data)
 {
     return Producto::create(['subcategoria' => $data['subcategoria'], 'nombre_producto' => $data['nombre_producto'], 'descripcion' => $data['descripcion'], 'foto_producto' => $data['foto_producto'], 'link_articulo' => $data['link_articulo']]);
 }