添加了少量注释,去除了测试用的代码与对应注释。修复了前端传入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"]
|
||||
start_time_str = data["start_time"]
|
||||
deadline_str = data["deadline"]
|
||||
estimators = data["estimators"]
|
||||
auditors = data["auditors"]
|
||||
estimators = data["estimator"]
|
||||
auditors = data["auditor"]
|
||||
|
||||
# 验证是否缺少必要参数
|
||||
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:
|
||||
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))
|
||||
users_estimators = session.exec(query_estimators).all()
|
||||
@ -106,7 +109,6 @@ async def create_project(data: dict, session: SessionDep, current_user: User = D
|
||||
else:
|
||||
# 新增项目
|
||||
exist_project = session.exec(select(Project).where(Project.name == name)).first()
|
||||
print(exist_project) # 测试用
|
||||
if exist_project:
|
||||
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,
|
||||
start_time=start_time,
|
||||
deadline=deadline,
|
||||
owner_id=1 # 假设owner_id是1,之后应该是通过token获取owner_id吧
|
||||
owner_id=current_user.tenant_id,
|
||||
)
|
||||
session.add(project)
|
||||
|
||||
# 处理项目和用户的关联
|
||||
# 先清除现有的关联
|
||||
# 生成删除语句并执行
|
||||
print(project_id) # 测试用
|
||||
stmt = delete(ProjectUserLink).where(ProjectUserLink.project_id == project.id)
|
||||
session.execute(stmt)
|
||||
session.commit() # 提交事务
|
||||
@ -157,10 +158,6 @@ async def delete_project(data: dict, session: SessionDep, current_user: User = D
|
||||
|
||||
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:
|
||||
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
|
||||
session.add(user)
|
||||
session.commit()
|
||||
print(user) # 测试用
|
||||
return {"message": "Tenant and User update successfully"}
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user