def user_status(): logged_in = is_logged_in() result = { "success": 1, "logged_in": logged_in, "admin": is_admin(), "competition": utils.is_ctf_time(), "in_team": in_team(get_user()), "username": session["username"] if logged_in else "", "ctf_name": utils.get_ctf_name(), "stylesheet": utils.get_config( "stylesheet", "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" ) } if logged_in: result["has_team"] = in_team(get_user().first()) if not utils.is_setup_complete(): result["redirect"] = "/setup" result["setup"] = False return result
def admin_setup_init(): if utils.is_setup_complete(): raise WebException("Setup has already been complete.") verification = Config("setup_verification", utils.generate_string().lower()) with app.app_context(): for item in Config.query.filter_by(key="setup_verification").all(): db.session.delete(item) db.session.add(verification) db.session.commit() db.session.close() return { "success": 1 }
def user_status(): logged_in = is_logged_in() result = { "success": 1, "logged_in": logged_in, "admin": is_admin(), "competition": utils.is_ctf_time(), "in_team": in_team(get_user()), "username": session["username"] if logged_in else "", "ctf_name": utils.get_ctf_name(), "stylesheet": utils.get_config("stylesheet", "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css") } if logged_in: result["has_team"] = in_team(get_user().first()) if not utils.is_setup_complete(): result["redirect"] = "/setup" result["setup"] = False return result
def admin_setup(): global user params = utils.flat_multi(request.form) if utils.is_setup_complete(): raise WebException("Setup has already been complete.") if params.get("verification") != Config.query.filter_by(key="setup_verification").first().value: raise WebException("Verification does not match.") if params.get("password") != params.get("password_confirm"): raise WebException("Passwords do not match.") verify_to_schema(user.UserSchema, params) name = params.get("name") email = params.get("email") username = params.get("username") password = params.get("password") password_confirm = params.get("password_confirm") utype = int(params.get("type")) setup_vars = [ Config("ctf_name", params.get("ctf_name")), Config("start_time", params.get("start_time")), Config("end_time", params.get("end_time")), Config("team_size", params.get("team_size")), Config("stylesheet", "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"), Config("setup_complete", True) ] # _user = Users(name, username, email, password, utype=utype, admin=True) user.register_user(name, username, email, password, utype=utype, admin=True) with app.app_context(): for var in setup_vars: db.session.add(var) db.session.commit() db.session.close() logger.log(__name__, "%s registered with %s" % (name.encode("utf-8"), email.encode("utf-8"))) user.login_user(username, password) return { "success": 1, "message": "Success!" }