/** * 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()]); }
/** * 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']]); }