diff options
| author | Fabien Meghazi <fme@openerp.com> | 2011-05-12 12:36:01 +0200 |
|---|---|---|
| committer | Fabien Meghazi <fme@openerp.com> | 2011-05-12 12:36:01 +0200 |
| commit | aa40e111fa9197f5fd09b2bc978fb3e4049648e7 (patch) | |
| tree | 3c742fff83b41079b6c294ec7eddbe2596941a3e /addons/base/static/src | |
| parent | 506a93c706c78d814292f54589646f08af563675 (diff) | |
[FIX] Fixed date & datetime widgets. Using dates.js
bzr revid: fme@openerp.com-20110512103601-vbfa5or1kydajlmh
Diffstat (limited to 'addons/base/static/src')
| -rw-r--r-- | addons/base/static/src/js/form.js | 40 | ||||
| -rw-r--r-- | addons/base/static/src/xml/base.xml | 7 |
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" |
