From e911da20ef8af57a91f8c3df8a37cd5bc6662d62 Mon Sep 17 00:00:00 2001 From: Daniel Schick Date: Fri, 18 Oct 2024 09:51:29 +0200 Subject: [PATCH] Fixed tidal window validation and description output --- .../BreCal/validators/input_validation_shipcall.py | 9 ++++++--- src/server/BreCal/validators/validation_error.py | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/server/BreCal/validators/input_validation_shipcall.py b/src/server/BreCal/validators/input_validation_shipcall.py index 40932e0..bbf8625 100644 --- a/src/server/BreCal/validators/input_validation_shipcall.py +++ b/src/server/BreCal/validators/input_validation_shipcall.py @@ -127,9 +127,8 @@ class InputValidationShipcall(): if is_put_data: # the type of a shipcall may not be changed. It can only be set with the initial POST-request. InputValidationShipcall.check_shipcall_type_is_unchanged(loadedModel) - else: - # time values must use future-dates - InputValidationShipcall.check_times_are_in_future(loadedModel, content) + + InputValidationShipcall.check_times_are_in_future(loadedModel, content) # some arguments must not be provided InputValidationShipcall.check_forbidden_arguments(content, forbidden_keys=forbidden_keys) @@ -426,6 +425,10 @@ class InputValidationShipcall(): if (tidal_window_to is not None) and (tidal_window_from is not None): if tidal_window_to < tidal_window_from: raise ValidationError({"tidal_window_to_or_tidal_window_from":f"'tidal_window_to' must take place after 'tidal_window_from'. Incorrect datetime provided. Found 'tidal_window_to': {tidal_window_to}, 'tidal_window_from': {tidal_window_to}."}) + + if (tidal_window_to is not None and tidal_window_from is None) or (tidal_window_to is None and tidal_window_from is not None): + raise ValidationError({"tidal_window_to_or_tidal_window_from":f"'tidal_window_to' and 'tidal_window_from' must both be provided."}) + return @staticmethod diff --git a/src/server/BreCal/validators/validation_error.py b/src/server/BreCal/validators/validation_error.py index 823a924..b10673d 100644 --- a/src/server/BreCal/validators/validation_error.py +++ b/src/server/BreCal/validators/validation_error.py @@ -41,7 +41,7 @@ def unbundle_validation_error_message(message): unbundle_(message, unbundled=unbundled) if len(unbundled)>0: error_field = "ValidationError in the following field(s): " + " & ".join([unb["error_field"] for unb in unbundled]) - error_description = "Error Description(s): " + " & ".join([unb["error_description"] for unb in unbundled]) + error_description = " " . join([unb["error_description"] for unb in unbundled]) else: error_field = "ValidationError" error_description = "unknown validation error"