Browse Source

Implement construct data for datetime + bugfix in datahandler base class

- datahandler base class was not supporting default values due to a bug
- implements the datetime datahandler construct_data method
Yann Weber 8 years ago
parent
commit
2faeff1ecb

+ 2
- 2
lodel/leapi/datahandlers/base_classes.py View File

47
         self.immutable = False
47
         self.immutable = False
48
         self.primary_key = False
48
         self.primary_key = False
49
         self.internal = False
49
         self.internal = False
50
-        if 'defaults' in kwargs:
50
+        if 'default' in kwargs:
51
             self.default, error = self.check_data_value(kwargs['default'])
51
             self.default, error = self.check_data_value(kwargs['default'])
52
             if error:
52
             if error:
53
                 raise error
53
                 raise error
54
-            del(args['default'])
54
+            del(kwargs['default'])
55
 
55
 
56
         for argname, argval in kwargs.items():
56
         for argname, argval in kwargs.items():
57
             setattr(self, argname, argval)
57
             setattr(self, argname, argval)

+ 5
- 0
lodel/leapi/datahandlers/datas_base.py View File

1
 #-*- coding: utf-8 -*-
1
 #-*- coding: utf-8 -*-
2
 import warnings
2
 import warnings
3
+import datetime
3
 
4
 
4
 from lodel.leapi.datahandlers.base_classes import DataField
5
 from lodel.leapi.datahandlers.base_classes import DataField
5
 
6
 
89
         error = None
90
         error = None
90
         return value, error
91
         return value, error
91
 
92
 
93
+    def construct_data(self, emcomponent, fname, datas, cur_value):
94
+        if (self.now_on_create and cur_value is None) or self.now_on_update:
95
+            return datetime.datetime.now()
96
+
92
 ##@brief Data field designed to handle long string
97
 ##@brief Data field designed to handle long string
93
 class Text(DataField):
98
 class Text(DataField):
94
     help = 'A text field (big string)'
99
     help = 'A text field (big string)'

Loading…
Cancel
Save