Coverage for gws-app/gws/plugin/model_field/date/__init__.py: 84%
19 statements
« prev ^ index » next coverage.py v7.11.0, created at 2025-10-16 23:09 +0200
« prev ^ index » next coverage.py v7.11.0, created at 2025-10-16 23:09 +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 """Configuration for the date field."""
18 pass
21class Props(gws.base.model.scalar_field.Props):
22 pass
25class Object(gws.base.model.scalar_field.Object):
26 attributeType = gws.AttributeType.date
28 def configure_widget(self):
29 if not super().configure_widget():
30 self.widget = self.root.create_shared(gws.ext.object.modelWidget, type='date')
31 return True
33 def prop_to_python(self, feature, value, mc):
34 d = gws.lib.datetimex.parse(value)
35 return d or gws.ErrorValue
37 def python_to_prop(self, feature, value, mc):
38 return gws.lib.datetimex.to_iso_date_string(value)