diff --git a/CHANGES.rst b/CHANGES.rst index 27119fca..f5375eb0 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,9 @@ Changelog 2.0.0 (unreleased) ------------------ +- reorganize backend form + [mamico] + - booking_type filter in @months-slots [mamico] diff --git a/src/redturtle/prenotazioni/browser/add_edit_view.py b/src/redturtle/prenotazioni/browser/add_edit_view.py deleted file mode 100644 index a3d01472..00000000 --- a/src/redturtle/prenotazioni/browser/add_edit_view.py +++ /dev/null @@ -1,51 +0,0 @@ -# -*- coding: utf-8 -*- -from plone.dexterity.browser.add import DefaultAddForm as BaseAddForm -from plone.dexterity.browser.add import DefaultAddView as BaseAddView -from plone.dexterity.browser.edit import DefaultEditForm as BaseEdit -from plone.dexterity.browser.edit import DefaultEditView as BaseEditView - -# from Products.CMFPlone.resources import add_bundle_on_request -from zope.interface import implementer -from .viewlets import IHasTableOverridesMarker - - -class DefaultEditForm(BaseEdit): - """ """ - - def updateWidgets(self): - super(DefaultEditForm, self).updateWidgets() - self.widgets["week_table"].allow_insert = False - self.widgets["week_table"].allow_delete = False - self.widgets["week_table"].allow_append = False - self.widgets["week_table"].allow_reorder = False - self.widgets["week_table"].auto_append = False - - -@implementer(IHasTableOverridesMarker) -class DefaultEditView(BaseEditView): - form = DefaultEditForm - - # def __call__(self): - # add_bundle_on_request(self.request, "week-table-overrides-widget-bundle") - # return super().__call__() - - -class DefaultAddForm(BaseAddForm): - """ """ - - def updateWidgets(self): - super(DefaultAddForm, self).updateWidgets() - self.widgets["week_table"].allow_insert = False - self.widgets["week_table"].allow_delete = False - self.widgets["week_table"].allow_append = False - self.widgets["week_table"].allow_reorder = False - self.widgets["week_table"].auto_append = False - - -@implementer(IHasTableOverridesMarker) -class DefaultAddView(BaseAddView): - form = DefaultAddForm - - # def __call__(self): - # add_bundle_on_request(self.request, "week-table-overrides-widget-bundle") - # return super().__call__() diff --git a/src/redturtle/prenotazioni/browser/configure.zcml b/src/redturtle/prenotazioni/browser/configure.zcml index 7218599d..4ed49043 100644 --- a/src/redturtle/prenotazioni/browser/configure.zcml +++ b/src/redturtle/prenotazioni/browser/configure.zcml @@ -25,23 +25,6 @@ - - - - - diff --git a/src/redturtle/prenotazioni/content/prenotazioni_folder.py b/src/redturtle/prenotazioni/content/prenotazioni_folder.py index 141a598f..f78a72fb 100644 --- a/src/redturtle/prenotazioni/content/prenotazioni_folder.py +++ b/src/redturtle/prenotazioni/content/prenotazioni_folder.py @@ -66,6 +66,7 @@ class IWeekTableRow(model.Schema): day = schema.TextLine( title=_("day_label", default="Day of week"), required=True, default="" ) + form.mode(day="display") morning_start = schema.Choice( title=_("morning_start_label", default="Start time in the morning"), vocabulary="redturtle.prenotazioni.VocOreInizio", @@ -138,6 +139,8 @@ class IPrenotazioniFolder(model.Schema): description=_("Inserire il testo di presentazione dell'agenda corrente"), ) + form.mode(descriptionAgenda="display") + cosa_serve = schema.Text( required=False, title=_("Cosa serve", default="Cosa serve"), @@ -277,7 +280,13 @@ def get_options(): ], ) form.widget( - "week_table", DataGridFieldFactory, frontendOptions={"widget": "data_grid"} + "week_table", + DataGridFieldFactory, + allow_insert=False, + allow_delete=False, + allow_reorder=False, + auto_append=False, + frontendOptions={"widget": "data_grid"}, ) week_table_overrides = schema.SourceText( @@ -441,13 +450,42 @@ def data_validation(data): raise Invalid(_("Afternoon start should not be greater than end.")) # TODO: definire o descrivere quando avviee la notifica + # TODO: inserire qui la chiave IO ? o su un config in zope.conf/environment ? app_io_enabled = schema.Bool( title=_("App IO notification"), default=False, required=False, ) - # TODO: inserire qui la chiave IO ? o su un config in zope.conf/environment ? + model.fieldset( + "dates", + label=_("Date validità"), + fields=[ + "daData", + "aData", + "same_day_booking_disallowed", + "holidays", + "futureDays", + "notBeforeDays", + "pause_table", + ], + ) + + model.fieldset( + "week_table", + label=_("Week table"), + fields=[ + "week_table", + ], + ) + + model.fieldset( + "week_table_overrides", + label=_("week_table_overrides_label", default="Week table overrides"), + fields=[ + "week_table_overrides", + ], + ) model.fieldset( "contacts",