添加了少量注释,去除了测试用的代码与对应注释。修复了前端传入estimator而后端接受estimators的错误,修复了新增项目时owner_id恒为1的错误
This commit is contained in:
parent
09cbf2eae8
commit
d580c3206d
@ -63,8 +63,8 @@ async def create_project(data: dict, session: SessionDep, current_user: User = D
|
|||||||
requirement = data["requirement"]
|
requirement = data["requirement"]
|
||||||
start_time_str = data["start_time"]
|
start_time_str = data["start_time"]
|
||||||
deadline_str = data["deadline"]
|
deadline_str = data["deadline"]
|
||||||
estimators = data["estimators"]
|
estimators = data["estimator"]
|
||||||
auditors = data["auditors"]
|
auditors = data["auditor"]
|
||||||
|
|
||||||
# 验证是否缺少必要参数
|
# 验证是否缺少必要参数
|
||||||
if not name or not requirement or not start_time_str or not deadline_str:
|
if not name or not requirement or not start_time_str or not deadline_str:
|
||||||
@ -76,6 +76,9 @@ async def create_project(data: dict, session: SessionDep, current_user: User = D
|
|||||||
if start_time > deadline:
|
if start_time > deadline:
|
||||||
raise HTTPException(status_code=400, detail="Start time must be before deadline")
|
raise HTTPException(status_code=400, detail="Start time must be before deadline")
|
||||||
|
|
||||||
|
# 验证是否有传入评估/审核员
|
||||||
|
if not estimators or not auditors:
|
||||||
|
raise HTTPException(status_code=400, detail="Need more estimators or auditors")
|
||||||
# 验证评估审核员是否存在
|
# 验证评估审核员是否存在
|
||||||
query_estimators = select(User).where(User.username.in_(estimators))
|
query_estimators = select(User).where(User.username.in_(estimators))
|
||||||
users_estimators = session.exec(query_estimators).all()
|
users_estimators = session.exec(query_estimators).all()
|
||||||
@ -106,7 +109,6 @@ async def create_project(data: dict, session: SessionDep, current_user: User = D
|
|||||||
else:
|
else:
|
||||||
# 新增项目
|
# 新增项目
|
||||||
exist_project = session.exec(select(Project).where(Project.name == name)).first()
|
exist_project = session.exec(select(Project).where(Project.name == name)).first()
|
||||||
print(exist_project) # 测试用
|
|
||||||
if exist_project:
|
if exist_project:
|
||||||
raise HTTPException(status_code=404, detail="Project already exists")
|
raise HTTPException(status_code=404, detail="Project already exists")
|
||||||
|
|
||||||
@ -115,14 +117,13 @@ async def create_project(data: dict, session: SessionDep, current_user: User = D
|
|||||||
requirement=requirement,
|
requirement=requirement,
|
||||||
start_time=start_time,
|
start_time=start_time,
|
||||||
deadline=deadline,
|
deadline=deadline,
|
||||||
owner_id=1 # 假设owner_id是1,之后应该是通过token获取owner_id吧
|
owner_id=current_user.tenant_id,
|
||||||
)
|
)
|
||||||
session.add(project)
|
session.add(project)
|
||||||
|
|
||||||
# 处理项目和用户的关联
|
# 处理项目和用户的关联
|
||||||
# 先清除现有的关联
|
# 先清除现有的关联
|
||||||
# 生成删除语句并执行
|
# 生成删除语句并执行
|
||||||
print(project_id) # 测试用
|
|
||||||
stmt = delete(ProjectUserLink).where(ProjectUserLink.project_id == project.id)
|
stmt = delete(ProjectUserLink).where(ProjectUserLink.project_id == project.id)
|
||||||
session.execute(stmt)
|
session.execute(stmt)
|
||||||
session.commit() # 提交事务
|
session.commit() # 提交事务
|
||||||
@ -157,10 +158,6 @@ async def delete_project(data: dict, session: SessionDep, current_user: User = D
|
|||||||
|
|
||||||
project_name = data.get("name")
|
project_name = data.get("name")
|
||||||
|
|
||||||
# 权限检查:只有管理员才可以删除项目
|
|
||||||
# if current_user.role != 1:
|
|
||||||
# raise HTTPException(status_code=403, detail="Only admin users can delete projects")
|
|
||||||
|
|
||||||
if not project_name:
|
if not project_name:
|
||||||
raise HTTPException(status_code=400, detail="Project name is required")
|
raise HTTPException(status_code=400, detail="Project name is required")
|
||||||
|
|
||||||
|
|||||||
@ -108,7 +108,6 @@ async def create_or_update_tenant(data: dict, session: SessionDep, current_user:
|
|||||||
user.password = password
|
user.password = password
|
||||||
session.add(user)
|
session.add(user)
|
||||||
session.commit()
|
session.commit()
|
||||||
print(user) # 测试用
|
|
||||||
return {"message": "Tenant and User update successfully"}
|
return {"message": "Tenant and User update successfully"}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user