Change minute_step in Archetypes DateTimeWidget¶
Sometimes you need minutes which could not be divided by 5 which Plone
doesn’t select you by default. You don’t need to rewrite core components
in Archetypes DateTimeWidget
to change this.
Prerequisites¶
You need your own BrowserLayer
(a skin or theme product) or a contenttype
with at least one marker interface to customize on.
Howto¶
Create a file called datecomponents.py
in your browser
directory with
following content:
from plone.app.form.widgets import datecomponents
class DateComponents(datecomponents.DateComponents):
def result(self, date=None, use_ampm=False, starting_year=None,
ending_year=None, future_years=None, minute_step=5):
# Change minute steps to 1
return super(DateComponents, self).result(date, use_ampm,
starting_year, ending_year,
future_years, 1)
… and register it for you browserlayer (replace IThemeSpecific by your layer interface) or for a type you want to customize its widget (replace for=’*’ with your types interface), thats it.
<!-- customize datecomponents -->
<include package="plone.app.form" />
<browser:page
name="date_components_support"
for="*"
permission="zope2.View"
class=".datecomponents.DateComponents"
allowed_interface="plone.app.form.widgets.interfaces.IDateComponents"
layer=".interfaces.IThemeSpecific"
/>