fix(talk): 修正成员搜索的 Manager 调用并把成员判定归一为 bytes
- SearchCompanyUsers 与 _IsCompanyUser 改用 RoleManager.GetCompanyUserUUIDs (原误用 CompanyManager,该类没有此方法,成员搜索接口 500) - _IsCompanyUser 统一转 bytes 后再比对(GetCompanyUserUUIDs 返回 UUIDObj 集合, UUIDObj 与 bytes 的 hash 不同,原写法成员判定恒为 False,导致邀请成员必失败) - 菜单链接由 pages/talk/index.html 改为 pages/talk.html (前端 normalizeMenuPath 只去 pages/ 前缀与 .html 后缀,原写法规范化为 /talk/index 会 404)
This commit is contained in:
1 parent
e8d85034e8
commit
2684490dd0
2 files changed
+11
-5
No files matched your search
@@ -12,7 +12,7 @@
|
||||
{
|
||||
"MenuName": "talk",
|
||||
"MenuTitle": "Talk",
|
||||
"MenuLink": "pages/talk/index.html",
|
||||
"MenuLink": "pages/talk.html",
|
||||
"MenuIcon": "ChatDotRound",
|
||||
"MenuSort": 8,
|
||||
"ParentMenuName": "company"
|
||||
|
||||
@@ -681,8 +681,8 @@ class TalkManager:
|
||||
company_bytes = _ToBytes(CompanyUUID)
|
||||
if not company_bytes:
|
||||
return []
|
||||
from gvsdsdk.auth.managers import CompanyManager
|
||||
company_user_uuids = list(CompanyManager.GetCompanyUserUUIDs(company_bytes))
|
||||
from gvsdsdk.auth.managers import RoleManager
|
||||
company_user_uuids = list(RoleManager.GetCompanyUserUUIDs(company_bytes))
|
||||
if not company_user_uuids:
|
||||
return []
|
||||
User = _GetUserModel()
|
||||
@@ -756,8 +756,14 @@ class TalkManager:
|
||||
"""判断用户是否属于该公司"""
|
||||
if CompanyUUID is None or UserUUIDBytes is None:
|
||||
return False
|
||||
from gvsdsdk.auth.managers import CompanyManager
|
||||
return UserUUIDBytes in CompanyManager.GetCompanyUserUUIDs(CompanyUUID)
|
||||
company_bytes = _ToBytes(CompanyUUID)
|
||||
if not company_bytes:
|
||||
return False
|
||||
from gvsdsdk.auth.managers import RoleManager
|
||||
# 注意:GetCompanyUserUUIDs 返回的是 UUIDObj 集合,与 bytes 的 hash 不同,
|
||||
# 必须先统一归一成 bytes 再比对(否则成员判定恒为 False)
|
||||
member_uuids = {_ToBytes(u) for u in RoleManager.GetCompanyUserUUIDs(company_bytes)}
|
||||
return UserUUIDBytes in member_uuids
|
||||
|
||||
@staticmethod
|
||||
def _FindSingle(UserA, UserB, CompanyUUID):
|
||||
|
||||
Reference in new issue
Block a user