diff --git a/nmdc_server/api.py b/nmdc_server/api.py index 016b4428..03ce899f 100644 --- a/nmdc_server/api.py +++ b/nmdc_server/api.py @@ -787,7 +787,6 @@ def create_github_issue(submission, user): omicsprocessingtypes = ", ".join(multiomicsform["omicsProcessingTypes"]) sampletype = ", ".join(submission.metadata_submission["templates"]) sampledata = submission.metadata_submission["sampleData"] - fundingsource = studyform["fundingSource"] numsamples = 0 for key in sampledata: numsamples = max(numsamples, len(sampledata[key])) @@ -817,7 +816,6 @@ def create_github_issue(submission, user): f"Data types: {omicsprocessingtypes}", f"Sample type:{sampletype}", f"Number of samples:{numsamples}", - f"Funding source:{fundingsource}", ] + valid_ids body_string = " \n ".join(body_lis) payload_dict = { diff --git a/nmdc_server/fakes.py b/nmdc_server/fakes.py index 1d0c9dba..dab7f892 100644 --- a/nmdc_server/fakes.py +++ b/nmdc_server/fakes.py @@ -365,7 +365,7 @@ class Meta: "piEmail": "", "piOrcid": "", "linkOutWebpage": [], - "fundingSource": "", + "fundingSources": [], "description": "", "notes": "", "contributors": [], diff --git a/nmdc_server/schemas_submission.py b/nmdc_server/schemas_submission.py index 65622d20..1aab2e70 100644 --- a/nmdc_server/schemas_submission.py +++ b/nmdc_server/schemas_submission.py @@ -20,7 +20,7 @@ class StudyForm(BaseModel): piName: str piEmail: str piOrcid: str - fundingSource: Optional[str] + fundingSources: Optional[List[str]] linkOutWebpage: List[str] studyDate: Optional[str] description: str diff --git a/web/src/definitions.ts b/web/src/definitions.ts index 8722c48b..2ab593f9 100644 --- a/web/src/definitions.ts +++ b/web/src/definitions.ts @@ -3,7 +3,7 @@ const Definitions = { piName: 'The Principal Investigator who led the study and/or generated the data.', piEmail: 'An email address for the Principal Investigator.', piOrcid: 'ORCID iD of the Principal Investigator.', - fundingSource: 'Source of funding for the study.', + fundingSources: 'The source of funding for your study. As an example please see study\'s funding source.', linkOutWebpage: 'Link to the Principal Investigator\'s research lab webpage or the study webpage associated with this collection of samples. Multiple links can be provided.', studyDescription: 'Provide a description of your study. This should include some general context of your research goals and study design. For examples, please see existing study landing pages on the data portal.', studyOptionalNotes: 'Add any additional notes or comments about this study.', diff --git a/web/src/views/SubmissionPortal/Components/StudyForm.vue b/web/src/views/SubmissionPortal/Components/StudyForm.vue index a93591b3..e6778acd 100644 --- a/web/src/views/SubmissionPortal/Components/StudyForm.vue +++ b/web/src/views/SubmissionPortal/Components/StudyForm.vue @@ -55,6 +55,14 @@ export default defineComponent({ }); } + function addFundingSource() { + if (studyForm.fundingSources === null || studyForm.fundingSources.length === 0) { + studyForm.fundingSources = ['']; + } else { + studyForm.fundingSources.push(''); + } + } + function requiredRules(msg: string, otherRules: ((v: string) => unknown)[] = []) { return [ (v: string) => !!v || msg, @@ -94,6 +102,7 @@ export default defineComponent({ NmdcSchema, Definitions, addContributor, + addFundingSource, requiredRules, permissionLevelChoices, isOwner, @@ -203,19 +212,6 @@ export default defineComponent({ - - - +
+ Funding Sources +
+
+ {{ "Sources of funding for this study." }} +
+
+ +
+ + + +
+
+ + mdi-minus-circle + +
+ + + mdi-plus-circle + + Add Funding Source + +
Contributors
diff --git a/web/src/views/SubmissionPortal/store/index.ts b/web/src/views/SubmissionPortal/store/index.ts index 0cac2ff6..6643ee98 100644 --- a/web/src/views/SubmissionPortal/store/index.ts +++ b/web/src/views/SubmissionPortal/store/index.ts @@ -130,7 +130,7 @@ const studyFormDefault = { piOrcid: '', linkOutWebpage: [], studyDate: null, - fundingSource: '', + fundingSources: [] as string[] | null, description: '', notes: '', contributors: [] as {