summaryrefslogtreecommitdiff
path: root/addons/base/static/src
diff options
context:
space:
mode:
authorFabien Meghazi <fme@openerp.com>2011-06-30 14:10:08 +0200
committerFabien Meghazi <fme@openerp.com>2011-06-30 14:10:08 +0200
commitf84f7f5729272d5d429207cd236d233a643bc81c (patch)
tree1122982c27ae146613f0b7d6f922be19320352e4 /addons/base/static/src
parent0c3109c29d5cc8e38bb9a34cc299942ed066ec41 (diff)
[IMP] Improved dates widgets
bzr revid: fme@openerp.com-20110630121008-qt4yr12z6sk70yua
Diffstat (limited to 'addons/base/static/src')
-rw-r--r--addons/base/static/src/css/base.css13
-rw-r--r--addons/base/static/src/js/form.js18
2 files changed, 23 insertions, 8 deletions
diff --git a/addons/base/static/src/css/base.css b/addons/base/static/src/css/base.css
index 84b51b2cd54..32a335d7eb8 100644
--- a/addons/base/static/src/css/base.css
+++ b/addons/base/static/src/css/base.css
@@ -773,13 +773,14 @@ background: linear-gradient(top, #ffffff 0%,#d8d8d8 11%,#afafaf 86%,#333333 91%,
position: relative;
vertical-align: top;
}
-.openerp input.field_date, .openerp input.field_datetime {
- background: #fff url('../img/ui/field_calendar.png') no-repeat right center;
- background-origin: content-box;
- -moz-background-origin: content;
- -moz-background-origin: content-box;
- -webkit-background-origin: content-box;
+.openerp img.ui-datepicker-trigger, .openerp img.ui-datepicker-trigger {
+ margin-left: -20px;
+ vertical-align: middle;
+ cursor: pointer;
+ position: relative;
+ top: -1px;
}
+
/* http://www.quirksmode.org/dom/inputfile.html
* http://stackoverflow.com/questions/2855589/replace-input-type-file-by-an-image
*/
diff --git a/addons/base/static/src/js/form.js b/addons/base/static/src/js/form.js
index 9b6367e52ca..79f2a610e44 100644
--- a/addons/base/static/src/js/form.js
+++ b/addons/base/static/src/js/form.js
@@ -879,12 +879,17 @@ openerp.base.form.FieldDatetime = openerp.base.form.Field.extend({
this._super(view, node);
this.template = "FieldDate";
this.jqueryui_object = 'datetimepicker';
+ this.validation_regex = /^\d+-\d+-\d+( \d+:\d+(:\d+)?)?$/;
},
start: function() {
this._super.apply(this, arguments);
this.$element.find('input').change(this.on_ui_change)[this.jqueryui_object]({
dateFormat: 'yy-mm-dd',
- timeFormat: 'hh:mm:ss'
+ timeFormat: 'hh:mm:ss',
+ showOn: 'button',
+ buttonImage: '/base/static/src/img/ui/field_calendar.png',
+ buttonImageOnly: true,
+ constrainInput: false
});
},
set_value: function(value) {
@@ -909,7 +914,15 @@ openerp.base.form.FieldDatetime = openerp.base.form.Field.extend({
this.$element.find('input').attr('disabled', this.readonly);
},
validate: function() {
- this.invalid = this.required && !this.$element.find('input')[this.jqueryui_object]('getDate');
+ this.invalid = false;
+ var value = this.$element.find('input').val();
+ if (value === "") {
+ this.invalid = this.required;
+ } else if (this.validation_regex) {
+ this.invalid = !this.validation_regex.test(value);
+ } else {
+ this.invalid = !this.$element.find('input')[this.jqueryui_object]('getDate');
+ }
},
focus: function() {
this.$element.find('input').focus();
@@ -922,6 +935,7 @@ openerp.base.form.FieldDate = openerp.base.form.FieldDatetime.extend({
init: function(view, node) {
this._super(view, node);
this.jqueryui_object = 'datepicker';
+ this.validation_regex = /^\d+-\d+-\d+$/;
},
parse: openerp.base.parse_date,
format: openerp.base.format_date