==== Date ==== All necessary components are set up in the testclass to make sure that we test the real configuration. Let's render the widgets in different modes and try to extract the value form an request. >>> import datetime >>> import z3c.form >>> import zope.schema >>> field = zope.schema.Date(default=datetime.date(2007, 4, 1)) >>> widget = self.setupWidget(field) >>> widget.update() >>> widget.extract() is z3c.form.interfaces.NOVALUE True INPUT_MODE ---------- >>> widget.mode == z3c.form.interfaces.INPUT_MODE True >>> print widget.render() / / >>> widget.request = self.testrequest( ... form={'bar-day': '1', ... 'bar-month': '4', ... 'bar-year': '2007', ... 'bar-empty-marker': '1'} ... ) >>> widget.extract() ('2007', '4', '1') DISPLAY_MODE ------------ >>> widget.mode = z3c.form.interfaces.DISPLAY_MODE >>> print widget.render() 4/1/07 HIDDEN_MODE ----------- >>> widget.mode = z3c.form.interfaces.HIDDEN_MODE >>> print widget.render() >>> widget.request = self.testrequest( ... form={'bar': '4/1/07'} ... ) >>> widget.extract() ('2007', '4', '1') INPUT_MODE and show_today_link ------------------------------ now lets enable show_today_link option to provide plain javascript for inserting current date into the fields. >>> widget.mode = z3c.form.interfaces.INPUT_MODE >>> widget.show_today_link = True >>> print widget.render() / / Today Translations ------------ check if translations are working >>> widget = self.setupWidget(field, lang='sl') >>> widget.update() >>> widget.show_today_link = True >>> print widget.render() januar ... Danes