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",