diff options
| author | Christophe Simonis <chs@odoo.com> | 2016-05-13 14:08:51 +0200 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2016-05-13 14:08:51 +0200 |
| commit | 7f2a9e77b6dbe65e3977f8a3b15de1785bc5d7d3 (patch) | |
| tree | 9a6232b1dcf1f0435b1332c126a8d9cfdc683e64 /addons/web | |
| parent | 89873cbed5fb31547843a7a135145d46986431af (diff) | |
| parent | dcab356b38aad5d6c7940c0211a3a940a8be9a65 (diff) | |
[MERGE] forward port of branch 9.0 up to dcab356
Diffstat (limited to 'addons/web')
| -rw-r--r-- | addons/web/i18n/nb.po | 4 | ||||
| -rw-r--r-- | addons/web/i18n/sv.po | 4 | ||||
| -rw-r--r-- | addons/web/i18n/web.pot | 14 | ||||
| -rw-r--r-- | addons/web/i18n/zh_CN.po | 48 | ||||
| -rw-r--r-- | addons/web/static/src/js/framework/formats.js | 6 | ||||
| -rw-r--r-- | addons/web/static/src/js/views/form_widgets.js | 8 | ||||
| -rw-r--r-- | addons/web/static/src/js/views/search_inputs.js | 12 | ||||
| -rw-r--r-- | addons/web/static/test/search.js | 4 |
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', ' }); }); - - |
