[IMP] Improve to find records for nested o2m and m2m.
bzr revid: jra@tinyerp.com-20111201112658-mgq350vua4zfoj8b
This commit is contained in:
parent
4cb6d48f1f
commit
a6c6cc5e57
|
@ -65,14 +65,13 @@ openerp.web_mobile.FormView = openerp.web.Widget.extend({
|
||||||
ev.stopPropagation();
|
ev.stopPropagation();
|
||||||
var relational = $(this).attr('for');
|
var relational = $(this).attr('for');
|
||||||
var rel_field = fields[relational];
|
var rel_field = fields[relational];
|
||||||
var head = rel_field.string;
|
|
||||||
var rel_model = rel_field.relation;
|
|
||||||
var rel_ids = values[relational];
|
var rel_ids = values[relational];
|
||||||
|
var head = rel_field.string;
|
||||||
if (rel_ids) {
|
if (rel_ids) {
|
||||||
var datasearch = new openerp.web.DataSetSearch(self, rel_field.relation, rel_field.context);
|
var datasearch = new openerp.web.DataSetSearch(self, rel_field.relation, rel_field.context);
|
||||||
datasearch.domain=[['id', 'in', rel_ids]];
|
datasearch.domain=[['id', 'in', rel_ids]];
|
||||||
datasearch.read_slice([], {limit:80}, function(listrec){
|
datasearch.read_slice(['name'], {context:rel_field.context, domain: datasearch.domain, limit:80}, function(listrec){
|
||||||
_.extend(self.action.context,{"html_name_get" : true});
|
_.extend(rel_field.context,{"html_name_get" : true});
|
||||||
var dataset = new openerp.web.DataSet(self, rel_field.relation,rel_field.context);
|
var dataset = new openerp.web.DataSet(self, rel_field.relation,rel_field.context);
|
||||||
dataset.name_get(listrec,function(res){
|
dataset.name_get(listrec,function(res){
|
||||||
var additional = "";
|
var additional = "";
|
||||||
|
@ -112,10 +111,12 @@ openerp.web_mobile.FormView = openerp.web.Widget.extend({
|
||||||
self.formatdata('', '', '', '',self.element_id,'slider');
|
self.formatdata('', '', '', '',self.element_id,'slider');
|
||||||
},
|
},
|
||||||
open_m2o_form : function(ev) {
|
open_m2o_form : function(ev) {
|
||||||
|
ev.preventDefault();
|
||||||
|
ev.stopPropagation();
|
||||||
var head = $(this).find('a').attr('name');
|
var head = $(this).find('a').attr('name');
|
||||||
var selected_id = $(this).find('a').attr('value');
|
var selected_id = $(this).find('a').attr('value');
|
||||||
var select_model = $(this).attr('for');
|
var select_model = $(this).attr('for');
|
||||||
if(selected_id!="false"){
|
if(selected_id){
|
||||||
if(!$('[id^="oe_form_'+selected_id+select_model+'"]').html()){
|
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');
|
$('<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);
|
this.formview = new openerp.web_mobile.FormView(self, "oe_form_"+selected_id+select_model, selected_id, '', head, select_model, false);
|
||||||
|
|
|
@ -30,12 +30,12 @@ openerp.web_mobile.ListView = openerp.web.Widget.extend({
|
||||||
},
|
},
|
||||||
on_search_data: function(ev){
|
on_search_data: function(ev){
|
||||||
var self = this;
|
var self = this;
|
||||||
var dataset = new openerp.web.DataSetSearch(this, this.action.res_model,this.action.context);
|
var datasearch = new openerp.web.DataSetSearch(self, self.action.res_model,self.action.context);
|
||||||
dataset.domain = self.action.domain;
|
datasearch.domain = self.action.domain;
|
||||||
dataset.read_slice([], {limit:80}, function(result,ids){
|
datasearch.read_slice(['name'], {context:datasearch.context, domain: datasearch.domain, limit:80}, function(listresult){
|
||||||
_.extend(self.action.context,{"html_name_get" : true});
|
_.extend(self.action.context,{"html_name_get" : true});
|
||||||
var dataset1 = new openerp.web.DataSet(self, self.action.res_model,self.action.context);
|
var dataset = new openerp.web.DataSet(self, datasearch.model,datasearch.context);
|
||||||
dataset1.name_get(result,function(res){
|
dataset.name_get(listresult,function(res){
|
||||||
var additional = "";
|
var additional = "";
|
||||||
if(res['html_name_get']){
|
if(res['html_name_get']){
|
||||||
additional = res['display'];
|
additional = res['display'];
|
||||||
|
|
Loading…
Reference in New Issue