fix(router): check system permissions against target project
This commit is contained in:
@@ -12,7 +12,7 @@ from app.crud import startup as startup_crud
|
||||
from app.crud import study as study_crud
|
||||
from app.crud import user as user_crud
|
||||
from app.schemas.site import SiteCreate, SiteRead, SiteUpdate
|
||||
from app.schemas.startup import StartupEthicsCreate, StartupFeasibilityCreate
|
||||
from app.schemas.startup import KickoffMeetingCreate, StartupEthicsCreate, StartupFeasibilityCreate
|
||||
from app.services.site_contact_display import build_contact_display, parse_contact_user_ids
|
||||
|
||||
router = APIRouter()
|
||||
@@ -58,6 +58,12 @@ async def create_site(
|
||||
StartupEthicsCreate(site_id=site.id),
|
||||
created_by=getattr(current_user, "id", None),
|
||||
)
|
||||
await startup_crud.create_kickoff(
|
||||
db,
|
||||
study_id,
|
||||
KickoffMeetingCreate(site_id=site.id),
|
||||
created_by=getattr(current_user, "id", None),
|
||||
)
|
||||
await audit_crud.log_action(
|
||||
db,
|
||||
study_id=study_id,
|
||||
|
||||
@@ -413,6 +413,17 @@ def test_training_authorization_list_can_filter_by_site_name():
|
||||
assert "TrainingAuthorization.site_name == site_name" in crud_source
|
||||
|
||||
|
||||
def test_site_creation_initializes_all_startup_baseline_records():
|
||||
"""创建中心时应生成启动模块默认记录,但后续手动删除不应依赖列表页重建。"""
|
||||
route_path = Path(__file__).resolve().parents[1] / "app" / "api" / "v1" / "sites.py"
|
||||
source = route_path.read_text()
|
||||
|
||||
assert "StartupFeasibilityCreate(site_id=site.id)" in source
|
||||
assert "StartupEthicsCreate(site_id=site.id)" in source
|
||||
assert "KickoffMeetingCreate(site_id=site.id)" in source
|
||||
assert "await startup_crud.create_kickoff(" in source
|
||||
|
||||
|
||||
def test_visit_list_permission_matches_wired_visit_endpoints():
|
||||
"""访视当前没有详情查询接口,列表接口应只使用 visits:list。"""
|
||||
visits_path = Path(__file__).resolve().parents[1] / "app" / "api" / "v1" / "visits.py"
|
||||
|
||||
Reference in New Issue
Block a user