diff --git a/src/breeding-insight/dao/SampleSubmissionDAO.ts b/src/breeding-insight/dao/SampleSubmissionDAO.ts index 9c8e1a3f..5f99f31b 100644 --- a/src/breeding-insight/dao/SampleSubmissionDAO.ts +++ b/src/breeding-insight/dao/SampleSubmissionDAO.ts @@ -48,6 +48,20 @@ export class SampleSubmissionDAO { } } + static async deleteSubmission(programId: string, submissionId: string): Promise> { + const config: any = {}; + config.url = `${process.env.VUE_APP_BI_API_V1_PATH}/programs/${programId}/submissions/${submissionId}`; + config.method = 'delete'; + config.programId = programId; + config.submissionId = submissionId; + try { + await api.call(config); + return ResultGenerator.success(); + } catch (error) { + return ResultGenerator.err(error); + } + } + static async submitToDArT(programId: string, submissionId: string): Promise> { const config: any = {}; config.url = `${process.env.VUE_APP_BI_API_V1_PATH}/programs/${programId}/submissions/${submissionId}/submit?vendor=dart`; diff --git a/src/breeding-insight/service/SampleSubmissionService.ts b/src/breeding-insight/service/SampleSubmissionService.ts index abf8d08f..f37bb2d5 100644 --- a/src/breeding-insight/service/SampleSubmissionService.ts +++ b/src/breeding-insight/service/SampleSubmissionService.ts @@ -61,24 +61,30 @@ export class SampleSubmissionService { return await SampleSubmissionDAO.getSubmissionById(programId, submissionId, true); } - static async submitToDArT(programId: string, submissionId: string): Promise> { - if (!programId) { - return ResultGenerator.err(new Error('Missing or invalid program id')); - } - return await SampleSubmissionDAO.submitToDArT(programId, submissionId); + static async submitToDArT(programId: string, submissionId: string): Promise> { + if (!programId) { + return ResultGenerator.err(new Error('Missing or invalid program id')); } + return await SampleSubmissionDAO.submitToDArT(programId, submissionId); + } - static async checkVendorStatus(programId: string, submissionId: string): Promise> { - if (!programId) { - return ResultGenerator.err(new Error('Missing or invalid program id')); - } - return await SampleSubmissionDAO.checkVendorStatus(programId, submissionId); + static async checkVendorStatus(programId: string, submissionId: string): Promise> { + if (!programId) { + return ResultGenerator.err(new Error('Missing or invalid program id')); } + return await SampleSubmissionDAO.checkVendorStatus(programId, submissionId); + } - static async updateSubmissionStatus(programId: string, submissionId: string, status: string): Promise> { - if (!programId) { - return ResultGenerator.err(new Error('Missing or invalid program id')); - } - return await SampleSubmissionDAO.updateSubmissionStatus(programId, submissionId, status); + static async updateSubmissionStatus(programId: string, submissionId: string, status: string): Promise> { + if (!programId) { + return ResultGenerator.err(new Error('Missing or invalid program id')); } + return await SampleSubmissionDAO.updateSubmissionStatus(programId, submissionId, status); + } + + static async deleteSubmission(programId: string, submissionId: string) : Promise> { + return await SampleSubmissionDAO.deleteSubmission(programId, submissionId); + } + + } \ No newline at end of file diff --git a/src/config/ability.ts b/src/config/ability.ts index 2094733e..1e08aa26 100644 --- a/src/config/ability.ts +++ b/src/config/ability.ts @@ -56,6 +56,7 @@ const rolePermissions: Record = { can('access', 'Ontology'); can('access', 'Germplasm'); can('access', 'SampleManagement'); + can('delete', 'Submission'); can('access', 'ProgramAdministration'); can('access', 'BrAPI'); can('access', 'JobManagement'); @@ -73,6 +74,7 @@ const rolePermissions: Record = { can('manage', 'User'); can('access', 'AdminSection'); can('submit', 'Submission'); + can('delete', 'Submission'); can('access', 'Experiment'); can('access', 'Ontology'); can('access', 'Germplasm'); diff --git a/src/views/sample-mgmt/SampleManagement.vue b/src/views/sample-mgmt/SampleManagement.vue index 3da5fbc7..fb720caa 100644 --- a/src/views/sample-mgmt/SampleManagement.vue +++ b/src/views/sample-mgmt/SampleManagement.vue @@ -99,18 +99,6 @@ - -

Visible!

- -
diff --git a/src/views/sample-mgmt/SubmissionDetails.vue b/src/views/sample-mgmt/SubmissionDetails.vue index f9873bc1..9202a678 100644 --- a/src/views/sample-mgmt/SubmissionDetails.vue +++ b/src/views/sample-mgmt/SubmissionDetails.vue @@ -19,6 +19,24 @@ < Sample Management + + +