From 00796891311b955d97ae28758ed69076a23b31f2 Mon Sep 17 00:00:00 2001 From: vkovtun <viktor.kovtun@id.ethz.ch> Date: Thu, 19 Jan 2023 16:45:57 +0100 Subject: [PATCH] SSDM-11306 Implemented email submission for the missing case when sample/experiment is missing. --- .../eln-lims-dropbox/eln-lims-dropbox.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/dss/drop-boxes/eln-lims-dropbox/eln-lims-dropbox.py b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/dss/drop-boxes/eln-lims-dropbox/eln-lims-dropbox.py index 702d42812a2..3d631b61a4b 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/dss/drop-boxes/eln-lims-dropbox/eln-lims-dropbox.py +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/dss/drop-boxes/eln-lims-dropbox/eln-lims-dropbox.py @@ -60,7 +60,9 @@ def process(transaction): emailAddress = getSampleRegistratorsEmail(transaction, sampleSpace, projectCode, sampleCode) sample = transaction.getSample("/" + sampleSpace + "/" + projectCode + "/" + sampleCode); if sample is None: - raise UserFailureException(INVALID_FORMAT_ERROR_MESSAGE + ":" + SAMPLE_MISSING_ERROR_MESSAGE); + reportIssue(transaction, + INVALID_FORMAT_ERROR_MESSAGE + ":" + SAMPLE_MISSING_ERROR_MESSAGE, + None); if len(datasetInfo) >= 5: datasetType = datasetInfo[4]; if len(datasetInfo) >= 6: @@ -76,7 +78,9 @@ def process(transaction): emailAddress = getSampleRegistratorsEmail(transaction, sampleSpace, None, sampleCode) sample = transaction.getSample("/" + sampleSpace + "/" + sampleCode); if sample is None: - raise UserFailureException(INVALID_FORMAT_ERROR_MESSAGE + ":" + SAMPLE_MISSING_ERROR_MESSAGE); + reportIssue(transaction, + INVALID_FORMAT_ERROR_MESSAGE + ":" + SAMPLE_MISSING_ERROR_MESSAGE, + None); if len(datasetInfo) >= 4: datasetType = datasetInfo[3]; if len(datasetInfo) >= 5: @@ -110,7 +114,9 @@ def process(transaction): experimentCode); experiment = transaction.getExperiment("/" + experimentSpace + "/" + projectCode + "/" + experimentCode); if experiment is None: - raise UserFailureException(INVALID_FORMAT_ERROR_MESSAGE + ":" + EXPERIMENT_MISSING_ERROR_MESSAGE); + reportIssue(transaction, + INVALID_FORMAT_ERROR_MESSAGE + ":" + EXPERIMENT_MISSING_ERROR_MESSAGE, + None); if len(datasetInfo) >= 5: datasetType = datasetInfo[4]; if len(datasetInfo) >= 6: @@ -196,7 +202,7 @@ def getContactsEmailAddresses(transaction): def reportIssue(transaction, errorMessage, emailAddress): contacts = getContactsEmailAddresses(transaction); - allAddresses = [emailAddress] + contacts; + allAddresses = [emailAddress] + contacts if emailAddress is not None else contacts; sendMail(transaction, map(lambda address: EMailAddress(address), allAddresses), EMAIL_SUBJECT, errorMessage); raise UserFailureException(errorMessage); -- GitLab