From fdbd37eb2516b67ca41b0b71b738e3368e2825fe Mon Sep 17 00:00:00 2001
From: xuyonghao <898441624@qq.com>
Date: 星期五, 27 十二月 2024 11:33:47 +0800
Subject: [PATCH] 用户所属部门与角色所属部门过滤
---
app/service/user.py | 16 +++++++++-------
1 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/app/service/user.py b/app/service/user.py
index 5b8e013..ac3fddd 100644
--- a/app/service/user.py
+++ b/app/service/user.py
@@ -1,4 +1,5 @@
import time
+import uuid
from datetime import datetime
from traceback import print_tb
@@ -60,7 +61,7 @@
app_register = AppRegisterDao(db).get_apps()
register_dict = {}
token = ""
- app_password = generate_password()
+ app_password = await generate_password()
for app in app_register:
if app["id"] == RAGFLOW:
service = RagflowService(settings.fwr_base_url)
@@ -84,10 +85,10 @@
# 瀛樺偍鐢ㄦ埛淇℃伅
hashed_password = pwd_context.hash(password)
-
+ sync_flag = str(uuid.uuid4())
user_model = UserModel(username=user_name, hashed_password=hashed_password, email=email,
## ragflow_id=ragflow_info.get("id"),bisheng_id=bisheng_info.get("user_id"),
- phone=phone, login_name=login_name)
+ phone=phone, login_name=login_name,sync_flag=sync_flag)
pwd = user_model.encrypted_password(app_password)
user_model.roles = [db.get(RoleModel, roleId) for roleId in roles]
user_model.password = pwd
@@ -98,13 +99,14 @@
db.commit()
db.refresh(user_model)
u_id = user_model.id
+ user_app_dao = UserAppDao(db)
for k, v in register_dict.items():
- await UserAppDao(db).update_and_insert_data(v.get("name"), pwd, v.get("email"), u_id, str(v.get("id")), k)
+ await user_app_dao.update_and_insert_data(v.get("name"), pwd, v.get("email"), u_id, str(v.get("id")), k)
except Exception as e:
logger.error(e)
# db.rollback()
- return False
- return True
+ return ''
+ return sync_flag
async def edit_user_data(db, user_id, email, phone, login_name, roles, groups):
@@ -383,7 +385,7 @@
async def get_user_dept(db, user_id):
res = {}
user = db.query(UserModel).filter_by(id=user_id).first()
- res["rows"] = [i.to_dict() for i in user.organizations]
+ res["rows"] = [i.to_dict() for i in user.organizations if i.status == DEPT_STATUS_ON]
return res
--
Gitblit v1.8.0