[IMP] factorize view/load part1

bzr revid: al@openerp.com-20110906205438-wk1x6dx2mp103en2
This commit is contained in:
Antony Lesuisse 2011-09-06 22:54:38 +02:00
parent 6932592e26
commit 02792660b8
5 changed files with 24 additions and 31 deletions

View File

@ -884,22 +884,13 @@ class View(openerpweb.Controller):
if context_string:
elem.set(el, self.parse_context(context_string, session))
class FormView(View):
_cp_path = "/web/formview"
@openerpweb.jsonrequest
def load(self, req, model, view_id, toolbar=False):
fields_view = self.fields_view_get(req, model, view_id, 'form', toolbar=toolbar)
return {'fields_view': fields_view}
def load(self, req, model, view_id, view_type, toolbar=False):
return self.fields_view_get(req, model, view_id, view_type, toolbar=toolbar)
class ListView(View):
_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):
colors = view['arch']['attrs'].get('colors')
@ -918,6 +909,15 @@ class ListView(View):
return color[0]
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):
_cp_path = "/web/searchview"
@ -1073,19 +1073,6 @@ class Action(openerpweb.Controller):
return clean_action(req, req.session.model('ir.actions.server').run(
[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):
_cp_path = "/web/export"
@ -1336,7 +1323,6 @@ class ExcelExport(Export):
fp.close()
return data
class Reports(View):
_cp_path = "/web/report"

View File

@ -50,8 +50,13 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
return def.promise();
} else {
var context = new openerp.web.CompoundContext(this.dataset.get_context());
return this.rpc("/web/formview/load", {"model": this.model, "view_id": this.view_id,
toolbar: this.options.sidebar, context: context}, this.on_loaded);
return this.rpc("/web/view/load", {
"model": this.model,
"view_id": this.view_id,
"view_type": "form",
toolbar: this.options.sidebar,
context: context
}, this.on_loaded);
}
},
stop: function() {
@ -65,7 +70,7 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
},
on_loaded: function(data) {
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);
this.$element.html(QWeb.render(this.template, { 'frame': frame, 'view': this }));

View File

@ -74,7 +74,7 @@ openerp.web.list_editable = function (openerp) {
},
on_loaded: function (data, grouped) {
// 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);
}
});

View File

@ -147,7 +147,7 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView#
*/
on_loaded: function(data, grouped) {
var self = this;
this.fields_view = data.fields_view;
this.fields_view = data;
//this.log(this.fields_view);
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) {
this.sidebar = new openerp.web.Sidebar(this, this.options.sidebar_id);
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);
}
},
@ -373,6 +373,7 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView#
return this.rpc('/web/listview/load', {
model: this.model,
view_id: this.view_id,
"view_type": "list",
context: this.dataset.get_context(context),
toolbar: this.options.sidebar
}, callback);

View File

@ -31,6 +31,7 @@ openerp.web.TreeView = openerp.web.View.extend({
return this.rpc("/web/treeview/load", {
model: this.model,
view_id: this.view_id,
view_type: "tree",
toolbar: this.view_manager ? !!this.view_manager.sidebar : false
}, this.on_loaded);
},