def setFgShowHM(self, value, **kw): """ set show_hm """ if not type(value) == BooleanType: value = value == '1' old_widget = self.fgField.widget if not value: # BBB: changing patters options is not working so we re-init the # inner widget self.fgField.widget = DateWidget() self.fgField.widget._properties['pattern_options']['time'] = value self.fgField.widget.pattern_options['time'] = value else: self.fgField.widget = DatetimeWidget() try: del self.fgField.widget.pattern_options['time'] del self.fgField.widget._properties['pattern_options']['time'] except KeyError: pass # Copy data from the old widget for attr in ('label', 'description'): setattr(self.fgField.widget, attr, getattr(old_widget, attr)) self.fgField.widget.show_hm = value self.fgShowHM = value
def setUp(self): from Products.Archetypes.Widget import DateWidget self.request = TestRequest(environ={'HTTP_ACCEPT_LANGUAGE': 'en'}) self.context = Mock() self.field = Mock() self.field.getAccessor.return_value = lambda: u'' self.field.getName.return_value = 'fieldname' self.widget = DateWidget()