Coverage for gws-app/gws/plugin/model_field/date/__init__.py: 0%
19 statements
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-17 01:37 +0200
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-17 01:37 +0200
1"""Date field.
3Internally, ``date`` values are ``datetime`` objects.
4They are always transferred in the ISO format,
5specific locale conversions are left to the client.
6"""
8import gws
9import gws.base.model.scalar_field
10import gws.lib.datetimex
12gws.ext.new.modelField('date')
15class Config(gws.base.model.scalar_field.Config):
16 pass
19class Props(gws.base.model.scalar_field.Props):
20 pass
23class Object(gws.base.model.scalar_field.Object):
24 attributeType = gws.AttributeType.date
26 def configure_widget(self):
27 if not super().configure_widget():
28 self.widget = self.root.create_shared(gws.ext.object.modelWidget, type='date')
29 return True
31 def prop_to_python(self, feature, value, mc):
32 d = gws.lib.datetimex.parse(value)
33 return d or gws.ErrorValue
35 def python_to_prop(self, feature, value, mc):
36 return gws.lib.datetimex.to_iso_date_string(value)