From 35ad8ade7a67b7cfe585328e910063abc4d4971d Mon Sep 17 00:00:00 2001 From: Luca Bellenghi Date: Tue, 5 Sep 2023 10:26:23 +0200 Subject: [PATCH] update booking schema adding booking_code field. the booking_code will be generated on booking creation --- buildout.cfg | 4 +- .../prenotazioni/browser/prenotazione_add.py | 3 +- .../prenotazioni/content/prenotazione.py | 11 +- .../prenotazioni/events/configure.zcml | 6 + .../prenotazioni/events/prenotazione.py | 16 +- .../en/LC_MESSAGES/redturtle.prenotazioni.po | 155 ++++++++++-------- .../it/LC_MESSAGES/redturtle.prenotazioni.po | 155 ++++++++++-------- .../locales/redturtle.prenotazioni.pot | 155 ++++++++++-------- .../prenotazioni/tests/test_add_booking.py | 49 +++++- 9 files changed, 323 insertions(+), 231 deletions(-) diff --git a/buildout.cfg b/buildout.cfg index 14ead57e..a2653be1 100644 --- a/buildout.cfg +++ b/buildout.cfg @@ -2,5 +2,5 @@ # use this extend one of the buildout configuration: extends = -# test-6.0.x.cfg - test-5.2.x.cfg + test-6.0.x.cfg +# test-5.2.x.cfg diff --git a/src/redturtle/prenotazioni/browser/prenotazione_add.py b/src/redturtle/prenotazioni/browser/prenotazione_add.py index 69b09632..6e1a0e5f 100644 --- a/src/redturtle/prenotazioni/browser/prenotazione_add.py +++ b/src/redturtle/prenotazioni/browser/prenotazione_add.py @@ -59,7 +59,8 @@ def fields(self): fields["booking_type"].widgetFactory = CustomRadioFieldWidget # omit some fields - fields = fields.omit("gate").omit("booking_expiration_date").omit("staff_notes") + fields = fields.omit("gate").omit("booking_expiration_date") + fields = fields.omit("staff_notes").omit("booking_code") # move title on top (after the type) ids = [x for x in fields.keys()] diff --git a/src/redturtle/prenotazioni/content/prenotazione.py b/src/redturtle/prenotazioni/content/prenotazione.py index 8a7bdd0c..7ce4d219 100644 --- a/src/redturtle/prenotazioni/content/prenotazione.py +++ b/src/redturtle/prenotazioni/content/prenotazione.py @@ -15,7 +15,6 @@ from zope.interface import implementer from zope.schema import ValidationError -import hashlib import re import six @@ -174,6 +173,13 @@ class IPrenotazione(model.Schema): title=_("Expiration date booking"), required=True ) + directives.mode(booking_code="display") + booking_code = schema.TextLine( + title=_("Booking code"), + description=_("Codice univoco della prenotazione"), + required=False + ) + staff_notes = schema.Text( required=False, title=_("label_booking_staff_notes", "Staff notes") ) @@ -255,8 +261,7 @@ def Date(self): return DateTime(self.getBooking_date()) def getBookingCode(self): - hash_obj = hashlib.blake2b(bytes(self.UID(), encoding="utf8"), digest_size=3) - return hash_obj.hexdigest().upper() + return self.booking_code def canAccessBooking(self): creator = self.Creator() diff --git a/src/redturtle/prenotazioni/events/configure.zcml b/src/redturtle/prenotazioni/events/configure.zcml index a1e4eb8a..9db2ae8d 100644 --- a/src/redturtle/prenotazioni/events/configure.zcml +++ b/src/redturtle/prenotazioni/events/configure.zcml @@ -23,6 +23,12 @@ handler=".events_logger.on_modify" /> + + \n" "Language-Team: LANGUAGE \n" @@ -39,12 +39,12 @@ msgstr "" msgid "Add moved booking Mail Action" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:475 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:484 #: redturtle/prenotazioni/content/validators.py:212 msgid "Afternoon start should not be greater than end." msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:480 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:489 msgid "App IO notification" msgstr "" @@ -68,6 +68,10 @@ msgstr "" msgid "Booking Year Folder" msgstr "" +#: redturtle/prenotazioni/content/prenotazione.py:178 +msgid "Booking code" +msgstr "" + #: redturtle/prenotazioni/browser/templates/prenotazione.pt:33 msgid "Booking for" msgstr "" @@ -85,6 +89,10 @@ msgstr "" msgid "Change date/time" msgstr "" +#: redturtle/prenotazioni/content/prenotazione.py:179 +msgid "Codice univoco della prenotazione" +msgstr "" + #. Default: "Complete address" #: redturtle/prenotazioni/behaviors/booking_folder.py:42 msgid "Complete address" @@ -123,19 +131,19 @@ msgstr "" msgid "Cosa serve" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:251 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:249 msgid "Data fine validità" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:248 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:246 msgid "Data inizio validità" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:596 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:605 msgid "Date validità" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:399 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:408 msgid "Days booking is not allowed before" msgstr "" @@ -207,7 +215,7 @@ msgstr "" msgid "Inserire il testo di presentazione dell'agenda corrente" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:445 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:454 msgid "Insert a list of email addresses that will be notified when new bookings get created." msgstr "" @@ -231,11 +239,11 @@ msgstr "" msgid "Insert here the contact phone" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:361 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:359 msgid "Insert pause table schema." msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:284 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:282 msgid "Insert week table schema." msgstr "" @@ -243,7 +251,7 @@ msgstr "" msgid "Installs the redturtle.prenotazioni add-on." msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:387 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:396 msgid "Max days in the future" msgstr "" @@ -255,7 +263,7 @@ msgstr "" msgid "Monday" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:472 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:481 #: redturtle/prenotazioni/content/validators.py:207 msgid "Morning start should not be greater than end." msgstr "" @@ -274,7 +282,7 @@ msgstr "" msgid "Nessuno slot creato, verificare la corretteza dei dati inseriti" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:263 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:261 msgid "No" msgstr "" @@ -290,7 +298,7 @@ msgstr "" msgid "Pause should be included in morning slot or afternoon slot" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:360 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:358 msgid "Pause table" msgstr "" @@ -330,7 +338,7 @@ msgstr "" msgid "Required input is missing." msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:444 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:453 msgid "Responsible email" msgstr "" @@ -475,7 +483,7 @@ msgstr "" msgid "Uninstalls the redturtle.prenotazioni add-on." msgstr "" -#: redturtle/prenotazioni/restapi/services/booking/add.py:93 +#: redturtle/prenotazioni/restapi/services/booking/add.py:106 msgid "Unknown booking type '${booking_type}'." msgstr "" @@ -493,11 +501,11 @@ msgstr "" msgid "Wednesday" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:283 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:281 msgid "Week table" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:262 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:260 msgid "Yes" msgstr "" @@ -509,27 +517,27 @@ msgstr "" msgid "You must set both start and end" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:469 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:478 #: redturtle/prenotazioni/content/validators.py:202 msgid "You should set a start time for afternoon." msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:465 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:474 #: redturtle/prenotazioni/content/validators.py:194 msgid "You should set a start time for morning." msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:467 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:476 #: redturtle/prenotazioni/content/validators.py:198 msgid "You should set an end time for afternoon." msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:463 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:472 #: redturtle/prenotazioni/content/validators.py:190 msgid "You should set an end time for morning." msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:460 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:469 msgid "You should set at least one booking type." msgstr "" @@ -538,7 +546,7 @@ msgid "[DEPRECATED] The booking print url with delete token." msgstr "" #. Default: "Leave empty, and this Booking Folder will never expire" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:252 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:250 msgid "aData_help" msgstr "" @@ -576,17 +584,17 @@ msgid "afternoon_start_label" msgstr "" #. Default: "Automatically confirm." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:434 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:443 msgid "auto_confirm" msgstr "" #. Default: "All bookings will be automatically accepted." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:435 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:444 msgid "auto_confirm_help" msgstr "" #. Default: "End date should be greater than start." -#: redturtle/prenotazioni/restapi/services/available_slots/get.py:41 +#: redturtle/prenotazioni/restapi/services/available_slots/get.py:43 msgid "available_slots_wrong_dates" msgstr "" @@ -655,12 +663,12 @@ msgid "booking_type_widget_warn_unavailable" msgstr "" #. Default: "Put booking types there (one per line).\nIf you do not provide this field, not type selection will be available" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:410 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:419 msgid "booking_types_help" msgstr "" #. Default: "Booking types" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:409 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:418 msgid "booking_types_label" msgstr "" @@ -768,17 +776,17 @@ msgid "fullname" msgstr "" #. Default: "Limit booking in the future to an amount of days in the future starting from the current day. \nKeep 0 to give no limits." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:388 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:397 msgid "futureDays" msgstr "" #. Default: "Put gates here (one per line)." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:427 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:436 msgid "gates_help" msgstr "" #. Default: "Gates" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:426 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:435 msgid "gates_label" msgstr "" @@ -787,12 +795,12 @@ msgid "help_prenotazione_add" msgstr "" #. Default: "User will not be able to add a booking unless those fields are filled. Remember that, whatever you selected in this list, users have to supply at least one of \"Email\", \"Mobile\", or \"Telephone\"" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:214 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:232 msgid "help_required_booking_fields" msgstr "" #. Default: "States if it is not allowed to reserve a booking during the current day" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:273 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:271 msgid "help_same_day_booking_disallowed" msgstr "" @@ -802,17 +810,17 @@ msgid "help_tipologies" msgstr "" #. Default: "User will not be able to add a booking unless those fields are filled. Remember that, whatever you selected in this list, users have to supply at least one of \"Email\" or \"Telephone\"" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:232 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:214 msgid "help_visible_booking_fields" msgstr "" #. Default: "Set holidays (one for line) in DD/MM/YYYY. you can write * for the year, if this event is yearly." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:374 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:372 msgid "holidays_help" msgstr "" #. Default: "Holidays" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:373 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:371 msgid "holidays_label" msgstr "" @@ -913,7 +921,7 @@ msgstr "" #. Default: "Staff notes" #: redturtle/prenotazioni/browser/templates/prenotazione.pt:84 -#: redturtle/prenotazioni/content/prenotazione.py:178 +#: redturtle/prenotazioni/content/prenotazione.py:182 msgid "label_booking_staff_notes" msgstr "" @@ -966,12 +974,12 @@ msgid "label_new_booking_notify_link" msgstr "" #. Default: "Required booking fields" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:213 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:231 msgid "label_required_booking_fields" msgstr "" #. Default: "Disallow same day booking" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:269 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:267 msgid "label_same_day_booking_disallowed" msgstr "" @@ -1013,7 +1021,7 @@ msgid "label_user" msgstr "" #. Default: "Visible booking fields" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:231 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:213 msgid "label_visible_booking_fields" msgstr "" @@ -1088,27 +1096,27 @@ msgid "next-week" msgstr "" #. Default: "Booking is not allowed before the amount of days specified. \nKeep 0 to give no limits." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:400 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:409 msgid "notBeforeDays" msgstr "" #. Default: "Notifications" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:626 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:635 msgid "notifications_label" msgstr "" #. Default: "Notify when confirmed." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:495 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:504 msgid "notify_on_confirm" msgstr "" #. Default: "Notify via mail the user when his booking has been confirmed." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:496 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:505 msgid "notify_on_confirm_help" msgstr "" #. Default: "Prenotazione confirmed notification message." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:549 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:558 msgid "notify_on_confirm_message" msgstr "" @@ -1118,12 +1126,12 @@ msgstr "" msgid "notify_on_confirm_message_default_value" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:553 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:562 msgid "notify_on_confirm_message_help" msgstr "" #. Default: "Prenotazione confirmed notification subject." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:540 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:549 msgid "notify_on_confirm_subject" msgstr "" @@ -1133,22 +1141,22 @@ msgstr "" msgid "notify_on_confirm_subject_default_value" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:544 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:553 msgid "notify_on_confirm_subject_help" msgstr "" #. Default: "Notify when moved." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:504 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:513 msgid "notify_on_move" msgstr "" #. Default: "Notify via mail the user when his booking has been moved." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:505 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:514 msgid "notify_on_move_help" msgstr "" #. Default: "Prenotazione moved notification message." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:567 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:576 msgid "notify_on_move_message" msgstr "" @@ -1158,12 +1166,12 @@ msgstr "" msgid "notify_on_move_message_default_value" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:571 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:580 msgid "notify_on_move_message_help" msgstr "" #. Default: "Prenotazione moved notification subject." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:558 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:567 msgid "notify_on_move_subject" msgstr "" @@ -1173,22 +1181,22 @@ msgstr "" msgid "notify_on_move_subject_default_value" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:562 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:571 msgid "notify_on_move_subject_help" msgstr "" #. Default: "Notify when rejected." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:513 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:522 msgid "notify_on_refuse" msgstr "" #. Default: "Notify via mail the user when his booking has been rejected." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:514 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:523 msgid "notify_on_refuse_help" msgstr "" #. Default: "Prenotazione created notification message." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:585 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:594 msgid "notify_on_refuse_message" msgstr "" @@ -1198,12 +1206,12 @@ msgstr "" msgid "notify_on_refuse_message_default_value" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:589 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:598 msgid "notify_on_refuse_message_help" msgstr "" #. Default: "Prenotazione refused notification subject." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:576 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:585 msgid "notify_on_refuse_subject" msgstr "" @@ -1213,22 +1221,22 @@ msgstr "" msgid "notify_on_refuse_subject_default_value" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:580 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:589 msgid "notify_on_refuse_subject_help" msgstr "" #. Default: "Notify when created." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:486 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:495 msgid "notify_on_submit" msgstr "" #. Default: "Notify via mail the user when his booking has been created. If auto-confirm flag is selected and confirm notify is selected, this one will be ignored." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:487 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:496 msgid "notify_on_submit_help" msgstr "" #. Default: "Prenotazione created notification message." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:531 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:540 msgid "notify_on_submit_message" msgstr "" @@ -1238,12 +1246,12 @@ msgstr "" msgid "notify_on_submit_message_default_value" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:535 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:544 msgid "notify_on_submit_message_help" msgstr "" #. Default: "Prenotazione created notification subject." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:522 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:531 msgid "notify_on_submit_subject" msgstr "" @@ -1253,7 +1261,7 @@ msgstr "" msgid "notify_on_submit_subject_default_value" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:526 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:535 msgid "notify_on_submit_subject_help" msgstr "" @@ -1278,7 +1286,7 @@ msgid "prenotation_slot_message" msgstr "" #. Default: "Testo delle email di notifica" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:636 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:645 msgid "prenotazioni_email_templates_label" msgstr "" @@ -1319,7 +1327,7 @@ msgid "reject_booking" msgstr "" #. Default: "Reminders" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:680 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:689 msgid "reminders_label" msgstr "" @@ -1396,6 +1404,11 @@ msgstr "" msgid "to_month_too_days_error" msgstr "" +#. Default: "You can't add a booking with type '${booking_type}'." +#: redturtle/prenotazioni/restapi/services/booking/add.py:82 +msgid "unauthorized_add_vacation" +msgstr "" + #. Default: "Unbookable time" #: redturtle/prenotazioni/browser/templates/prenotazione_macros.pt:304 msgid "unbookable_time" @@ -1413,12 +1426,12 @@ msgid "view_booking" msgstr "" #. Default: "Insert here week schema for some custom date intervals." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:351 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:349 msgid "week_table_overrides_help" msgstr "" #. Default: "Week table overrides" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:350 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:348 msgid "week_table_overrides_label" msgstr "" diff --git a/src/redturtle/prenotazioni/locales/it/LC_MESSAGES/redturtle.prenotazioni.po b/src/redturtle/prenotazioni/locales/it/LC_MESSAGES/redturtle.prenotazioni.po index 0010bdac..1a7147ed 100644 --- a/src/redturtle/prenotazioni/locales/it/LC_MESSAGES/redturtle.prenotazioni.po +++ b/src/redturtle/prenotazioni/locales/it/LC_MESSAGES/redturtle.prenotazioni.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2023-08-28 10:23+0000\n" +"POT-Creation-Date: 2023-09-04 14:24+0000\n" "PO-Revision-Date: 2014-05-27 17:36+0200\n" "Last-Translator: Alessandro Pisa \n" "Language-Team: American English \n" @@ -42,12 +42,12 @@ msgstr "Aggiungi" msgid "Add moved booking Mail Action" msgstr "Aggiungi Mail Action per lo spostamento delle prenotazioni" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:475 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:484 #: redturtle/prenotazioni/content/validators.py:212 msgid "Afternoon start should not be greater than end." msgstr "L'orario di inizio del pomeriggio non può essere successivo alla chiusura." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:480 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:489 msgid "App IO notification" msgstr "Notifiche App IO" @@ -71,6 +71,10 @@ msgstr "Cartella settimana prenotazioni" msgid "Booking Year Folder" msgstr "Cartella anno prenotazioni" +#: redturtle/prenotazioni/content/prenotazione.py:178 +msgid "Booking code" +msgstr "Codice prenotazione" + #: redturtle/prenotazioni/browser/templates/prenotazione.pt:33 msgid "Booking for" msgstr "Prenotazione di" @@ -88,6 +92,10 @@ msgstr "tipologia" msgid "Change date/time" msgstr "Cambia la data di prenotazione." +#: redturtle/prenotazioni/content/prenotazione.py:179 +msgid "Codice univoco della prenotazione" +msgstr "" + #. Default: "Complete address" #: redturtle/prenotazioni/behaviors/booking_folder.py:42 msgid "Complete address" @@ -126,19 +134,19 @@ msgstr "Elenco dei contenuti" msgid "Cosa serve" msgstr "Cosa serve" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:251 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:249 msgid "Data fine validità" msgstr "Data fine validità" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:248 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:246 msgid "Data inizio validità" msgstr "Data inizio validità" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:596 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:605 msgid "Date validità" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:399 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:408 msgid "Days booking is not allowed before" msgstr "Giorni da cui si può effettuare una prenotazione" @@ -210,7 +218,7 @@ msgstr "Informazioni relativa ad una singola prenotazione" msgid "Inserire il testo di presentazione dell'agenda corrente" msgstr "Inserire il testo di presentazione dell'agenda corrente" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:445 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:454 msgid "Insert a list of email addresses that will be notified when new bookings get created." msgstr "Inserisci una lista di indirizzi email che verranno notificati alla creazione di una nuova prenotazione." @@ -234,11 +242,11 @@ msgstr "Inserire il numero di FAX per per contattare l'ufficio" msgid "Insert here the contact phone" msgstr "Inserire il numero di telefono per contattare l'ufficio" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:361 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:359 msgid "Insert pause table schema." msgstr "Inserisci le pause giornaliere. Esistono tre tipi di vincolo: una data di termine pausa deve essere maggiore della data di inizio pausa; le pause nello stesso giorno non possono sovrapporsi; le pause devono essere comprese fra l'inizio e la fine dell'orario di lavoro." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:284 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:282 msgid "Insert week table schema." msgstr "Compila la tabella degli orari della settimana." @@ -246,7 +254,7 @@ msgstr "Compila la tabella degli orari della settimana." msgid "Installs the redturtle.prenotazioni add-on." msgstr "Install redturtle.prenotazioni" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:387 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:396 msgid "Max days in the future" msgstr "Massimi giorni nel futuro" @@ -258,7 +266,7 @@ msgstr "Messaggio" msgid "Monday" msgstr "Lunedì" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:472 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:481 #: redturtle/prenotazioni/content/validators.py:207 msgid "Morning start should not be greater than end." msgstr "L'orario di inizio della mattina non può essere successivo alla fine." @@ -277,7 +285,7 @@ msgstr "Sposta in su" msgid "Nessuno slot creato, verificare la corretteza dei dati inseriti" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:263 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:261 msgid "No" msgstr "No" @@ -293,7 +301,7 @@ msgstr "Il termine della pausa non può avvenire prima del suo inizio" msgid "Pause should be included in morning slot or afternoon slot" msgstr "Le pause devono essere comprese tra l'orario di inizio o di termine dell'intervallo di orari di lavoro" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:360 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:358 msgid "Pause table" msgstr "Schedulazione delle pause" @@ -333,7 +341,7 @@ msgstr "Campo obbligatorio '${field}' mancante." msgid "Required input is missing." msgstr "Manca l'input obbligatorio." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:444 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:453 msgid "Responsible email" msgstr "Email del responsabile" @@ -478,7 +486,7 @@ msgstr "Martedì" msgid "Uninstalls the redturtle.prenotazioni add-on." msgstr "Disinstall redturtle.prenotazioni" -#: redturtle/prenotazioni/restapi/services/booking/add.py:93 +#: redturtle/prenotazioni/restapi/services/booking/add.py:106 msgid "Unknown booking type '${booking_type}'." msgstr "Tipologia di prenotazione sconosciuta '${booking_type}'." @@ -496,11 +504,11 @@ msgstr "Vista" msgid "Wednesday" msgstr "Mercoledì" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:283 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:281 msgid "Week table" msgstr "Schedulazione settimanale" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:262 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:260 msgid "Yes" msgstr "Si" @@ -512,27 +520,27 @@ msgstr "" msgid "You must set both start and end" msgstr "Devi impostare sia un orario di inizio che di termine della pausa" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:469 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:478 #: redturtle/prenotazioni/content/validators.py:202 msgid "You should set a start time for afternoon." msgstr "Devi impostare una data di inizio per il pomeriggio." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:465 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:474 #: redturtle/prenotazioni/content/validators.py:194 msgid "You should set a start time for morning." msgstr "Devi impostare una data di inizio per la mattina." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:467 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:476 #: redturtle/prenotazioni/content/validators.py:198 msgid "You should set an end time for afternoon." msgstr "Devi impostare una data di fine per il pomeriggio." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:463 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:472 #: redturtle/prenotazioni/content/validators.py:190 msgid "You should set an end time for morning." msgstr "Devi impostare una data di fine per la mattina." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:460 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:469 msgid "You should set at least one booking type." msgstr "Devi impostare almeno una tipologia di prenotazione." @@ -541,7 +549,7 @@ msgid "[DEPRECATED] The booking print url with delete token." msgstr "[DEPRECATO] L'url della prenotazione con il token per la cancellazione." #. Default: "Leave empty, and this Booking Folder will never expire" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:252 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:250 msgid "aData_help" msgstr "Lascia vuoto, e questa Cartella Prenotazioni non avrà scadenza" @@ -579,17 +587,17 @@ msgid "afternoon_start_label" msgstr "Apertura pomeriggio" #. Default: "Automatically confirm." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:434 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:443 msgid "auto_confirm" msgstr "Conferma automatica delle prenotazioni" #. Default: "All bookings will be automatically accepted." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:435 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:444 msgid "auto_confirm_help" msgstr "Tutte le prenotazioni verranno accettate automaticamente" #. Default: "End date should be greater than start." -#: redturtle/prenotazioni/restapi/services/available_slots/get.py:41 +#: redturtle/prenotazioni/restapi/services/available_slots/get.py:43 msgid "available_slots_wrong_dates" msgstr "" @@ -659,12 +667,12 @@ msgid "booking_type_widget_warn_unavailable" msgstr "Le seguenti tipologie non sono selezionabili nell'orario selezionato:" #. Default: "Put booking types there (one per line).\nIf you do not provide this field, not type selection will be available" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:410 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:419 msgid "booking_types_help" msgstr "Inserisci le tipologie di prenotazioni." #. Default: "Booking types" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:409 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:418 msgid "booking_types_label" msgstr "Tipologie di prenotazioni" @@ -772,17 +780,17 @@ msgid "fullname" msgstr "Nome completo" #. Default: "Limit booking in the future to an amount of days in the future starting from the current day. \nKeep 0 to give no limits." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:388 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:397 msgid "futureDays" msgstr "Limita la prenotazione ad un certo numero di giorni nel futuro partendo dal day corrente.Lascia 0 per non dare limiti." #. Default: "Put gates here (one per line)." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:427 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:436 msgid "gates_help" msgstr "Inserisci le postazioni preposte (uno per riga)." #. Default: "Gates" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:426 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:435 msgid "gates_label" msgstr "Postazioni preposte" @@ -791,12 +799,12 @@ msgid "help_prenotazione_add" msgstr "" #. Default: "User will not be able to add a booking unless those fields are filled. Remember that, whatever you selected in this list, users have to supply at least one of \"Email\", \"Mobile\", or \"Telephone\"" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:214 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:232 msgid "help_required_booking_fields" msgstr "Gli utenti non saranno in grado di creare una prenotazione senza compilare i seguenti campi. Gli utenti saranno comunque sempre obbligati ad inserire un'email o un recapito telefonico." #. Default: "States if it is not allowed to reserve a booking during the current day" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:273 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:271 msgid "help_same_day_booking_disallowed" msgstr "Se selezionato, impedisce agli utenti di prenotare per il giorno corrente." @@ -806,17 +814,17 @@ msgid "help_tipologies" msgstr "Lista dei tipi di prenotazione disponibili per l'agenda corrente" #. Default: "User will not be able to add a booking unless those fields are filled. Remember that, whatever you selected in this list, users have to supply at least one of \"Email\" or \"Telephone\"" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:232 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:214 msgid "help_visible_booking_fields" msgstr "Gli utenti vedranno solo i campi selezionati all'atto della creazione della prenotazione." #. Default: "Set holidays (one for line) in DD/MM/YYYY. you can write * for the year, if this event is yearly." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:374 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:372 msgid "holidays_help" msgstr "Imposta eventuali festività (una per riga) nel formato GG/MM/AAAA. Se la data si ripete ogni anno, puoi scrivere * al posto dell'anno." #. Default: "Holidays" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:373 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:371 msgid "holidays_label" msgstr "Festività" @@ -919,7 +927,7 @@ msgstr "Numero di telefono" #. Default: "Staff notes" #: redturtle/prenotazioni/browser/templates/prenotazione.pt:84 -#: redturtle/prenotazioni/content/prenotazione.py:178 +#: redturtle/prenotazioni/content/prenotazione.py:182 msgid "label_booking_staff_notes" msgstr "Note del personale" @@ -972,12 +980,12 @@ msgid "label_new_booking_notify_link" msgstr "Vai alla prenotazione per gestirla e vedere maggiori dettagli" #. Default: "Required booking fields" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:213 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:231 msgid "label_required_booking_fields" msgstr "Campi obbligatori" #. Default: "Disallow same day booking" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:269 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:267 msgid "label_same_day_booking_disallowed" msgstr "Disabilita la prenotazione per lo stesso giorno" @@ -1019,7 +1027,7 @@ msgid "label_user" msgstr "Utente" #. Default: "Visible booking fields" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:231 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:213 msgid "label_visible_booking_fields" msgstr "Campi da visualizzare" @@ -1095,27 +1103,27 @@ msgid "next-week" msgstr "Settimana successiva" #. Default: "Booking is not allowed before the amount of days specified. \nKeep 0 to give no limits." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:400 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:409 msgid "notBeforeDays" msgstr "La prenotazione non e' permessa prima del numero di giorni specificata. Impostare il valore 0 per non imporre limitazioni." #. Default: "Notifications" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:626 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:635 msgid "notifications_label" msgstr "Notifiche email" #. Default: "Notify when confirmed." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:495 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:504 msgid "notify_on_confirm" msgstr "Notifica alla conferma" #. Default: "Notify via mail the user when his booking has been confirmed." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:496 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:505 msgid "notify_on_confirm_help" msgstr "Notifica l'utente via email quando la prenotazione viene confermata." #. Default: "Prenotazione confirmed notification message." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:549 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:558 msgid "notify_on_confirm_message" msgstr "Testo notifica prenotazione confermata" @@ -1125,12 +1133,12 @@ msgstr "Testo notifica prenotazione confermata" msgid "notify_on_confirm_message_default_value" msgstr "La prenotazione ${booking_type} per ${title} è stata confermata! Se non hai salvato o stampato il promemoria, puoi visualizzarlo su questo link Se desideri cancellare la prenotazione, accedi a questo link" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:553 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:562 msgid "notify_on_confirm_message_help" msgstr "" #. Default: "Prenotazione confirmed notification subject." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:540 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:549 msgid "notify_on_confirm_subject" msgstr "Oggetto notifica prenotazione confermata" @@ -1140,22 +1148,22 @@ msgstr "Oggetto notifica prenotazione confermata" msgid "notify_on_confirm_subject_default_value" msgstr "Prenotazione del ${booking_date} alle ${booking_time} accettata" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:544 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:553 msgid "notify_on_confirm_subject_help" msgstr "" #. Default: "Notify when moved." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:504 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:513 msgid "notify_on_move" msgstr "Notifica se la prenotazione è stata spostata" #. Default: "Notify via mail the user when his booking has been moved." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:505 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:514 msgid "notify_on_move_help" msgstr "Notifica l'utente via mail quando la prenotazione viene spostata." #. Default: "Prenotazione moved notification message." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:567 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:576 msgid "notify_on_move_message" msgstr "Testo notifica prenotazione spostata" @@ -1165,12 +1173,12 @@ msgstr "Testo notifica prenotazione spostata" msgid "notify_on_move_message_default_value" msgstr "L'orario della sua prenotazione ${booking_type} è stata modificata. La nuova data è ${booking_date} alle ore ${booking_time}. Controlla o stampa il nuovo promemoria su questo link." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:571 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:580 msgid "notify_on_move_message_help" msgstr "" #. Default: "Prenotazione moved notification subject." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:558 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:567 msgid "notify_on_move_subject" msgstr "Oggetto notifica prenotazione spostata" @@ -1180,22 +1188,22 @@ msgstr "Oggetto notifica prenotazione spostata" msgid "notify_on_move_subject_default_value" msgstr "Modifica data di prenotazione per ${title}" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:562 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:571 msgid "notify_on_move_subject_help" msgstr "" #. Default: "Notify when rejected." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:513 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:522 msgid "notify_on_refuse" msgstr "Notifica se viene cancellata" #. Default: "Notify via mail the user when his booking has been rejected." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:514 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:523 msgid "notify_on_refuse_help" msgstr "Notifica l'utente via mail se la prenotazione viene cancellata" #. Default: "Prenotazione created notification message." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:585 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:594 msgid "notify_on_refuse_message" msgstr "Testo notifica prenotazione rifiutata" @@ -1205,12 +1213,12 @@ msgstr "Testo notifica prenotazione rifiutata" msgid "notify_on_refuse_message_default_value" msgstr "La prenotazione ${booking_type} del ${booking_date} delle ore ${booking_time} è stata rifiutata." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:589 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:598 msgid "notify_on_refuse_message_help" msgstr "" #. Default: "Prenotazione refused notification subject." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:576 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:585 msgid "notify_on_refuse_subject" msgstr "Oggetto notifica prenotazione rifiutata" @@ -1220,22 +1228,22 @@ msgstr "Oggetto notifica prenotazione rifiutata" msgid "notify_on_refuse_subject_default_value" msgstr "Prenotazione rifiutata per ${title}" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:580 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:589 msgid "notify_on_refuse_subject_help" msgstr "" #. Default: "Notify when created." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:486 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:495 msgid "notify_on_submit" msgstr "Notifica alla prenotazione creata" #. Default: "Notify via mail the user when his booking has been created. If auto-confirm flag is selected and confirm notify is selected, this one will be ignored." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:487 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:496 msgid "notify_on_submit_help" msgstr "Notifica l'utente via email quando la prenotazione viene creata. Se il flag di conferma automatica è stato selezionato, l'opzione corrente sarà ignorata" #. Default: "Prenotazione created notification message." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:531 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:540 msgid "notify_on_submit_message" msgstr "Testo notifica prenotazione creata" @@ -1245,12 +1253,12 @@ msgstr "Testo notifica prenotazione creata" msgid "notify_on_submit_message_default_value" msgstr "La prenotazione ${booking_type} per il ${booking_date} alle ${booking_time} è stata creata. Riceverete una mail di conferma quando la prenotazione verrà confermata definitivamente. Se non hai salvato o stampato il promemoria, puoi visualizzarlo questo link" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:535 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:544 msgid "notify_on_submit_message_help" msgstr "" #. Default: "Prenotazione created notification subject." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:522 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:531 msgid "notify_on_submit_subject" msgstr "Oggetto notifica prenotazione creata" @@ -1260,7 +1268,7 @@ msgstr "Oggetto notifica prenotazione creata" msgid "notify_on_submit_subject_default_value" msgstr "Prenotazione creata correttamente per ${title}" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:526 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:535 msgid "notify_on_submit_subject_help" msgstr "" @@ -1285,7 +1293,7 @@ msgid "prenotation_slot_message" msgstr "${day}, ore ${booking_time}" #. Default: "Testo delle email di notifica" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:636 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:645 #, fuzzy msgid "prenotazioni_email_templates_label" msgstr "Testo delle email di notifica" @@ -1327,7 +1335,7 @@ msgid "reject_booking" msgstr "Rifiuta la prenotazione" #. Default: "Reminders" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:680 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:689 msgid "reminders_label" msgstr "Promemoria" @@ -1404,6 +1412,11 @@ msgstr "Devi impostare una data di inizio." msgid "to_month_too_days_error" msgstr "Il giorno selezionato non è compatibile col mese selezionato nel campo \"Al\"." +#. Default: "You can't add a booking with type '${booking_type}'." +#: redturtle/prenotazioni/restapi/services/booking/add.py:82 +msgid "unauthorized_add_vacation" +msgstr "" + #. Default: "Unbookable time" #: redturtle/prenotazioni/browser/templates/prenotazione_macros.pt:304 msgid "unbookable_time" @@ -1421,12 +1434,12 @@ msgid "view_booking" msgstr "Vedi la prenotazione" #. Default: "Insert here week schema for some custom date intervals." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:351 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:349 msgid "week_table_overrides_help" msgstr "Inserisci qui eventuali personalizzazioni nella schedulazione settimanale che andranno a vincere su quella standard per un determinato periodo di tempo." #. Default: "Week table overrides" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:350 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:348 msgid "week_table_overrides_label" msgstr "Personalizzazioni schedulazione settimanale" diff --git a/src/redturtle/prenotazioni/locales/redturtle.prenotazioni.pot b/src/redturtle/prenotazioni/locales/redturtle.prenotazioni.pot index 1b42d0df..c84be6b7 100644 --- a/src/redturtle/prenotazioni/locales/redturtle.prenotazioni.pot +++ b/src/redturtle/prenotazioni/locales/redturtle.prenotazioni.pot @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2023-08-28 10:23+0000\n" +"POT-Creation-Date: 2023-09-04 14:25+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI +ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -42,12 +42,12 @@ msgstr "" msgid "Add moved booking Mail Action" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:475 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:484 #: redturtle/prenotazioni/content/validators.py:212 msgid "Afternoon start should not be greater than end." msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:480 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:489 msgid "App IO notification" msgstr "" @@ -71,6 +71,10 @@ msgstr "" msgid "Booking Year Folder" msgstr "" +#: redturtle/prenotazioni/content/prenotazione.py:178 +msgid "Booking code" +msgstr "" + #: redturtle/prenotazioni/browser/templates/prenotazione.pt:33 msgid "Booking for" msgstr "" @@ -88,6 +92,10 @@ msgstr "" msgid "Change date/time" msgstr "" +#: redturtle/prenotazioni/content/prenotazione.py:179 +msgid "Codice univoco della prenotazione" +msgstr "" + #. Default: "Complete address" #: redturtle/prenotazioni/behaviors/booking_folder.py:42 msgid "Complete address" @@ -126,19 +134,19 @@ msgstr "" msgid "Cosa serve" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:251 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:249 msgid "Data fine validità" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:248 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:246 msgid "Data inizio validità" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:596 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:605 msgid "Date validità" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:399 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:408 msgid "Days booking is not allowed before" msgstr "" @@ -210,7 +218,7 @@ msgstr "" msgid "Inserire il testo di presentazione dell'agenda corrente" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:445 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:454 msgid "Insert a list of email addresses that will be notified when new bookings get created." msgstr "" @@ -234,11 +242,11 @@ msgstr "" msgid "Insert here the contact phone" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:361 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:359 msgid "Insert pause table schema." msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:284 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:282 msgid "Insert week table schema." msgstr "" @@ -246,7 +254,7 @@ msgstr "" msgid "Installs the redturtle.prenotazioni add-on." msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:387 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:396 msgid "Max days in the future" msgstr "" @@ -258,7 +266,7 @@ msgstr "" msgid "Monday" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:472 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:481 #: redturtle/prenotazioni/content/validators.py:207 msgid "Morning start should not be greater than end." msgstr "" @@ -277,7 +285,7 @@ msgstr "" msgid "Nessuno slot creato, verificare la corretteza dei dati inseriti" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:263 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:261 msgid "No" msgstr "" @@ -293,7 +301,7 @@ msgstr "" msgid "Pause should be included in morning slot or afternoon slot" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:360 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:358 msgid "Pause table" msgstr "" @@ -333,7 +341,7 @@ msgstr "" msgid "Required input is missing." msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:444 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:453 msgid "Responsible email" msgstr "" @@ -478,7 +486,7 @@ msgstr "" msgid "Uninstalls the redturtle.prenotazioni add-on." msgstr "" -#: redturtle/prenotazioni/restapi/services/booking/add.py:93 +#: redturtle/prenotazioni/restapi/services/booking/add.py:106 msgid "Unknown booking type '${booking_type}'." msgstr "" @@ -496,11 +504,11 @@ msgstr "" msgid "Wednesday" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:283 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:281 msgid "Week table" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:262 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:260 msgid "Yes" msgstr "" @@ -512,27 +520,27 @@ msgstr "" msgid "You must set both start and end" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:469 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:478 #: redturtle/prenotazioni/content/validators.py:202 msgid "You should set a start time for afternoon." msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:465 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:474 #: redturtle/prenotazioni/content/validators.py:194 msgid "You should set a start time for morning." msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:467 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:476 #: redturtle/prenotazioni/content/validators.py:198 msgid "You should set an end time for afternoon." msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:463 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:472 #: redturtle/prenotazioni/content/validators.py:190 msgid "You should set an end time for morning." msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:460 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:469 msgid "You should set at least one booking type." msgstr "" @@ -541,7 +549,7 @@ msgid "[DEPRECATED] The booking print url with delete token." msgstr "" #. Default: "Leave empty, and this Booking Folder will never expire" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:252 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:250 msgid "aData_help" msgstr "" @@ -579,17 +587,17 @@ msgid "afternoon_start_label" msgstr "" #. Default: "Automatically confirm." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:434 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:443 msgid "auto_confirm" msgstr "" #. Default: "All bookings will be automatically accepted." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:435 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:444 msgid "auto_confirm_help" msgstr "" #. Default: "End date should be greater than start." -#: redturtle/prenotazioni/restapi/services/available_slots/get.py:41 +#: redturtle/prenotazioni/restapi/services/available_slots/get.py:43 msgid "available_slots_wrong_dates" msgstr "" @@ -658,12 +666,12 @@ msgid "booking_type_widget_warn_unavailable" msgstr "" #. Default: "Put booking types there (one per line).\nIf you do not provide this field, not type selection will be available" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:410 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:419 msgid "booking_types_help" msgstr "" #. Default: "Booking types" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:409 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:418 msgid "booking_types_label" msgstr "" @@ -771,17 +779,17 @@ msgid "fullname" msgstr "" #. Default: "Limit booking in the future to an amount of days in the future starting from the current day. \nKeep 0 to give no limits." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:388 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:397 msgid "futureDays" msgstr "" #. Default: "Put gates here (one per line)." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:427 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:436 msgid "gates_help" msgstr "" #. Default: "Gates" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:426 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:435 msgid "gates_label" msgstr "" @@ -790,12 +798,12 @@ msgid "help_prenotazione_add" msgstr "" #. Default: "User will not be able to add a booking unless those fields are filled. Remember that, whatever you selected in this list, users have to supply at least one of \"Email\", \"Mobile\", or \"Telephone\"" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:214 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:232 msgid "help_required_booking_fields" msgstr "" #. Default: "States if it is not allowed to reserve a booking during the current day" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:273 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:271 msgid "help_same_day_booking_disallowed" msgstr "" @@ -805,17 +813,17 @@ msgid "help_tipologies" msgstr "" #. Default: "User will not be able to add a booking unless those fields are filled. Remember that, whatever you selected in this list, users have to supply at least one of \"Email\" or \"Telephone\"" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:232 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:214 msgid "help_visible_booking_fields" msgstr "" #. Default: "Set holidays (one for line) in DD/MM/YYYY. you can write * for the year, if this event is yearly." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:374 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:372 msgid "holidays_help" msgstr "" #. Default: "Holidays" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:373 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:371 msgid "holidays_label" msgstr "" @@ -916,7 +924,7 @@ msgstr "" #. Default: "Staff notes" #: redturtle/prenotazioni/browser/templates/prenotazione.pt:84 -#: redturtle/prenotazioni/content/prenotazione.py:178 +#: redturtle/prenotazioni/content/prenotazione.py:182 msgid "label_booking_staff_notes" msgstr "" @@ -969,12 +977,12 @@ msgid "label_new_booking_notify_link" msgstr "" #. Default: "Required booking fields" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:213 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:231 msgid "label_required_booking_fields" msgstr "" #. Default: "Disallow same day booking" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:269 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:267 msgid "label_same_day_booking_disallowed" msgstr "" @@ -1016,7 +1024,7 @@ msgid "label_user" msgstr "" #. Default: "Visible booking fields" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:231 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:213 msgid "label_visible_booking_fields" msgstr "" @@ -1091,27 +1099,27 @@ msgid "next-week" msgstr "" #. Default: "Booking is not allowed before the amount of days specified. \nKeep 0 to give no limits." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:400 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:409 msgid "notBeforeDays" msgstr "" #. Default: "Notifications" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:626 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:635 msgid "notifications_label" msgstr "" #. Default: "Notify when confirmed." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:495 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:504 msgid "notify_on_confirm" msgstr "" #. Default: "Notify via mail the user when his booking has been confirmed." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:496 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:505 msgid "notify_on_confirm_help" msgstr "" #. Default: "Prenotazione confirmed notification message." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:549 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:558 msgid "notify_on_confirm_message" msgstr "" @@ -1121,12 +1129,12 @@ msgstr "" msgid "notify_on_confirm_message_default_value" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:553 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:562 msgid "notify_on_confirm_message_help" msgstr "" #. Default: "Prenotazione confirmed notification subject." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:540 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:549 msgid "notify_on_confirm_subject" msgstr "" @@ -1136,22 +1144,22 @@ msgstr "" msgid "notify_on_confirm_subject_default_value" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:544 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:553 msgid "notify_on_confirm_subject_help" msgstr "" #. Default: "Notify when moved." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:504 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:513 msgid "notify_on_move" msgstr "" #. Default: "Notify via mail the user when his booking has been moved." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:505 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:514 msgid "notify_on_move_help" msgstr "" #. Default: "Prenotazione moved notification message." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:567 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:576 msgid "notify_on_move_message" msgstr "" @@ -1161,12 +1169,12 @@ msgstr "" msgid "notify_on_move_message_default_value" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:571 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:580 msgid "notify_on_move_message_help" msgstr "" #. Default: "Prenotazione moved notification subject." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:558 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:567 msgid "notify_on_move_subject" msgstr "" @@ -1176,22 +1184,22 @@ msgstr "" msgid "notify_on_move_subject_default_value" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:562 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:571 msgid "notify_on_move_subject_help" msgstr "" #. Default: "Notify when rejected." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:513 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:522 msgid "notify_on_refuse" msgstr "" #. Default: "Notify via mail the user when his booking has been rejected." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:514 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:523 msgid "notify_on_refuse_help" msgstr "" #. Default: "Prenotazione created notification message." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:585 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:594 msgid "notify_on_refuse_message" msgstr "" @@ -1201,12 +1209,12 @@ msgstr "" msgid "notify_on_refuse_message_default_value" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:589 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:598 msgid "notify_on_refuse_message_help" msgstr "" #. Default: "Prenotazione refused notification subject." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:576 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:585 msgid "notify_on_refuse_subject" msgstr "" @@ -1216,22 +1224,22 @@ msgstr "" msgid "notify_on_refuse_subject_default_value" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:580 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:589 msgid "notify_on_refuse_subject_help" msgstr "" #. Default: "Notify when created." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:486 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:495 msgid "notify_on_submit" msgstr "" #. Default: "Notify via mail the user when his booking has been created. If auto-confirm flag is selected and confirm notify is selected, this one will be ignored." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:487 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:496 msgid "notify_on_submit_help" msgstr "" #. Default: "Prenotazione created notification message." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:531 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:540 msgid "notify_on_submit_message" msgstr "" @@ -1241,12 +1249,12 @@ msgstr "" msgid "notify_on_submit_message_default_value" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:535 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:544 msgid "notify_on_submit_message_help" msgstr "" #. Default: "Prenotazione created notification subject." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:522 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:531 msgid "notify_on_submit_subject" msgstr "" @@ -1256,7 +1264,7 @@ msgstr "" msgid "notify_on_submit_subject_default_value" msgstr "" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:526 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:535 msgid "notify_on_submit_subject_help" msgstr "" @@ -1281,7 +1289,7 @@ msgid "prenotation_slot_message" msgstr "" #. Default: "Testo delle email di notifica" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:636 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:645 msgid "prenotazioni_email_templates_label" msgstr "" @@ -1322,7 +1330,7 @@ msgid "reject_booking" msgstr "" #. Default: "Reminders" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:680 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:689 msgid "reminders_label" msgstr "" @@ -1399,6 +1407,11 @@ msgstr "" msgid "to_month_too_days_error" msgstr "" +#. Default: "You can't add a booking with type '${booking_type}'." +#: redturtle/prenotazioni/restapi/services/booking/add.py:82 +msgid "unauthorized_add_vacation" +msgstr "" + #. Default: "Unbookable time" #: redturtle/prenotazioni/browser/templates/prenotazione_macros.pt:304 msgid "unbookable_time" @@ -1416,12 +1429,12 @@ msgid "view_booking" msgstr "" #. Default: "Insert here week schema for some custom date intervals." -#: redturtle/prenotazioni/content/prenotazioni_folder.py:351 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:349 msgid "week_table_overrides_help" msgstr "" #. Default: "Week table overrides" -#: redturtle/prenotazioni/content/prenotazioni_folder.py:350 +#: redturtle/prenotazioni/content/prenotazioni_folder.py:348 msgid "week_table_overrides_label" msgstr "" diff --git a/src/redturtle/prenotazioni/tests/test_add_booking.py b/src/redturtle/prenotazioni/tests/test_add_booking.py index 1af41885..cb1008cf 100644 --- a/src/redturtle/prenotazioni/tests/test_add_booking.py +++ b/src/redturtle/prenotazioni/tests/test_add_booking.py @@ -1,7 +1,8 @@ # -*- coding: utf-8 -*- -from datetime import date -from datetime import timedelta, datetime from Acquisition import aq_parent +from datetime import date +from datetime import datetime +from datetime import timedelta from plone import api from plone.app.testing import setRoles from plone.app.testing import SITE_OWNER_NAME @@ -9,14 +10,10 @@ from plone.app.testing import TEST_USER_ID from plone.autoform.interfaces import MODES_KEY from plone.restapi.testing import RelativeSession -from redturtle.prenotazioni.content.prenotazione import IPrenotazione from redturtle.prenotazioni.adapters.booker import IBooker -from redturtle.prenotazioni.testing import ( - REDTURTLE_PRENOTAZIONI_API_FUNCTIONAL_TESTING, -) -from redturtle.prenotazioni.testing import ( - REDTURTLE_PRENOTAZIONI_INTEGRATION_TESTING, -) +from redturtle.prenotazioni.content.prenotazione import IPrenotazione +from redturtle.prenotazioni.testing import REDTURTLE_PRENOTAZIONI_API_FUNCTIONAL_TESTING +from redturtle.prenotazioni.testing import REDTURTLE_PRENOTAZIONI_INTEGRATION_TESTING from redturtle.prenotazioni.tests.helpers import WEEK_TABLE_SCHEMA from zope.interface import Interface @@ -33,6 +30,7 @@ def test_field_modes(self): (Interface, "booking_date", "display"), (Interface, "gate", "display"), (Interface, "booking_expiration_date", "display"), + (Interface, "booking_code", "display") ], IPrenotazione.queryTaggedValue(MODES_KEY), ) @@ -243,6 +241,39 @@ def setUp(self): row["morning_end"] = "1000" self.folder_prenotazioni.week_table = week_table + def test_booking_code_generation(self): + booker = IBooker(self.folder_prenotazioni) + + booking_date = datetime.fromisoformat(date.today().isoformat()) + timedelta( + days=1, hours=9 + ) + booking_expiration_date = datetime.fromisoformat( + date.today().isoformat() + ) + timedelta(days=1, hours=9, minutes=30) + + # need this just to have the day container + container = aq_parent( + booker.create( + { + "booking_date": booking_date + timedelta(hours=5), + "booking_type": "Type A", + "title": "foo", + } + ) + ) + + new_booking = api.content.create( + container=container, + type="Prenotazione", + title="Booking A", + booking_date=booking_date, + gate="Gate A", + booking_type="Type A", + booking_expiration_date=booking_expiration_date, + ) + self.assertIsNot(new_booking.getBookingCode(), None) + self.assertTrue(len(new_booking.getBookingCode()) > 0) + def test_booking_code_uniqueness(self): booker = IBooker(self.folder_prenotazioni)