summaryrefslogtreecommitdiff
path: root/addons/base
diff options
context:
space:
mode:
authorFabien Meghazi <fme@openerp.com>2011-05-12 12:36:01 +0200
committerFabien Meghazi <fme@openerp.com>2011-05-12 12:36:01 +0200
commitaa40e111fa9197f5fd09b2bc978fb3e4049648e7 (patch)
tree3c742fff83b41079b6c294ec7eddbe2596941a3e /addons/base
parent506a93c706c78d814292f54589646f08af563675 (diff)
[FIX] Fixed date & datetime widgets. Using dates.js
bzr revid: fme@openerp.com-20110512103601-vbfa5or1kydajlmh
Diffstat (limited to 'addons/base')
-rw-r--r--addons/base/static/src/js/form.js40
-rw-r--r--addons/base/static/src/xml/base.xml7
2 files changed, 25 insertions, 22 deletions
diff --git a/addons/base/static/src/js/form.js b/addons/base/static/src/js/form.js
index bbcee8f363e..b4e9e0cbc33 100644
--- a/addons/base/static/src/js/form.js
+++ b/addons/base/static/src/js/form.js
@@ -679,33 +679,43 @@ openerp.base.form.FieldFloat = openerp.base.form.FieldChar.extend({
}
});
-openerp.base.form.FieldDate = openerp.base.form.FieldChar.extend({
+openerp.base.form.FieldDatetime = openerp.base.form.Field.extend({
init: function(view, node) {
this._super(view, node);
this.template = "FieldDate";
- this.validation_regex = /^\d+-\d+-\d+$/;
+ this.jqueryui_object = 'datetimepicker';
},
start: function() {
this._super.apply(this, arguments);
- this.$element.find('input').change(this.on_ui_change).datepicker({
- dateFormat: 'yy-mm-dd'
+ this.$element.find('input').change(this.on_ui_change)[this.jqueryui_object]({
+ dateFormat: 'yy-mm-dd',
+ timeFormat: 'hh:mm:ss'
});
- }
+ },
+ set_value: function(value) {
+ this._super.apply(this, arguments);
+ if (value == null || value == false) {
+ this.$element.find('input').val('');
+ } else {
+ this.value = this.format(value);
+ this.$element.find('input')[this.jqueryui_object]('setDate', this.value);
+ }
+ },
+ set_value_from_ui: function() {
+ this.value = this.$element.find('input')[this.jqueryui_object]('getDate') || false;
+ },
+ validate: function() {
+ this.invalid = this.required && this.value === false;
+ },
+ format: openerp.base.parse_datetime
});
-openerp.base.form.FieldDatetime = openerp.base.form.FieldChar.extend({
+openerp.base.form.FieldDate = openerp.base.form.FieldDatetime.extend({
init: function(view, node) {
this._super(view, node);
- this.template = "FieldDatetime";
- this.validation_regex = /^\d+-\d+-\d+( \d+:\d+(:\d+)?)?$/;
+ this.jqueryui_object = 'datepicker';
},
- start: function() {
- this._super.apply(this, arguments);
- this.$element.find('input').change(this.on_ui_change).datetimepicker({
- dateFormat: 'yy-mm-dd',
- timeFormat: 'hh:mm:ss'
- });
- }
+ format: openerp.base.parse_date
});
openerp.base.form.FieldText = openerp.base.form.Field.extend({
diff --git a/addons/base/static/src/xml/base.xml b/addons/base/static/src/xml/base.xml
index ade8260496c..612186d9b66 100644
--- a/addons/base/static/src/xml/base.xml
+++ b/addons/base/static/src/xml/base.xml
@@ -318,13 +318,6 @@
t-att-class="'field_' + widget.type"
/>
</t>
-<t t-name="FieldDatetime">
- <input type="text" style="width: 100%"
- t-att-name="widget.name"
- t-att-id="widget.element_id + '_field'"
- t-att-class="'field_' + widget.type"
- />
-</t>
<t t-name="FieldSelection">
<select
t-att-name="widget.name"