diff --git a/admin/src/admin/views/ApiViews.py b/admin/src/admin/views/ApiViews.py index b4521b3..5cea6a3 100644 --- a/admin/src/admin/views/ApiViews.py +++ b/admin/src/admin/views/ApiViews.py @@ -444,39 +444,48 @@ def check_upload_errors(data): try: user_groups = [g.strip() for g in u["groups"].split(",")] except: - return { + resp = { "pass": False, "msg": "User " + u["username"] + " has invalid groups: " + u["groups"], } + log.error(resp) + return resp if not re.fullmatch(email_regex, u["email"]): - return { + resp = { "pass": False, "msg": "User " + u["username"] + " has invalid email: " + u["email"], } + log.error(resp) + return resp if u["role"] not in ["admin", "manager", "teacher", "student"]: if u["role"] == "": - return { + resp = { "pass": False, "msg": "User " + u["username"] + " has no role assigned!", } - return { + log.error(resp) + return resp + resp = { "pass": False, "msg": "User " + u["username"] + " has invalid role: " + u["role"], } + log.error(resp) + return resp + @app.route("/api/dashboard/", methods=["PUT"]) # @login_required def dashboard_put(item): if item == "colours": - print('colours') + print("colours") try: data = request.get_json(force=True) dashboard.update_colours(data) except: log.error(traceback.format_exc()) - return json.dumps({"colours":data}), 200, {"Content-Type": "application/json"} + return json.dumps({"colours": data}), 200, {"Content-Type": "application/json"} if item == "menu": try: data = request.get_json(force=True) @@ -485,10 +494,10 @@ def dashboard_put(item): log.error(traceback.format_exc()) return json.dumps(data), 200, {"Content-Type": "application/json"} if item == "logo": - dashboard.update_logo(request.files['croppedImage']) + dashboard.update_logo(request.files["croppedImage"]) return json.dumps({}), 200, {"Content-Type": "application/json"} if item == "background": - dashboard.update_background(request.files['croppedImage']) + dashboard.update_background(request.files["croppedImage"]) return json.dumps({}), 200, {"Content-Type": "application/json"} return ( json.dumps( diff --git a/admin/src/saml_scripts/keycloak_config.py b/admin/src/saml_scripts/keycloak_config.py index 7b8d28f..0ba6484 100644 --- a/admin/src/saml_scripts/keycloak_config.py +++ b/admin/src/saml_scripts/keycloak_config.py @@ -4,37 +4,40 @@ import json from lib.keycloak_client import KeycloakClient import logging as log + class KeycloakConfig: def __init__(self): self.keycloak = KeycloakClient() - def config_realm_update(self,path_json="/admin/custom/keycloak/realm.json"): + def config_realm_update(self, path_json="/admin/custom/keycloak/realm.json"): self.keycloak.connect() k = self.keycloak.keycloak_admin with open(path_json) as json_file: d_update = json.load(json_file) - k.update_realm("master",d_update) + k.update_realm("master", d_update) def config_role_list(self): self.keycloak.connect() k = self.keycloak.keycloak_admin name_protocol_mapper = "role list" - id_client_scope_role_list = [a["id"] for a in k.get_client_scopes() if a["name"] == "role_list"][0] + id_client_scope_role_list = [ + a["id"] for a in k.get_client_scopes() if a["name"] == "role_list" + ][0] d = k.get_client_scope(id_client_scope_role_list) - d_mapper = [a for a in d["protocolMappers"] if a["name"] == name_protocol_mapper][0] + d_mapper = [ + a for a in d["protocolMappers"] if a["name"] == name_protocol_mapper + ][0] id_mapper = d_mapper["id"] # Single Role Attribute = On - d_mapper['config']['single'] = 'true' - - k.update_mapper_in_client_scope(id_client_scope_role_list, - id_mapper, - d_mapper) + d_mapper["config"]["single"] = "true" + + k.update_mapper_in_client_scope(id_client_scope_role_list, id_mapper, d_mapper) + if __name__ == "__main__": keycloack_config = KeycloakConfig() keycloack_config.config_realm_update() keycloack_config.config_role_list() - \ No newline at end of file