Added logs on csv import
parent
4e736292d1
commit
ae1d3d2333
|
@ -444,39 +444,48 @@ def check_upload_errors(data):
|
||||||
try:
|
try:
|
||||||
user_groups = [g.strip() for g in u["groups"].split(",")]
|
user_groups = [g.strip() for g in u["groups"].split(",")]
|
||||||
except:
|
except:
|
||||||
return {
|
resp = {
|
||||||
"pass": False,
|
"pass": False,
|
||||||
"msg": "User " + u["username"] + " has invalid groups: " + u["groups"],
|
"msg": "User " + u["username"] + " has invalid groups: " + u["groups"],
|
||||||
}
|
}
|
||||||
|
log.error(resp)
|
||||||
|
return resp
|
||||||
|
|
||||||
if not re.fullmatch(email_regex, u["email"]):
|
if not re.fullmatch(email_regex, u["email"]):
|
||||||
return {
|
resp = {
|
||||||
"pass": False,
|
"pass": False,
|
||||||
"msg": "User " + u["username"] + " has invalid email: " + u["email"],
|
"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"] not in ["admin", "manager", "teacher", "student"]:
|
||||||
if u["role"] == "":
|
if u["role"] == "":
|
||||||
return {
|
resp = {
|
||||||
"pass": False,
|
"pass": False,
|
||||||
"msg": "User " + u["username"] + " has no role assigned!",
|
"msg": "User " + u["username"] + " has no role assigned!",
|
||||||
}
|
}
|
||||||
return {
|
log.error(resp)
|
||||||
|
return resp
|
||||||
|
resp = {
|
||||||
"pass": False,
|
"pass": False,
|
||||||
"msg": "User " + u["username"] + " has invalid role: " + u["role"],
|
"msg": "User " + u["username"] + " has invalid role: " + u["role"],
|
||||||
}
|
}
|
||||||
|
log.error(resp)
|
||||||
|
return resp
|
||||||
|
|
||||||
|
|
||||||
@app.route("/api/dashboard/<item>", methods=["PUT"])
|
@app.route("/api/dashboard/<item>", methods=["PUT"])
|
||||||
# @login_required
|
# @login_required
|
||||||
def dashboard_put(item):
|
def dashboard_put(item):
|
||||||
if item == "colours":
|
if item == "colours":
|
||||||
print('colours')
|
print("colours")
|
||||||
try:
|
try:
|
||||||
data = request.get_json(force=True)
|
data = request.get_json(force=True)
|
||||||
dashboard.update_colours(data)
|
dashboard.update_colours(data)
|
||||||
except:
|
except:
|
||||||
log.error(traceback.format_exc())
|
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":
|
if item == "menu":
|
||||||
try:
|
try:
|
||||||
data = request.get_json(force=True)
|
data = request.get_json(force=True)
|
||||||
|
@ -485,10 +494,10 @@ def dashboard_put(item):
|
||||||
log.error(traceback.format_exc())
|
log.error(traceback.format_exc())
|
||||||
return json.dumps(data), 200, {"Content-Type": "application/json"}
|
return json.dumps(data), 200, {"Content-Type": "application/json"}
|
||||||
if item == "logo":
|
if item == "logo":
|
||||||
dashboard.update_logo(request.files['croppedImage'])
|
dashboard.update_logo(request.files["croppedImage"])
|
||||||
return json.dumps({}), 200, {"Content-Type": "application/json"}
|
return json.dumps({}), 200, {"Content-Type": "application/json"}
|
||||||
if item == "background":
|
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({}), 200, {"Content-Type": "application/json"}
|
||||||
return (
|
return (
|
||||||
json.dumps(
|
json.dumps(
|
||||||
|
|
|
@ -4,37 +4,40 @@ import json
|
||||||
from lib.keycloak_client import KeycloakClient
|
from lib.keycloak_client import KeycloakClient
|
||||||
import logging as log
|
import logging as log
|
||||||
|
|
||||||
|
|
||||||
class KeycloakConfig:
|
class KeycloakConfig:
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.keycloak = KeycloakClient()
|
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()
|
self.keycloak.connect()
|
||||||
k = self.keycloak.keycloak_admin
|
k = self.keycloak.keycloak_admin
|
||||||
|
|
||||||
with open(path_json) as json_file:
|
with open(path_json) as json_file:
|
||||||
d_update = json.load(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):
|
def config_role_list(self):
|
||||||
self.keycloak.connect()
|
self.keycloak.connect()
|
||||||
k = self.keycloak.keycloak_admin
|
k = self.keycloak.keycloak_admin
|
||||||
|
|
||||||
name_protocol_mapper = "role list"
|
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 = 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"]
|
id_mapper = d_mapper["id"]
|
||||||
|
|
||||||
# Single Role Attribute = On
|
# Single Role Attribute = On
|
||||||
d_mapper['config']['single'] = 'true'
|
d_mapper["config"]["single"] = "true"
|
||||||
|
|
||||||
k.update_mapper_in_client_scope(id_client_scope_role_list,
|
k.update_mapper_in_client_scope(id_client_scope_role_list, id_mapper, d_mapper)
|
||||||
id_mapper,
|
|
||||||
d_mapper)
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
keycloack_config = KeycloakConfig()
|
keycloack_config = KeycloakConfig()
|
||||||
keycloack_config.config_realm_update()
|
keycloack_config.config_realm_update()
|
||||||
keycloack_config.config_role_list()
|
keycloack_config.config_role_list()
|
||||||
|
|
Loading…
Reference in New Issue