From 97ba3fe7935bc7589a8bbfe22798363a10257f9f Mon Sep 17 00:00:00 2001 From: "me@jeffersonbledsoe.com" Date: Thu, 20 Jul 2023 23:27:41 +0100 Subject: [PATCH 1/3] Initial attempt at friendly-formatting sent dates --- .../restapi/services/submit_form/post.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/collective/volto/formsupport/restapi/services/submit_form/post.py b/src/collective/volto/formsupport/restapi/services/submit_form/post.py index e784e41e..a02088cd 100644 --- a/src/collective/volto/formsupport/restapi/services/submit_form/post.py +++ b/src/collective/volto/formsupport/restapi/services/submit_form/post.py @@ -293,7 +293,7 @@ def prepare_message(self): request=self.request, ) parameters = { - "parameters": self.filter_parameters(), + "parameters": self.format_fields(self.filter_parameters()), "url": self.context.absolute_url(), "title": self.context.Title(), } @@ -314,6 +314,20 @@ def filter_parameters(self): if x.get("field_id", "") not in skip_fields ] + def format_fields(self, fields): + formatted_fields = [] + field_ids = [field.get("field_id") for field in self.block.get("subblocks", [])] + for field in fields: + field_id = field.get("field_id", "") + field_index = field_ids.index(field_id) + if self.block["subblocks"][field_index].get("field_type") == "date": + field["value"] = api.portal.get_localized_time(field["value"]) + import pdb + + pdb.set_trace() + formatted_fields.append(field) + return formatted_fields + def send_mail(self, msg, charset): host = api.portal.get_tool(name="MailHost") # we set immediate=True because we need to catch exceptions. From 564753ad6aa94e563d265fe0044cf6d5d2935ac7 Mon Sep 17 00:00:00 2001 From: "me@jeffersonbledsoe.com" Date: Thu, 20 Jul 2023 23:35:37 +0100 Subject: [PATCH 2/3] Remove pdb --- .../volto/formsupport/restapi/services/submit_form/post.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/collective/volto/formsupport/restapi/services/submit_form/post.py b/src/collective/volto/formsupport/restapi/services/submit_form/post.py index a02088cd..a3485a9a 100644 --- a/src/collective/volto/formsupport/restapi/services/submit_form/post.py +++ b/src/collective/volto/formsupport/restapi/services/submit_form/post.py @@ -322,9 +322,6 @@ def format_fields(self, fields): field_index = field_ids.index(field_id) if self.block["subblocks"][field_index].get("field_type") == "date": field["value"] = api.portal.get_localized_time(field["value"]) - import pdb - - pdb.set_trace() formatted_fields.append(field) return formatted_fields From eb54f24c8b6691f0871291400b7012f56d9fe0e0 Mon Sep 17 00:00:00 2001 From: Mauro Amico Date: Wed, 21 Feb 2024 17:02:04 +0100 Subject: [PATCH 3/3] fix tests --- .../volto/formsupport/restapi/services/submit_form/post.py | 7 ++++--- .../volto/formsupport/tests/test_store_action_form.py | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/collective/volto/formsupport/restapi/services/submit_form/post.py b/src/collective/volto/formsupport/restapi/services/submit_form/post.py index 798b623f..0b974234 100644 --- a/src/collective/volto/formsupport/restapi/services/submit_form/post.py +++ b/src/collective/volto/formsupport/restapi/services/submit_form/post.py @@ -375,9 +375,10 @@ def format_fields(self, fields): field_ids = [field.get("field_id") for field in self.block.get("subblocks", [])] for field in fields: field_id = field.get("field_id", "") - field_index = field_ids.index(field_id) - if self.block["subblocks"][field_index].get("field_type") == "date": - field["value"] = api.portal.get_localized_time(field["value"]) + if field_id: + field_index = field_ids.index(field_id) + if self.block["subblocks"][field_index].get("field_type") == "date": + field["value"] = api.portal.get_localized_time(field["value"]) formatted_fields.append(field) return formatted_fields diff --git a/src/collective/volto/formsupport/tests/test_store_action_form.py b/src/collective/volto/formsupport/tests/test_store_action_form.py index fd0af723..cd781c2c 100644 --- a/src/collective/volto/formsupport/tests/test_store_action_form.py +++ b/src/collective/volto/formsupport/tests/test_store_action_form.py @@ -247,7 +247,7 @@ def test_export_csv(self): self.assertEqual(sorted_data[1][:-1], ["just want to say hi", "John"]) # check date column. Skip seconds because can change during test - now = datetime.utcnow().strftime("%Y-%m-%dT%H:%M") + now = datetime.now().strftime("%Y-%m-%dT%H:%M") self.assertTrue(sorted_data[0][-1].startswith(now)) self.assertTrue(sorted_data[1][-1].startswith(now)) @@ -307,6 +307,6 @@ def test_data_id_mapping(self): self.assertEqual(sorted_data[1][:-1], ["just want to say hi", "John"]) # check date column. Skip seconds because can change during test - now = datetime.utcnow().strftime("%Y-%m-%dT%H:%M") + now = datetime.now().strftime("%Y-%m-%dT%H:%M") self.assertTrue(sorted_data[0][-1].startswith(now)) self.assertTrue(sorted_data[1][-1].startswith(now))