[bug] Editable List脚本异常
-
浏览器: 版本 30.0.1599.101 m / IE 11.0.9600
OE版本:runbot里7.0最新版 (http://runbot.openerp.com/),但应该存在于所有7.0以后的版本。
用户 admin
密码 admin
[hr]
重现条件:
(任何一个含有inline editing单据都会包含)
模块 Accounting
编辑 Customer Invoices 下任何一个draft状态的单据。
1. 添加一个Invoice Line.
2. 在必填项中填入任意有效内容。
3. 将鼠标移动至最后一个可输入的输入框。
4. 按 Tab。
异常出现。<br />Uncaught TypeError: Cannot read property 'id' of null<br / [检测到链接无效,已移除] br />
[s]初步分析和Chrome的版本有关。(调试了一下,和cancel_edition方法有关,可能是浏览器事件机制的问题)
尚未想到解决办法。[/s]
修复:<br />=== modified file 'addons/web/static/src/js/view_form.js'<br />--- addons/web/static/src/js/view_form.js 2013-10-10 09:11:25 +0000<br />+++ addons/web/static/src/js/view_form.js 2013-10-30 03:37:56 +0000<br />@@ -3826,7 +3826,6 @@<br /> GroupsType: instance.web.form.One2ManyGroups,<br /> ListType: instance.web.form.One2ManyList<br /> }));<br />- this.on('edit:before', this, this.proxy('_before_edit'));<br /> this.on('edit:after', this, this.proxy('_after_edit'));<br /> this.on('save:before cancel:before', this, this.proxy('_before_unedit'));<br /> <br />@@ -3947,11 +3946,11 @@<br /> });<br /> },<br /> <br />- _before_edit: function () {<br />+ _after_edit: function () {<br />+ // fixbug [检测到链接无效,已移除] move the blurred listener in edit:after<br /> this.__ignore_blur = false;<br /> this.editor.form.on('blurred', this, this._on_form_blur);<br />- },<br />- _after_edit: function () {<br />+ <br /> // The form's blur thing may be jiggered during the edition setup,<br /> // potentially leading to the o2m instasaving the row. Cancel any<br /> // blurring triggered the edition startup here<br /><br />
via https://launchpadlibrarian.net/155367789/openerp-web_bug1182101_one2many_list_cancel_issue.patch