From a6c6cc5e57836d7f238043a789fad35b12fae32a Mon Sep 17 00:00:00 2001 From: "Jiten (OpenERP)" Date: Thu, 1 Dec 2011 16:56:58 +0530 Subject: [PATCH] [IMP] Improve to find records for nested o2m and m2m. bzr revid: jra@tinyerp.com-20111201112658-mgq350vua4zfoj8b --- addons/web_mobile/static/src/js/form_mobile.js | 11 ++++++----- addons/web_mobile/static/src/js/list_mobile.js | 10 +++++----- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/addons/web_mobile/static/src/js/form_mobile.js b/addons/web_mobile/static/src/js/form_mobile.js index 13ff38bca5c..448bc11c5aa 100644 --- a/addons/web_mobile/static/src/js/form_mobile.js +++ b/addons/web_mobile/static/src/js/form_mobile.js @@ -65,14 +65,13 @@ openerp.web_mobile.FormView = openerp.web.Widget.extend({ ev.stopPropagation(); var relational = $(this).attr('for'); var rel_field = fields[relational]; - var head = rel_field.string; - var rel_model = rel_field.relation; var rel_ids = values[relational]; + var head = rel_field.string; if (rel_ids) { var datasearch = new openerp.web.DataSetSearch(self, rel_field.relation, rel_field.context); datasearch.domain=[['id', 'in', rel_ids]]; - datasearch.read_slice([], {limit:80}, function(listrec){ - _.extend(self.action.context,{"html_name_get" : true}); + datasearch.read_slice(['name'], {context:rel_field.context, domain: datasearch.domain, limit:80}, function(listrec){ + _.extend(rel_field.context,{"html_name_get" : true}); var dataset = new openerp.web.DataSet(self, rel_field.relation,rel_field.context); dataset.name_get(listrec,function(res){ var additional = ""; @@ -112,10 +111,12 @@ openerp.web_mobile.FormView = openerp.web.Widget.extend({ self.formatdata('', '', '', '',self.element_id,'slider'); }, open_m2o_form : function(ev) { + ev.preventDefault(); + ev.stopPropagation(); var head = $(this).find('a').attr('name'); var selected_id = $(this).find('a').attr('value'); var select_model = $(this).attr('for'); - if(selected_id!="false"){ + if(selected_id){ if(!$('[id^="oe_form_'+selected_id+select_model+'"]').html()){ $('
').appendTo('#moe'); this.formview = new openerp.web_mobile.FormView(self, "oe_form_"+selected_id+select_model, selected_id, '', head, select_model, false); diff --git a/addons/web_mobile/static/src/js/list_mobile.js b/addons/web_mobile/static/src/js/list_mobile.js index 5813b9c216e..67058bf72f6 100644 --- a/addons/web_mobile/static/src/js/list_mobile.js +++ b/addons/web_mobile/static/src/js/list_mobile.js @@ -30,12 +30,12 @@ openerp.web_mobile.ListView = openerp.web.Widget.extend({ }, on_search_data: function(ev){ var self = this; - var dataset = new openerp.web.DataSetSearch(this, this.action.res_model,this.action.context); - dataset.domain = self.action.domain; - dataset.read_slice([], {limit:80}, function(result,ids){ + var datasearch = new openerp.web.DataSetSearch(self, self.action.res_model,self.action.context); + datasearch.domain = self.action.domain; + datasearch.read_slice(['name'], {context:datasearch.context, domain: datasearch.domain, limit:80}, function(listresult){ _.extend(self.action.context,{"html_name_get" : true}); - var dataset1 = new openerp.web.DataSet(self, self.action.res_model,self.action.context); - dataset1.name_get(result,function(res){ + var dataset = new openerp.web.DataSet(self, datasearch.model,datasearch.context); + dataset.name_get(listresult,function(res){ var additional = ""; if(res['html_name_get']){ additional = res['display'];