我想删除unlimited
中寻呼机下拉列表的listview
选项。
我们在res_partner
中有200,000多个联系人,如果有人选择unlimited
,我们4Gb服务器的内存会填满并崩溃。因此,我们需要这种(临时)解决方法。
这就是我现在所拥有的,它完美无缺但我发现view_list.js
硬编码了下拉选择列表,所以我不得不在我的覆盖功能中重复这一点。 OpenErp应该选择变量,但是还没有发生。我需要更多的第二意见,这将是一个更好的解决方案。之后我想询问OpenErp是否可以解决这个问题或提出更动态的解决方案。
/*---------------------------------------------------------
* remove unlimited option on listview for res_partner
*---------------------------------------------------------*/
openerp.web_remove_unlimited = function(instance) {
// here you may tweak globals object, if any, and play with on_* or do_* callbacks on them
instance.web.ListView.include({
load_list: function(data) {
var self = this;
var ret = this._super.apply(this, arguments);
if (this.dataset.model=='res.partner') {
this.$pager.find('.oe_list_pager_state')
.click(function (e) {
e.stopPropagation();
var $this = $(this);
var $select = $('<select>')
.appendTo($this.empty())
.click(function (e) {e.stopPropagation();})
.append('<option value="80">80</option>' +
'<option value="200">200</option>' +
'<option value="500">500</option>' +
'<option value="2000">2000</option>')
.change(function () {
var val = parseInt($select.val(), 10);
self._limit = (isNaN(val) ? null : val);
self.page = 0;
self.reload_content();
}).blur(function() {
$(this).trigger('change');
})
.val(self._limit || 'NaN');
});
}
return ret;
},
});
};