[IMP] factorize view/load part1
bzr revid: al@openerp.com-20110906205438-wk1x6dx2mp103en2
This commit is contained in:
parent
6932592e26
commit
02792660b8
|
@ -884,22 +884,13 @@ class View(openerpweb.Controller):
|
||||||
if context_string:
|
if context_string:
|
||||||
elem.set(el, self.parse_context(context_string, session))
|
elem.set(el, self.parse_context(context_string, session))
|
||||||
|
|
||||||
class FormView(View):
|
|
||||||
_cp_path = "/web/formview"
|
|
||||||
|
|
||||||
@openerpweb.jsonrequest
|
@openerpweb.jsonrequest
|
||||||
def load(self, req, model, view_id, toolbar=False):
|
def load(self, req, model, view_id, view_type, toolbar=False):
|
||||||
fields_view = self.fields_view_get(req, model, view_id, 'form', toolbar=toolbar)
|
return self.fields_view_get(req, model, view_id, view_type, toolbar=toolbar)
|
||||||
return {'fields_view': fields_view}
|
|
||||||
|
|
||||||
class ListView(View):
|
class ListView(View):
|
||||||
_cp_path = "/web/listview"
|
_cp_path = "/web/listview"
|
||||||
|
|
||||||
@openerpweb.jsonrequest
|
|
||||||
def load(self, req, model, view_id, toolbar=False):
|
|
||||||
fields_view = self.fields_view_get(req, model, view_id, 'tree', toolbar=toolbar)
|
|
||||||
return {'fields_view': fields_view}
|
|
||||||
|
|
||||||
def process_colors(self, view, row, context):
|
def process_colors(self, view, row, context):
|
||||||
colors = view['arch']['attrs'].get('colors')
|
colors = view['arch']['attrs'].get('colors')
|
||||||
|
|
||||||
|
@ -918,6 +909,15 @@ class ListView(View):
|
||||||
return color[0]
|
return color[0]
|
||||||
return 'maroon'
|
return 'maroon'
|
||||||
|
|
||||||
|
class TreeView(View):
|
||||||
|
_cp_path = "/web/treeview"
|
||||||
|
|
||||||
|
@openerpweb.jsonrequest
|
||||||
|
def action(self, req, model, id):
|
||||||
|
return load_actions_from_ir_values(
|
||||||
|
req,'action', 'tree_but_open',[(model, id)],
|
||||||
|
False)
|
||||||
|
|
||||||
class SearchView(View):
|
class SearchView(View):
|
||||||
_cp_path = "/web/searchview"
|
_cp_path = "/web/searchview"
|
||||||
|
|
||||||
|
@ -1073,19 +1073,6 @@ class Action(openerpweb.Controller):
|
||||||
return clean_action(req, req.session.model('ir.actions.server').run(
|
return clean_action(req, req.session.model('ir.actions.server').run(
|
||||||
[action_id], req.session.eval_context(req.context)))
|
[action_id], req.session.eval_context(req.context)))
|
||||||
|
|
||||||
class TreeView(View):
|
|
||||||
_cp_path = "/web/treeview"
|
|
||||||
|
|
||||||
@openerpweb.jsonrequest
|
|
||||||
def load(self, req, model, view_id, toolbar=False):
|
|
||||||
return self.fields_view_get(req, model, view_id, 'tree', toolbar=toolbar)
|
|
||||||
|
|
||||||
@openerpweb.jsonrequest
|
|
||||||
def action(self, req, model, id):
|
|
||||||
return load_actions_from_ir_values(
|
|
||||||
req,'action', 'tree_but_open',[(model, id)],
|
|
||||||
False)
|
|
||||||
|
|
||||||
class Export(View):
|
class Export(View):
|
||||||
_cp_path = "/web/export"
|
_cp_path = "/web/export"
|
||||||
|
|
||||||
|
@ -1336,7 +1323,6 @@ class ExcelExport(Export):
|
||||||
fp.close()
|
fp.close()
|
||||||
return data
|
return data
|
||||||
|
|
||||||
|
|
||||||
class Reports(View):
|
class Reports(View):
|
||||||
_cp_path = "/web/report"
|
_cp_path = "/web/report"
|
||||||
|
|
||||||
|
|
|
@ -50,8 +50,13 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
|
||||||
return def.promise();
|
return def.promise();
|
||||||
} else {
|
} else {
|
||||||
var context = new openerp.web.CompoundContext(this.dataset.get_context());
|
var context = new openerp.web.CompoundContext(this.dataset.get_context());
|
||||||
return this.rpc("/web/formview/load", {"model": this.model, "view_id": this.view_id,
|
return this.rpc("/web/view/load", {
|
||||||
toolbar: this.options.sidebar, context: context}, this.on_loaded);
|
"model": this.model,
|
||||||
|
"view_id": this.view_id,
|
||||||
|
"view_type": "form",
|
||||||
|
toolbar: this.options.sidebar,
|
||||||
|
context: context
|
||||||
|
}, this.on_loaded);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
stop: function() {
|
stop: function() {
|
||||||
|
@ -65,7 +70,7 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
|
||||||
},
|
},
|
||||||
on_loaded: function(data) {
|
on_loaded: function(data) {
|
||||||
var self = this;
|
var self = this;
|
||||||
this.fields_view = data.fields_view;
|
this.fields_view = data;
|
||||||
var frame = new (this.registry.get_object('frame'))(this, this.fields_view.arch);
|
var frame = new (this.registry.get_object('frame'))(this, this.fields_view.arch);
|
||||||
|
|
||||||
this.$element.html(QWeb.render(this.template, { 'frame': frame, 'view': this }));
|
this.$element.html(QWeb.render(this.template, { 'frame': frame, 'view': this }));
|
||||||
|
|
|
@ -74,7 +74,7 @@ openerp.web.list_editable = function (openerp) {
|
||||||
},
|
},
|
||||||
on_loaded: function (data, grouped) {
|
on_loaded: function (data, grouped) {
|
||||||
// tree/@editable takes priority on everything else if present.
|
// tree/@editable takes priority on everything else if present.
|
||||||
this.options.editable = data.fields_view.arch.attrs.editable || this.options.editable;
|
this.options.editable = data.arch.attrs.editable || this.options.editable;
|
||||||
return this._super(data, grouped);
|
return this._super(data, grouped);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -147,7 +147,7 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView#
|
||||||
*/
|
*/
|
||||||
on_loaded: function(data, grouped) {
|
on_loaded: function(data, grouped) {
|
||||||
var self = this;
|
var self = this;
|
||||||
this.fields_view = data.fields_view;
|
this.fields_view = data;
|
||||||
//this.log(this.fields_view);
|
//this.log(this.fields_view);
|
||||||
this.name = "" + this.fields_view.arch.attrs.string;
|
this.name = "" + this.fields_view.arch.attrs.string;
|
||||||
|
|
||||||
|
@ -218,7 +218,7 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView#
|
||||||
if (!this.sidebar && this.options.sidebar && this.options.sidebar_id) {
|
if (!this.sidebar && this.options.sidebar && this.options.sidebar_id) {
|
||||||
this.sidebar = new openerp.web.Sidebar(this, this.options.sidebar_id);
|
this.sidebar = new openerp.web.Sidebar(this, this.options.sidebar_id);
|
||||||
this.sidebar.start();
|
this.sidebar.start();
|
||||||
this.sidebar.add_toolbar(data.fields_view.toolbar);
|
this.sidebar.add_toolbar(this.fields_view.toolbar);
|
||||||
this.set_common_sidebar_sections(this.sidebar);
|
this.set_common_sidebar_sections(this.sidebar);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -373,6 +373,7 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView#
|
||||||
return this.rpc('/web/listview/load', {
|
return this.rpc('/web/listview/load', {
|
||||||
model: this.model,
|
model: this.model,
|
||||||
view_id: this.view_id,
|
view_id: this.view_id,
|
||||||
|
"view_type": "list",
|
||||||
context: this.dataset.get_context(context),
|
context: this.dataset.get_context(context),
|
||||||
toolbar: this.options.sidebar
|
toolbar: this.options.sidebar
|
||||||
}, callback);
|
}, callback);
|
||||||
|
|
|
@ -31,6 +31,7 @@ openerp.web.TreeView = openerp.web.View.extend({
|
||||||
return this.rpc("/web/treeview/load", {
|
return this.rpc("/web/treeview/load", {
|
||||||
model: this.model,
|
model: this.model,
|
||||||
view_id: this.view_id,
|
view_id: this.view_id,
|
||||||
|
view_type: "tree",
|
||||||
toolbar: this.view_manager ? !!this.view_manager.sidebar : false
|
toolbar: this.view_manager ? !!this.view_manager.sidebar : false
|
||||||
}, this.on_loaded);
|
}, this.on_loaded);
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue