summaryrefslogtreecommitdiff
path: root/addons/base/static/src
diff options
context:
space:
mode:
authorXavier Morel <xmo@openerp.com>2011-08-23 09:50:29 +0200
committerXavier Morel <xmo@openerp.com>2011-08-23 09:50:29 +0200
commitde888e623e3e9da5cb798fa9620eb6c838414d32 (patch)
tree73ca032b44773b1282bf57493dbb747e28d28a21 /addons/base/static/src
parentb116b3ac5172d2ce25392c4ac9d69571bd5ea856 (diff)
parentf11f0dd9e30e5596aa71174f01dfc0e2fa1a1d6e (diff)
[MERGE] trunk updates again, to get dates fixing
bzr revid: xmo@openerp.com-20110823075029-ahsdopldivaz0s60
Diffstat (limited to 'addons/base/static/src')
-rw-r--r--addons/base/static/src/css/base.css9
-rw-r--r--addons/base/static/src/img/throbber2.gifbin0 -> 7195 bytes
-rw-r--r--addons/base/static/src/js/chrome.js6
-rw-r--r--addons/base/static/src/js/core.js10
-rw-r--r--addons/base/static/src/js/dates.js16
-rw-r--r--addons/base/static/src/js/form.js6
-rw-r--r--addons/base/static/src/xml/base.xml1
7 files changed, 29 insertions, 19 deletions
diff --git a/addons/base/static/src/css/base.css b/addons/base/static/src/css/base.css
index 21016dcb5a7..242167480f3 100644
--- a/addons/base/static/src/css/base.css
+++ b/addons/base/static/src/css/base.css
@@ -1146,10 +1146,12 @@ label.error {
}
.openerp .oe-m2o {
- padding-right: 16px;
+ padding-right: 20px;
white-space: nowrap;
}
-
+.openerp .oe_forms .oe-m2o input[type="text"] {
+ padding-right: 20px;
+}
.openerp .oe-m2o-drop-down-button {
margin-left: -23px;
}
@@ -1158,6 +1160,9 @@ label.error {
margin-bottom: -4px;
cursor: pointer;
}
+.openerp .oe-m2o-cm-button img {
+ margin-left: 4px;
+}
.openerp .oe-m2o-disabled-cm {
color: grey;
}
diff --git a/addons/base/static/src/img/throbber2.gif b/addons/base/static/src/img/throbber2.gif
new file mode 100644
index 00000000000..5d2057ae0e7
--- /dev/null
+++ b/addons/base/static/src/img/throbber2.gif
Binary files differ
diff --git a/addons/base/static/src/js/chrome.js b/addons/base/static/src/js/chrome.js
index 3a8af0a754c..954e2024965 100644
--- a/addons/base/static/src/js/chrome.js
+++ b/addons/base/static/src/js/chrome.js
@@ -296,7 +296,7 @@ openerp.base.Database = openerp.base.Widget.extend({
self.$option_id.find("form[name=create_db_form]").validate({
submitHandler: function (form) {
var fields = $(form).serializeArray();
- $.blockUI();
+ $.blockUI({message:'<img src="/base/static/src/img/throbber2.gif">'});
self.rpc("/base/database/create", {'fields': fields}, function(result) {
if (result.error) {
$.unblockUI();
@@ -367,7 +367,7 @@ openerp.base.Database = openerp.base.Widget.extend({
self.$option_id.find("form[name=backup_db_form]").validate({
submitHandler: function (form) {
- $.blockUI();
+ $.blockUI({message:'<img src="/base/static/src/img/throbber2.gif">'});
// need to detect when the file is done downloading (not used
// yet, but we'll need it to fix the UI e.g. with a throbber
// while dump is being generated), iframe load event only fires
@@ -405,7 +405,7 @@ openerp.base.Database = openerp.base.Widget.extend({
self.$option_id.find("form[name=restore_db_form]").validate({
submitHandler: function (form) {
- $.blockUI();
+ $.blockUI({message:'<img src="/base/static/src/img/throbber2.gif">'});
$(form).ajaxSubmit({
url: '/base/database/restore',
type: 'POST',
diff --git a/addons/base/static/src/js/core.js b/addons/base/static/src/js/core.js
index 68cc4d0869b..fca993ffef9 100644
--- a/addons/base/static/src/js/core.js
+++ b/addons/base/static/src/js/core.js
@@ -557,11 +557,17 @@ openerp.base.Session = openerp.base.CallbackEnabled.extend( /** @lends openerp.b
self.rpc('/base/webclient/translations',params).then(function(transs) {
openerp.base._t.database.set_bundle(transs);
var modules = self.module_list.join(',');
+ var file_list = ["/base/static/lib/datejs/globalization/" +
+ self.user_context.lang.replace("_", "-") + ".js",
+
+ ];
if(self.debug) {
self.rpc('/base/webclient/csslist', {"mods": modules}, self.do_load_css);
- self.rpc('/base/webclient/jslist', {"mods": modules}, self.do_load_js);
+ self.rpc('/base/webclient/jslist', {"mods": modules}, function(files) {
+ self.do_load_js(file_list.concat(files));
+ });
} else {
- self.do_load_css(["/base/webclient/css?mods="+modules]);
+ self.do_load_css(file_list.concat(["/base/webclient/css?mods="+modules]));
self.do_load_js(["/base/webclient/js?mods="+modules]);
}
openerp._modules_loaded = true;
diff --git a/addons/base/static/src/js/dates.js b/addons/base/static/src/js/dates.js
index 3d3948fa524..71fdb759a63 100644
--- a/addons/base/static/src/js/dates.js
+++ b/addons/base/static/src/js/dates.js
@@ -15,12 +15,12 @@ openerp.base.str_to_datetime = function(str) {
if(!str) {
return str;
}
- var regex = /\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d/;
+ var regex = /^(\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d)(?:\.\d+)?$/;
var res = regex.exec(str);
- if ( res[0] != str ) {
+ if ( !res ) {
throw "'" + str + "' is not a valid datetime";
}
- var obj = Date.parse(str + " GMT");
+ var obj = Date.parse(res[1] + " GMT");
if (! obj) {
throw "'" + str + "' is not a valid datetime";
}
@@ -38,9 +38,9 @@ openerp.base.str_to_date = function(str) {
if(!str) {
return str;
}
- var regex = /\d\d\d\d-\d\d-\d\d/;
+ var regex = /^\d\d\d\d-\d\d-\d\d$/;
var res = regex.exec(str);
- if ( res[0] != str ) {
+ if ( !res ) {
throw "'" + str + "' is not a valid date";
}
var obj = Date.parse(str);
@@ -61,12 +61,12 @@ openerp.base.str_to_time = function(str) {
if(!str) {
return str;
}
- var regex = /\d\d:\d\d:\d\d/;
+ var regex = /^(\d\d:\d\d:\d\d)(?:\.\d+)?$/;
var res = regex.exec(str);
- if ( res[0] != str ) {
+ if ( !res ) {
throw "'" + str + "' is not a valid time";
}
- var obj = Date.parse(str);
+ var obj = Date.parse(res[1]);
if (! obj) {
throw "'" + str + "' is not a valid time";
}
diff --git a/addons/base/static/src/js/form.js b/addons/base/static/src/js/form.js
index e7bc2d51eba..5da048a17b9 100644
--- a/addons/base/static/src/js/form.js
+++ b/addons/base/static/src/js/form.js
@@ -427,10 +427,10 @@ openerp.base.FormView = openerp.base.View.extend( /** @lends openerp.base.FormVi
this.notification.notify("Cancelling form");
},
reload: function() {
- if (this.datarecord.id) {
- this.dataset.read_index(_.keys(this.fields_view.fields), this.on_record_loaded);
- } else {
+ if (this.dataset.index == null || this.dataset.index < 0) {
this.on_button_new();
+ } else {
+ this.dataset.read_index(_.keys(this.fields_view.fields), this.on_record_loaded);
}
},
get_fields_values: function() {
diff --git a/addons/base/static/src/xml/base.xml b/addons/base/static/src/xml/base.xml
index 8bdd0eba070..89b452a6760 100644
--- a/addons/base/static/src/xml/base.xml
+++ b/addons/base/static/src/xml/base.xml
@@ -777,7 +777,6 @@
</t>
<t t-name="FieldOne2Many">
<div t-att-id="widget.element_id">
- One2Many widget
</div>
</t>
<t t-name="FieldMany2Many">