100 lines
3.4 KiB
Python
100 lines
3.4 KiB
Python
"""Minimal valid tab JSON for submit readiness checks (technical classification)."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from typing import Any, Dict
|
|
|
|
|
|
def minimal_report_tab(*, initiative_name: str = "Test initiative") -> Dict[str, Any]:
|
|
return {
|
|
"introduction": "Mở đầu đủ.",
|
|
"initiativeName": initiative_name,
|
|
"representativeAuthor": "Nguyễn Văn A",
|
|
"representativePhone": "0900000000",
|
|
"representativeEmail": "a@ump.edu.vn",
|
|
"applicationField": "Y tế",
|
|
"currentStatus": "Hiện trạng.",
|
|
"purpose": "Mục đích.",
|
|
"solutionContent": "Nội dung giải pháp.",
|
|
"implementationSteps": "Các bước.",
|
|
"firstAppliedUnit": "Đơn vị.",
|
|
"achievedResult": "Kết quả.",
|
|
"conditions": "Điều kiện.",
|
|
"trialUnits": [],
|
|
"novelty": "Tính mới.",
|
|
"effectiveness": {
|
|
"economic": "Kinh tế.",
|
|
"social": "Xã hội.",
|
|
"teaching": "Giảng dạy.",
|
|
"productivity": "",
|
|
"quality": "",
|
|
"environment": "",
|
|
"safety": "An toàn.",
|
|
},
|
|
"confidentialInfo": "",
|
|
"submissionDate": "05/05/2026",
|
|
"authorName": "Nguyễn Văn A",
|
|
"honestyConfirmed": True,
|
|
}
|
|
|
|
|
|
def minimal_application_tab_technical(*, initiative_name: str = "Test initiative") -> Dict[str, Any]:
|
|
return {
|
|
"unitName": "Đơn vị A",
|
|
"authors": [
|
|
{
|
|
"id": 1,
|
|
"name": "Nguyễn Văn A",
|
|
"dob": "01/01/1980",
|
|
"workplace": "UMP",
|
|
"title": "GV",
|
|
"qualification": "TS",
|
|
"contributionPercent": 100,
|
|
}
|
|
],
|
|
"initiativeName": initiative_name,
|
|
"investorName": "Chủ đầu tư",
|
|
"applicationField": "Y tế",
|
|
"firstApplyDate": "15/04/2025",
|
|
"initiativeClassification": "technical",
|
|
"textbookEvidenceKind": "",
|
|
"researchEvidenceKind": "",
|
|
"researchEvidenceFile": None,
|
|
"textbookEvidenceFile": None,
|
|
"technicalEvidenceFile": None,
|
|
"internationalJournalDeclaration": "",
|
|
"banCamKet": {},
|
|
"referenceMaterialHonesty": {},
|
|
"researchDomesticHonesty": {},
|
|
"contentSummary": "Tóm tắt nội dung.",
|
|
"confidentialInfo": "",
|
|
"conditions": "Điều kiện đơn.",
|
|
"authorEvaluation": "Đánh giá tác giả.",
|
|
"trialEvaluation": "Đánh giá thử.",
|
|
"supportStaff": [],
|
|
"honestyConfirmed": True,
|
|
"submissionDay": 5,
|
|
"submissionMonth": 5,
|
|
"submissionYear": "2026",
|
|
}
|
|
|
|
|
|
def minimal_contribution_tab(*, initiative_name: str = "Test initiative") -> Dict[str, Any]:
|
|
return {
|
|
"initiativeName": initiative_name,
|
|
"mainAuthor": "Nguyễn Văn A",
|
|
"position": "UMP",
|
|
"representativePercent": 100,
|
|
"submissionDate": "2026-05-05T00:00:00.000Z",
|
|
"participants": [],
|
|
"digitalSignatureConfirmed": True,
|
|
}
|
|
|
|
|
|
def minimal_tabs_bundle(*, initiative_name: str = "Test initiative") -> Dict[str, Dict[str, Any]]:
|
|
return {
|
|
"report": minimal_report_tab(initiative_name=initiative_name),
|
|
"application": minimal_application_tab_technical(initiative_name=initiative_name),
|
|
"contribution": minimal_contribution_tab(initiative_name=initiative_name),
|
|
}
|