From b7c71bda18e3bfe70f1a24215c357d317858eb10 Mon Sep 17 00:00:00 2001 From: yumoqing Date: Sat, 21 Mar 2026 11:41:03 +0800 Subject: [PATCH] bugfix --- load_path.py | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/load_path.py b/load_path.py index 777b972..35d465a 100644 --- a/load_path.py +++ b/load_path.py @@ -1104,24 +1104,25 @@ async def add_roleperm(sor, roleid, permid): async def add_roles_perm(perm, roles): perms = [perm] - if role in ['anonymous', 'any', 'logined']: - for p in perms: - await add_roleperm(sor, role, p.id) - return - orgtypeid, name = role.split('.') - ns = { - 'orgtypeid': orgtypeid, - 'name': name - } - roles = await sor.R('role', ns.copy()) - if not roles: - ns['id'] = getID() - await sor.C('role', ns.copy()) - else: + for role in roles: + if role in ['anonymous', 'any', 'logined']: + for p in perms: + await add_roleperm(sor, role, p.id) + continue + orgtypeid, name = role.split('.') + ns = { + 'orgtypeid': orgtypeid, + 'name': name + } + roles = await sor.R('role', ns.copy()) + if not roles: + ns['id'] = getID() + await sor.C('role', ns.copy()) + else: ns['id'] = roles[0].id - for p in perms: - await add_roleperm(sor, ns['id'], p.id) - await delete_anonymous_perm(sor, p.id) + for p in perms: + await add_roleperm(sor, ns['id'], p.id) + await delete_anonymous_perm(sor, p.id) async def main(): config = getConfig('.')