summaryrefslogtreecommitdiff
path: root/addons/web
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2016-05-13 14:08:51 +0200
committerChristophe Simonis <chs@odoo.com>2016-05-13 14:08:51 +0200
commit7f2a9e77b6dbe65e3977f8a3b15de1785bc5d7d3 (patch)
tree9a6232b1dcf1f0435b1332c126a8d9cfdc683e64 /addons/web
parent89873cbed5fb31547843a7a135145d46986431af (diff)
parentdcab356b38aad5d6c7940c0211a3a940a8be9a65 (diff)
[MERGE] forward port of branch 9.0 up to dcab356
Diffstat (limited to 'addons/web')
-rw-r--r--addons/web/i18n/nb.po4
-rw-r--r--addons/web/i18n/sv.po4
-rw-r--r--addons/web/i18n/web.pot14
-rw-r--r--addons/web/i18n/zh_CN.po48
-rw-r--r--addons/web/static/src/js/framework/formats.js6
-rw-r--r--addons/web/static/src/js/views/form_widgets.js8
-rw-r--r--addons/web/static/src/js/views/search_inputs.js12
-rw-r--r--addons/web/static/test/search.js4
8 files changed, 64 insertions, 36 deletions
diff --git a/addons/web/i18n/nb.po b/addons/web/i18n/nb.po
index 971dcc7f747..8350dae7d17 100644
--- a/addons/web/i18n/nb.po
+++ b/addons/web/i18n/nb.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: Odoo 9.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-01-18 04:43+0000\n"
-"PO-Revision-Date: 2016-03-30 10:02+0000\n"
+"PO-Revision-Date: 2016-05-04 17:34+0000\n"
"Last-Translator: Martin Trigaux\n"
"Language-Team: Norwegian Bokmål (http://www.transifex.com/odoo/odoo-9/language/nb/)\n"
"MIME-Version: 1.0\n"
@@ -2054,7 +2054,7 @@ msgstr "Laster fortsatt... <br />Vennligst vent."
#: code:addons/web/static/src/xml/base.xml:83
#, python-format
msgid "Support"
-msgstr ""
+msgstr "Brukerstøtte"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/sv.po b/addons/web/i18n/sv.po
index 36ae131ae61..01c6452bfd6 100644
--- a/addons/web/i18n/sv.po
+++ b/addons/web/i18n/sv.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: Odoo 9.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-01-18 04:43+0000\n"
-"PO-Revision-Date: 2016-01-27 20:28+0000\n"
+"PO-Revision-Date: 2016-05-02 23:38+0000\n"
"Last-Translator: Martin Trigaux\n"
"Language-Team: Swedish (http://www.transifex.com/odoo/odoo-9/language/sv/)\n"
"MIME-Version: 1.0\n"
@@ -405,7 +405,7 @@ msgstr "Arkiv"
#: code:addons/web/static/src/js/views/form_widgets.js:671
#, python-format
msgid "Archived"
-msgstr ""
+msgstr "Arkiverad"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/web.pot b/addons/web/i18n/web.pot
index e405afb96ca..06166ac4b37 100644
--- a/addons/web/i18n/web.pot
+++ b/addons/web/i18n/web.pot
@@ -872,6 +872,13 @@ msgid "Error"
msgstr ""
#. module: web
+#. openerp-web
+#: code:addons/web/static/src/js/views/form_widgets.js:458
+#, python-format
+msgid "Error: Bad domain"
+msgstr ""
+
+#. module: web
#: code:addons/web/controllers/main.py:838
#, python-format
msgid "Error, password not changed !"
@@ -2074,6 +2081,13 @@ msgstr ""
#. module: web
#. openerp-web
+#: code:addons/web/static/src/js/views/form_widgets.js:458
+#, python-format
+msgid "The domain is wrong."
+msgstr ""
+
+#. module: web
+#. openerp-web
#: code:addons/web/static/src/js/views/form_widgets.js:1208
#, python-format
msgid "The field is empty, there's nothing to save !"
diff --git a/addons/web/i18n/zh_CN.po b/addons/web/i18n/zh_CN.po
index 7274c8a65a0..1ce2dc7cf7d 100644
--- a/addons/web/i18n/zh_CN.po
+++ b/addons/web/i18n/zh_CN.po
@@ -15,7 +15,7 @@ msgstr ""
"Project-Id-Version: Odoo 9.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-01-18 04:43+0000\n"
-"PO-Revision-Date: 2016-05-02 09:44+0000\n"
+"PO-Revision-Date: 2016-05-02 14:36+0000\n"
"Last-Translator: Jeffery Chenn <jeffery9@gmail.com>\n"
"Language-Team: Chinese (China) (http://www.transifex.com/odoo/odoo-9/language/zh_CN/)\n"
"MIME-Version: 1.0\n"
@@ -36,7 +36,7 @@ msgstr " & 关闭"
#: code:addons/web/static/src/js/views/form_widgets.js:442
#, python-format
msgid " selected records"
-msgstr "已选取记录"
+msgstr "选择的记录"
#. module: web
#. openerp-web
@@ -325,7 +325,7 @@ msgstr "添加"
#: code:addons/web/static/src/xml/base.xml:1216
#, python-format
msgid "Add Custom Filter"
-msgstr "增加自定义筛选"
+msgstr "添加自定义筛选"
#. module: web
#. openerp-web
@@ -346,7 +346,7 @@ msgstr "添加项目"
#: code:addons/web/static/src/xml/base.xml:1227
#, python-format
msgid "Add custom group"
-msgstr "添加自定义组"
+msgstr "添加自定义分组"
#. module: web
#. openerp-web
@@ -411,7 +411,7 @@ msgstr "归档"
#: code:addons/web/static/src/js/views/form_widgets.js:671
#, python-format
msgid "Archived"
-msgstr "归档"
+msgstr "已归档"
#. module: web
#. openerp-web
@@ -474,7 +474,7 @@ msgstr "按钮类型:"
#: code:addons/web/static/src/js/framework/utils.js:285
#, python-format
msgid "Bytes,Kb,Mb,Gb,Tb,Pb,Eb,Zb,Yb"
-msgstr "Bytes,Kb,Mb,Gb,Tb,Pb,Eb,Zb,Yb"
+msgstr "字节,Kb,Mb,Gb,Tb,Pb,Eb,Zb,Yb"
#. module: web
#. openerp-web
@@ -878,7 +878,7 @@ msgstr "终止此教程"
#: code:addons/web/static/src/js/views/search_menus.js:90
#, python-format
msgid "Error"
-msgstr "Error"
+msgstr "错误"
#. module: web
#: code:addons/web/controllers/main.py:838
@@ -962,7 +962,7 @@ msgstr "收藏"
#: code:addons/web/static/src/js/views/form_view.js:1292
#, python-format
msgid "Field '%s' specified in view could not be found."
-msgstr "视图中指定的字段'%s' 找不到。"
+msgstr "找不到视图中指定的字段'%s' 。"
#. module: web
#. openerp-web
@@ -1183,14 +1183,14 @@ msgstr "最后修改者:"
#: code:addons/web/static/src/xml/base.xml:223
#, python-format
msgid "Leave Debug Mode"
-msgstr "离开Debug 模式"
+msgstr "离开除错模式"
#. module: web
#. openerp-web
#: code:addons/web/static/src/xml/base.xml:118
#, python-format
msgid "Licenced under the terms of"
-msgstr "根据条款被许可"
+msgstr "采用的授权协议"
#. module: web
#. openerp-web
@@ -1326,7 +1326,7 @@ msgstr "缺少记录"
#: code:addons/web/static/src/xml/base.xml:1505
#, python-format
msgid "Mobile support"
-msgstr "支持移动"
+msgstr "支持移动设备"
#. module: web
#. openerp-web
@@ -1394,7 +1394,7 @@ msgstr "移动你的鼠标"
#: code:addons/web/static/src/js/tour.js:181
#, python-format
msgid "Move your mouse here to open the insert block"
-msgstr "将鼠标在这里打开插入块"
+msgstr "移动你的鼠标到这插入区块"
#. module: web
#. openerp-web
@@ -1450,7 +1450,7 @@ msgstr "否"
#: code:addons/web/static/src/xml/base.xml:192
#, python-format
msgid "No Update:"
-msgstr "没有更新"
+msgstr "没有更新:"
#. module: web
#. openerp-web
@@ -1475,7 +1475,7 @@ msgstr "没有该数据透视表的数据。尝试添加一些记录,或使确
#: code:addons/web/static/src/js/views/form_view.js:123
#, python-format
msgid "No data provided."
-msgstr "没有数据被提供"
+msgstr "没有数据提供"
#. module: web
#. openerp-web
@@ -1545,7 +1545,7 @@ msgstr "没有足够的数据点"
#: code:addons/web/static/src/xml/base.xml:838
#, python-format
msgid "Not shown in kanban"
-msgstr "没有在看板上显示"
+msgstr "不在看板显示"
#. module: web
#. openerp-web
@@ -1614,7 +1614,7 @@ msgstr ""
#: code:addons/web/static/src/js/views/form_widgets.js:671
#, python-format
msgid "Off"
-msgstr "OFF"
+msgstr "Off"
#. module: web
#. openerp-web
@@ -1638,7 +1638,7 @@ msgstr "旧密码"
#: code:addons/web/static/src/js/views/form_widgets.js:675
#, python-format
msgid "On"
-msgstr "ON"
+msgstr "On"
#. module: web
#. openerp-web
@@ -1886,7 +1886,7 @@ msgstr "保存当前搜索"
#: code:addons/web/static/src/js/views/form_view.js:1134
#, python-format
msgid "Save default"
-msgstr "保存默认值"
+msgstr "保存默认"
#. module: web
#. openerp-web
@@ -1944,7 +1944,7 @@ msgstr "搜索: "
#: code:addons/web/static/src/js/views/form_widgets.js:444
#, python-format
msgid "See selection "
-msgstr "见选择"
+msgstr "查看选择"
#. module: web
#. openerp-web
@@ -1971,7 +1971,7 @@ msgstr "选择记录..."
#: code:addons/web/static/src/js/views/form_common.js:1078
#, python-format
msgid "Selected domain"
-msgstr "选择地域"
+msgstr "选择域"
#. module: web
#. openerp-web
@@ -1992,14 +1992,14 @@ msgstr "选择:"
#: code:addons/web/static/src/js/views/form_view.js:1126
#, python-format
msgid "Set Default"
-msgstr "设为默认"
+msgstr "设默认"
#. module: web
#. openerp-web
#: code:addons/web/static/src/xml/base.xml:163
#, python-format
msgid "Set Defaults"
-msgstr "设为默认"
+msgstr "设默认"
#. module: web
#. openerp-web
@@ -2118,7 +2118,7 @@ msgstr "该生产线已被修改,您的更改将被丢弃。你确定要放弃
#: code:addons/web/controllers/main.py:831
#, python-format
msgid "The new password and its confirmation must be identical."
-msgstr "新密码与再次输入的密码必须相同。"
+msgstr "新密码与确认密码必须相同。"
#. module: web
#. openerp-web
@@ -2461,7 +2461,7 @@ msgstr "挂件:"
#: code:addons/web/static/src/js/widgets/progress_bar.js:76
#, python-format
msgid "Wrong value entered!"
-msgstr "输入值错误!"
+msgstr "错误输入值!"
#. module: web
#. openerp-web
diff --git a/addons/web/static/src/js/framework/formats.js b/addons/web/static/src/js/framework/formats.js
index 4b5ff8b4048..52a2fa5b0b0 100644
--- a/addons/web/static/src/js/framework/formats.js
+++ b/addons/web/static/src/js/framework/formats.js
@@ -160,17 +160,17 @@ function parse_value (value, descriptor, value_if_empty) {
case 'progressbar':
return parse_value(value, {type: "float"});
case 'datetime':
- var datetime = moment(value, [date_pattern + ' ' + time_pattern, date_pattern_wo_zero + ' ' + time_pattern_wo_zero], true);
+ var datetime = moment(value, [date_pattern + ' ' + time_pattern, date_pattern_wo_zero + ' ' + time_pattern_wo_zero, moment.ISO_8601], true);
if (datetime.isValid())
return time.datetime_to_str(datetime.toDate());
throw new Error(_.str.sprintf(_t("'%s' is not a correct datetime"), value));
case 'date':
- var date = moment(value, [date_pattern, date_pattern_wo_zero], true);
+ var date = moment(value, [date_pattern, date_pattern_wo_zero, moment.ISO_8601], true);
if (date.isValid())
return time.date_to_str(date.toDate());
throw new Error(_.str.sprintf(_t("'%s' is not a correct date"), value));
case 'time':
- var _time = moment(value, [time_pattern, time_pattern_wo_zero], true);
+ var _time = moment(value, [time_pattern, time_pattern_wo_zero, moment.ISO_8601], true);
if (_time.isValid())
return time.time_to_str(_time.toDate());
throw new Error(_.str.sprintf(_t("'%s' is not a correct time"), value));
diff --git a/addons/web/static/src/js/views/form_widgets.js b/addons/web/static/src/js/views/form_widgets.js
index 1214f6e2ce3..b33177eb1d5 100644
--- a/addons/web/static/src/js/views/form_widgets.js
+++ b/addons/web/static/src/js/views/form_widgets.js
@@ -455,7 +455,13 @@ var FieldCharDomain = common.AbstractField.extend(common.ReinitializeFieldMixin,
if (this.get('value')) {
var model = this.options.model || this.field_manager.get_field_value(this.options.model_field);
- var domain = pyeval.eval('domain', this.get('value'));
+ try{
+ var domain = pyeval.eval('domain', this.get('value'));
+ }
+ catch(e){
+ this.do_warn(_t('Error: Bad domain'), _t('The domain is wrong.'));
+ return;
+ }
var ds = new data.DataSetStatic(self, model, self.build_context());
ds.call('search_count', [domain]).then(function (results) {
self.$('.o_count').text(results + _t(' selected records'));
diff --git a/addons/web/static/src/js/views/search_inputs.js b/addons/web/static/src/js/views/search_inputs.js
index 9d08a537e9d..edeffd874b0 100644
--- a/addons/web/static/src/js/views/search_inputs.js
+++ b/addons/web/static/src/js/views/search_inputs.js
@@ -341,7 +341,17 @@ var DateField = Field.extend(/** @lends instance.web.search.DateField# */{
return time.date_to_str(facetValue.get('value'));
},
complete: function (needle) {
- var m = moment(needle);
+ // Make sure the needle has a correct format before the creation of the moment object. See
+ // issue https://github.com/moment/moment/issues/1407
+ var t, v;
+ try {
+ t = (this.attrs && this.attrs.type === 'datetime') ? 'datetime' : 'date';
+ v = formats.parse_value(needle, {'widget': t});
+ } catch (e) {
+ return $.when(null);
+ }
+
+ var m = moment(v, t === 'datetime' ? 'YYYY-MM-DD HH:mm:ss' : 'YYYY-MM-DD');
if (!m.isValid()) { return $.when(null); }
var d = m.toDate();
var date_string = formats.format_value(d, this.attrs);
diff --git a/addons/web/static/test/search.js b/addons/web/static/test/search.js
index 4f35801cb10..d163913b0f4 100644
--- a/addons/web/static/test/search.js
+++ b/addons/web/static/test/search.js
@@ -643,7 +643,7 @@ odoo.define_section('search.completions', ['web.search_inputs', 'web.SearchView'
var view = {inputs: []};
var f = new DateField(
{attrs: {string: "Dummy"}}, {type: 'datetime'}, view);
- return f.complete('2012-05-21T21:21:21')
+ return f.complete('2012-05-21T21:21:21Z')
.done(function (completions) {
assert.equal(completions.length, 1, "should provide a single completion");
var c = completions[0];
@@ -1615,5 +1615,3 @@ odoo.define_section('search.advanced', ['web.search_inputs', 'web.SearchView', '
});
});
-
-