diff --git a/api/manage_project.py b/api/manage_project.py index 4bb19e4..a102747 100644 --- a/api/manage_project.py +++ b/api/manage_project.py @@ -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") diff --git a/api/manage_tanant.py b/api/manage_tanant.py index 1178120..6816733 100644 --- a/api/manage_tanant.py +++ b/api/manage_tanant.py @@ -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"}