diff --git a/_infra/helm/response-operations-ui/Chart.yaml b/_infra/helm/response-operations-ui/Chart.yaml index 1add9305b..a86b0adf8 100644 --- a/_infra/helm/response-operations-ui/Chart.yaml +++ b/_infra/helm/response-operations-ui/Chart.yaml @@ -14,8 +14,8 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version -version: 3.1.144 +version: 3.1.145 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. -appVersion: 3.1.144 +appVersion: 3.1.145 diff --git a/response_operations_ui/templates/collection_exercise/ce-sample-section.html b/response_operations_ui/templates/collection_exercise/ce-sample-section.html index dd6ff2761..d5b8b2fc9 100644 --- a/response_operations_ui/templates/collection_exercise/ce-sample-section.html +++ b/response_operations_ui/templates/collection_exercise/ce-sample-section.html @@ -47,7 +47,7 @@

Sample file *

{ "tds": [ { - "value": "Sample loaded: " + '' + sample.ingestDateTime[:-7] + '' + sample.ingestDateTime[-7:] + "value": "Sample loaded: " + '' + sample_ingest_date_time[:-7] + '' + sample_ingest_date_time[-7:] }, { "value": addSampleLink, diff --git a/response_operations_ui/views/collection_exercise.py b/response_operations_ui/views/collection_exercise.py index 29aa83039..95aa3a8aa 100644 --- a/response_operations_ui/views/collection_exercise.py +++ b/response_operations_ui/views/collection_exercise.py @@ -107,21 +107,23 @@ def _build_collection_instruments_details(collection_exercise_id: str, survey_id @collection_exercise_bp.route("//", methods=["GET"]) @login_required def view_collection_exercise(short_name, period): + sample_load_status = None + sample_ingest_date_time =None collection_exercise, survey = get_collection_exercise_and_survey_details(short_name, period) sample = get_sample_summary(collection_exercise["id"]) events = convert_events_to_new_format( collection_exercise_controllers.get_collection_exercise_events_by_id(collection_exercise["id"]) ) collection_instruments = _build_collection_instruments_details(collection_exercise["id"], survey["id"]) - sample_load_status = None - if sample_controllers.sample_summary_state_check_required(collection_exercise["state"], sample): - try: - sample_load_status = sample_controllers.check_if_all_sample_units_present_for_sample_summary(sample["id"]) - if sample_load_status["areAllSampleUnitsLoaded"]: - sample = _format_sample_summary(sample) - - except ApiError: - flash("Sample summary check failed. Refresh page to try again", category="error") + + if sample: + if sample_controllers.sample_summary_state_check_required(collection_exercise["state"], sample): + try: + sample_load_status = sample_controllers.check_if_all_sample_units_present_for_sample_summary(sample["id"]) + except ApiError: + flash("Sample summary check failed. Refresh page to try again", category="error") + if sample["state"] in ["ACTIVE", "COMPLETE"]: + sample_ingest_date_time = _format_ingestion_date(sample.get("ingestDateTime")) ce_state = collection_exercise["state"] survey_mode = survey["surveyMode"] @@ -163,6 +165,7 @@ def view_collection_exercise(short_name, period): processing=processing, sample_load_status=sample_load_status, sample=sample, + sample_ingest_date_time=sample_ingest_date_time, show_set_live_button=show_set_live_button, survey=survey, success_panel=success_panel, @@ -465,14 +468,12 @@ def _validate_sample() -> bool: return True -def _format_sample_summary(sample): - if sample and sample.get("ingestDateTime"): - submission_datetime = localise_datetime(iso8601.parse_date(sample["ingestDateTime"])) - submission_time = submission_datetime.strftime("%d %B %Y %I:%M%p") - sample["ingestDateTime"] = submission_time - - return sample - +def _format_ingestion_date(date_time): + try: + localised_submission_datetime = localise_datetime(iso8601.parse_date(date_time)) + return localised_submission_datetime.strftime("%d %B %Y %I:%M%p") + except ValueError: + return date_time def _format_ci_file_name(collection_instruments, survey_details): for ci in collection_instruments: