Example #1
0
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
Example #2
0
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 }
Example #3
0
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 }
Example #4
0
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
Example #5
0
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!" }