Added logs on csv import

darta 2022-01-17 10:11:47 +01:00
parent 4e736292d1
commit ae1d3d2333
2 changed files with 30 additions and 18 deletions

View File

@ -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/<item>", 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(

View File

@ -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()