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: