[IMP] Improve to find records for nested o2m and m2m.

bzr revid: jra@tinyerp.com-20111201112658-mgq350vua4zfoj8b
This commit is contained in:
Jiten (OpenERP) 2011-12-01 16:56:58 +05:30
parent 4cb6d48f1f
commit a6c6cc5e57
2 changed files with 11 additions and 10 deletions

View File

@ -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()){
$('<div id="oe_form_'+selected_id+select_model+'" data-role="page" data-url="oe_form_'+selected_id+select_model+'"> </div>').appendTo('#moe');
this.formview = new openerp.web_mobile.FormView(self, "oe_form_"+selected_id+select_model, selected_id, '', head, select_model, false);

View File

@ -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'];