From db70a081c1606007a1b4dcf97d80f4297452003e Mon Sep 17 00:00:00 2001 From: Francesco Ballarin Date: Tue, 19 Mar 2024 10:13:43 +0100 Subject: [PATCH] Add patch to display protocol numbers --- .../0012_display_protocol_numbers.patch | 97 +++++++++++++++++++ patches/turing/README.md | 1 + patches/turing/apply_patches.sh | 1 + 3 files changed, 99 insertions(+) create mode 100644 patches/turing/0012_display_protocol_numbers.patch diff --git a/patches/turing/0012_display_protocol_numbers.patch b/patches/turing/0012_display_protocol_numbers.patch new file mode 100644 index 0000000..7f20aab --- /dev/null +++ b/patches/turing/0012_display_protocol_numbers.patch @@ -0,0 +1,97 @@ +diff --git a/engine/models.py b/engine/models.py +index e9cd601..81d3460 100644 +--- a/engine/models.py ++++ b/engine/models.py +@@ -538,6 +538,7 @@ class Consegna(Evento): + frase = "La risposta che hai consegnato è esatta!" + else: + frase = "La risposta che hai consegnato è errata." ++ frase += f" Il numero di protocollo è {self.pk}." + return (True, frase) + + return res +@@ -573,4 +574,5 @@ class Jolly(Evento): + + if (res[0]): + self.save() ++ res = (res[0], res[1] + f". Il numero di protocollo è {self.pk}.") + return res +diff --git a/engine/tests.py b/engine/tests.py +index 2c7a6c2..2d07dd8 100644 +--- a/engine/tests.py ++++ b/engine/tests.py +@@ -973,7 +973,10 @@ class MyTestCase(TestCase): + messages = list(response.context["messages"]) + for i, m in enumerate(messages_post): + self.assertEqual(messages[i].tags, m["tag"]) +- self.assertEqual(messages[i].message, m["message"]) ++ if "partial" in m and m["partial"]: ++ assert m["message"] in messages[i].message ++ else: ++ self.assertEqual(messages[i].message, m["message"]) + if form_errors is not None: + form = response.context_data["form"] + self.assertEqual(dict(form.errors), form_errors) +@@ -1206,7 +1209,7 @@ class PermissionTests(MyTestCase, TuringTests): + self.assertTrue(self.user.is_inseritore(self.gara)) + + self.go_to_minute(130) +- self.view_helper(200, 200, messages_post=[{"tag": "info", "message": "La risposta che hai consegnato è errata."}]) ++ self.view_helper(200, 200, messages_post=[{"tag": "info", "message": f"La risposta che hai consegnato è errata.", "partial": True}]) + e = self.gara.eventi.get() + self.assertEqual(e.as_child().risposta, 76) + +@@ -1236,7 +1239,7 @@ class PermissionTests(MyTestCase, TuringTests): + self.gara.inseritori.add(self.user) + self.assertTrue(self.user.is_inseritore(self.gara)) + +- self.view_helper(200, 200, messages_post=[{"tag": "info", "message": "La risposta che hai consegnato è errata."}]) ++ self.view_helper(200, 200, messages_post=[{"tag": "info", "message": "La risposta che hai consegnato è errata.", "partial": True}]) + + self.assertTrue(self.gara.eventi.exists()) + e = self.gara.eventi.get() +@@ -1254,7 +1257,7 @@ class PermissionTests(MyTestCase, TuringTests): + self.gara.inseritori.add(self.user) + self.assertTrue(self.user.is_inseritore(self.gara)) + +- self.view_helper(200, 200, messages_post=[{"tag": "info", "message": "Inserimento avvenuto"}]) ++ self.view_helper(200, 200, messages_post=[{"tag": "info", "message": "Inserimento avvenuto", "partial": True}]) + + jolly = self.gara.get_jolly() + assert len(jolly) == 1 +@@ -1296,7 +1299,7 @@ class PermissionTests(MyTestCase, TuringTests): + s.save() + + # Stavolta va bene +- self.view_helper(200, 200, messages_post=[{"tag": "info", "message": "Inserimento avvenuto"}]) ++ self.view_helper(200, 200, messages_post=[{"tag": "info", "message": "Inserimento avvenuto", "partial": True}]) + self.assertTrue(self.gara.eventi.exists()) + self.assertEqual(self.gara.get_jolly(), [{'id': 1, 'squadra': 1, 'problema': 2}]) + +@@ -1316,7 +1319,7 @@ class PermissionTests(MyTestCase, TuringTests): + + # Inserisce la risposta per la squadra 1 + self.data = {'squadra': s1.pk, 'problema': 2, 'risposta': 76} +- self.view_helper(200, 200, messages_post=[{"tag": "info", "message": "La risposta che hai consegnato è errata."}]) ++ self.view_helper(200, 200, messages_post=[{"tag": "info", "message": "La risposta che hai consegnato è errata.", "partial": True}]) + + # Controlla gli eventi visibili + eventi = self.view_helper(200).context['eventi'] +@@ -1333,7 +1336,7 @@ class PermissionTests(MyTestCase, TuringTests): + + # Inserisce una nuova consegna + self.data = {'squadra': s2.pk, 'problema': 3, 'jolly': True} +- self.view_helper(200, 200, messages_post=[{"tag": "info", "message": "Inserimento avvenuto"}]) ++ self.view_helper(200, 200, messages_post=[{"tag": "info", "message": "Inserimento avvenuto", "partial": True}]) + + # Controlla gli eventi visibili + eventi = self.view_helper(200).context['eventi'] +@@ -1424,7 +1427,7 @@ class PermissionTests(MyTestCase, TuringTests): + sq = self.gara.squadre.all()[0] + + self.data = {'squadra': sq.pk, 'problema': 1, 'jolly': True} +- self.view_helper(200, 200, messages_post=[{"tag": "info", "message": "Inserimento avvenuto"}]) ++ self.view_helper(200, 200, messages_post=[{"tag": "info", "message": "Inserimento avvenuto", "partial": True}]) + + self.data = {'squadra': sq.pk, 'problema': 2, 'jolly': True} + self.view_helper(200, 200, messages_post=[{"tag": "danger", "message": "Inserimento non riuscito"}]) diff --git a/patches/turing/README.md b/patches/turing/README.md index 99ce3f5..61fb4c3 100644 --- a/patches/turing/README.md +++ b/patches/turing/README.md @@ -14,3 +14,4 @@ This directory contains a few local patches. Most of them are related to changes 9. `0009_upload_journal.patch`: allow user to upload and import a **mathrace** journal. 10. `0010_update_requirements.patch`: update versions in `requirements.txt`, after checking that tests still run correctly. 11. `0011_models_to_from_dict_fixes.patch`: fixes to `Gara.create_from_dictionary` and `Gara.to_dict`, so that the latter returns a fully serialized object, and the former does not change the input dictionary. +12. `0012_display_protocol_numbers.patch`: display the protocol number (primary key in the database) when adding a new answer or jolly selection through the web interface. diff --git a/patches/turing/apply_patches.sh b/patches/turing/apply_patches.sh index 289323e..a2c9b43 100755 --- a/patches/turing/apply_patches.sh +++ b/patches/turing/apply_patches.sh @@ -42,4 +42,5 @@ else apply_patch 0009_upload_journal.patch apply_patch 0010_update_requirements.patch apply_patch 0011_models_to_from_dict_fixes.patch + apply_patch 0012_display_protocol_numbers.patch fi