def decorated_function(*args, **kwargs): token = None apt_login = None if "Authorization" in flask.request.headers: base64string = flask.request.headers["Authorization"] base64string = base64string.split()[1].strip() userstring = base64.b64decode(base64string) (apt_login, token) = userstring.decode("utf-8").split(":") token_auth = False if token and apt_login: user = UsersLogic.get_by_api_login(apt_login).first() if (user and user.api_token == token and user.api_token_expiration >= datetime.date.today()): if user.proxy and "username" in flask.request.form: user = UsersLogic.get( flask.request.form["username"]).first() token_auth = True flask.g.user = user if not token_auth: url = 'https://' + app.config["PUBLIC_COPR_HOSTNAME"] url = helpers.fix_protocol_for_frontend(url) output = { "output": "notok", "error": "Login invalid/expired. Please visit {0}/api to get or renew your API token." .format(url), } jsonout = flask.jsonify(output) jsonout.status_code = 401 return jsonout return f(*args, **kwargs)
def coprs_migration_report(username=None): if not username and not flask.g.user: return generic_error("You are not logged in") elif not username: username = flask.g.user.name user = UsersLogic.get(username).first() coprs = CoprsLogic.filter_without_group_projects(CoprsLogic.get_multiple_owned_by_username(username)).all() for group in UsersLogic.get_groups_by_fas_names_list(user.user_teams).all(): coprs.extend(CoprsLogic.get_multiple_by_group_id(group.id).all()) return render_migration_report(coprs, user=user)
def coprs_migration_report(username=None): if not username and not flask.g.user: return generic_error("You are not logged in") elif not username: username = flask.g.user.name user = UsersLogic.get(username).first() coprs = CoprsLogic.filter_without_group_projects( CoprsLogic.get_multiple_owned_by_username(username)).all() for group in UsersLogic.get_groups_by_fas_names_list( user.user_teams).all(): coprs.extend(CoprsLogic.get_multiple_by_group_id(group.id).all()) return render_migration_report(coprs, user=user)
def test_delete_data_view(self, f_users, f_fas_groups, f_coprs, f_db): r = self.tc.get("/user/delete") user = UsersLogic.get(self.u1.username).one() assert not user.admin assert not user.api_login
def test_delete_user_data(self, f_users, f_fas_groups, f_coprs, f_db): UsersLogic.delete_user_data(self.u1) self.db.session.commit() user = UsersLogic.get(self.u1.username).one() assert not user.admin assert not user.api_login