From 7db98ad5989ea54fdc49ff12c493949c381b3b34 Mon Sep 17 00:00:00 2001 From: yumoqing Date: Thu, 10 Jul 2025 11:01:24 +0800 Subject: [PATCH] bugfix --- json/organization.json | 21 ++++++++++++++++++++- models/organization.xlsx | Bin 16482 -> 16526 bytes rbac/check_perm.py | 2 +- script/setroleperms.sh | 8 ++++---- 4 files changed, 25 insertions(+), 6 deletions(-) diff --git a/json/organization.json b/json/organization.json index 6e6f649..66e312a 100644 --- a/json/organization.json +++ b/json/organization.json @@ -6,9 +6,28 @@ "title":"Organization", "params": { "sortby":"orgname", + "editor":{ + "binds":[ + { + "wid":"province_id", + "event":"changed", + "actiontype":"script", + "target":"city_id", + "script":"this.loadData({cond:'parentid=\\''+params.province_id+'\\''})" + }, + { + "wid":"city_id", + "event":"changed", + "actiontype":"script", + "target":"distinct_id", + "script":"this.loadData({cond:'parentid=\\'' + params.city_id+ '\\''})" + } + ] + }, "browserfields": { "exclouded": ["id"], - "cwidth": {} + "alters": { + } }, "editexclouded": [ "id" diff --git a/models/organization.xlsx b/models/organization.xlsx index b32643f7d34078ac92401b359fac6d1aee49cc87..b43bd8b2c7c2e41d65bb22bea5544160a7c34790 100644 GIT binary patch delta 5310 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 Lj>9kaALIW3w??N9 diff --git a/rbac/check_perm.py b/rbac/check_perm.py index 3324a06..1978369 100644 --- a/rbac/check_perm.py +++ b/rbac/check_perm.py @@ -88,7 +88,7 @@ async def create_user(sor, ns, roles=[]): for rt in roles: sql = "select * from role where orgtypeid = ${otid}$ and name in ${roles}$)" recs = await sor.sqlExe(sql, { - 'otid': rt['orgtypeid', + 'otid': rt['orgtypeid'], 'roles': rt['roles'] }) for r in recs: diff --git a/script/setroleperms.sh b/script/setroleperms.sh index 085c9a8..5e435d3 100644 --- a/script/setroleperms.sh +++ b/script/setroleperms.sh @@ -1,7 +1,7 @@ #!/usr/bin/bash -python -m rbac/set_role_perms sage rbac owner superuser role permission rolepermission user user role organizationorgtypes -python -m rbac/set_role_perms sage rbac owner admin user userrole -python -m rbac/set_role_perms sage rbac customer admin user userrole -python -m rbac/set_role_perms sage rbac reseller admin user userrole +python -m rbac.set_role_perms sage rbac owner superuser role permission rolepermission user user role organizationorgtypes +python -m rbac.set_role_perms sage rbac owner admin user userrole +python -m rbac.set_role_perms sage rbac customer admin user userrole +python -m rbac.set_role_perms sage rbac reseller admin user userrole