openerp-dev-web team mailing list archive
-
openerp-dev-web team
-
Mailing list archive
-
Message #05115
lp:~openerp-dev/openobject-client-web/trunk-proto61-actions-niv into lp:~openerp-dev/openobject-client-web/trunk-proto61
Nicolas Vanhoren (OpenERP) has proposed merging lp:~openerp-dev/openobject-client-web/trunk-proto61-actions-niv into lp:~openerp-dev/openobject-client-web/trunk-proto61.
Requested reviews:
Antony Lesuisse (al-openerp)
OpenERP R&D Team (openerp-dev)
For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-client-web/trunk-proto61-actions-niv/+merge/56582
Sidebar improvements.
--
https://code.launchpad.net/~openerp-dev/openobject-client-web/trunk-proto61-actions-niv/+merge/56582
Your team OpenERP R&D Team is requested to review the proposed merge of lp:~openerp-dev/openobject-client-web/trunk-proto61-actions-niv into lp:~openerp-dev/openobject-client-web/trunk-proto61.
=== modified file 'addons/base/controllers/main.py'
--- addons/base/controllers/main.py 2011-04-06 13:29:34 +0000
+++ addons/base/controllers/main.py 2011-04-06 14:51:27 +0000
@@ -354,9 +354,9 @@
return {'result': r}
class View(openerpweb.Controller):
- def fields_view_get(self, session, model, view_id, view_type, transform=True):
+ def fields_view_get(self, session, model, view_id, view_type, transform=True, toolbar=False, submenu=False):
Model = session.model(model)
- r = Model.fields_view_get(view_id, view_type)
+ r = Model.fields_view_get(view_id, view_type, {}, toolbar, submenu)
if transform:
context = {} # TODO: dict(ctx_sesssion, **ctx_action)
xml = self.transform_view(r['arch'], session, context)
@@ -460,8 +460,8 @@
_cp_path = "/base/formview"
@openerpweb.jsonrequest
- def load(self, req, model, view_id):
- fields_view = self.fields_view_get(req.session, model, view_id, 'form')
+ def load(self, req, model, view_id, toolbar=False):
+ fields_view = self.fields_view_get(req.session, model, view_id, 'form', toolbar=toolbar)
return {'fields_view': fields_view}
@@ -469,8 +469,8 @@
_cp_path = "/base/listview"
@openerpweb.jsonrequest
- def load(self, req, model, view_id):
- fields_view = self.fields_view_get(req.session, model, view_id, 'tree')
+ def load(self, req, model, view_id, toolbar=False):
+ fields_view = self.fields_view_get(req.session, model, view_id, 'tree', toolbar=toolbar)
return {'fields_view': fields_view}
@@ -481,15 +481,6 @@
def load(self, req, model, view_id):
fields_view = self.fields_view_get(req.session, model, view_id, 'search')
return {'fields_view': fields_view}
-
-class SideBar(View):
- _cp_path = "/base/sidebar"
-
- @openerpweb.jsonrequest
- def get_actions(self, request, model, object_id=0):
- result = load_actions_from_ir_values(request, "action", "client_action_multi",
- [[model, object_id]], False, {})
- return result
class Action(openerpweb.Controller):
=== modified file 'addons/base/static/src/js/form.js'
--- addons/base/static/src/js/form.js 2011-04-06 09:56:42 +0000
+++ addons/base/static/src/js/form.js 2011-04-06 14:51:27 +0000
@@ -30,7 +30,8 @@
},
start: function() {
//this.log('Starting FormView '+this.model+this.view_id)
- return this.rpc("/base/formview/load", {"model": this.model, "view_id": this.view_id}, this.on_loaded);
+ return this.rpc("/base/formview/load", {"model": this.model, "view_id": this.view_id,
+ toolbar:!!this.view_manager.sidebar}, this.on_loaded);
},
on_loaded: function(data) {
var self = this;
@@ -53,7 +54,7 @@
// sidebar stuff
if (this.view_manager.sidebar) {
- this.view_manager.sidebar.load_multi_actions();
+ this.view_manager.sidebar.set_toolbar(data.fields_view.toolbar);
}
},
on_record_loaded: function(record) {
=== modified file 'addons/base/static/src/js/list.js'
--- addons/base/static/src/js/list.js 2011-04-05 15:14:40 +0000
+++ addons/base/static/src/js/list.js 2011-04-06 14:51:27 +0000
@@ -24,7 +24,8 @@
},
start: function() {
//this.log('Starting ListView '+this.model+this.view_id)
- return this.rpc("/base/listview/load", {"model": this.model, "view_id":this.view_id}, this.on_loaded);
+ return this.rpc("/base/listview/load", {"model": this.model, "view_id":this.view_id,
+ toolbar:!!this.view_manager.sidebar}, this.on_loaded);
},
on_loaded: function(data) {
this.fields_view = data.fields_view;
@@ -68,8 +69,9 @@
}).trigger('resize');
// sidebar stuff
- if (this.view_manager.sidebar)
- this.view_manager.sidebar.load_multi_actions();
+ if (this.view_manager.sidebar) {
+ this.view_manager.sidebar.set_toolbar(data.fields_view.toolbar);
+ }
},
do_fill_table: function(records) {
this.$table
=== modified file 'addons/base/static/src/js/views.js'
--- addons/base/static/src/js/views.js 2011-04-06 00:51:36 +0000
+++ addons/base/static/src/js/views.js 2011-04-06 14:51:27 +0000
@@ -280,16 +280,17 @@
this.view_manager = view_manager;
this.sections = [];
},
- load_multi_actions: function() {
- if (_.detect(this.sections, function(x) {return x.type=="multi_actions";}) != undefined)
- return;
+ set_toolbar: function(toolbar) {
+ debugger;
+ this.sections = [];
var self = this;
- this.rpc("/base/sidebar/get_actions",
- {"model": this.view_manager.dataset.model}, function(result) {
- self.sections.push({type: "multi_actions", elements:
- _.map(result, function(x) {return {text:x[2].name, action:x}; })});
- self.refresh();
+ _.each(["print", "action", "relate"], function(type) {
+ if (toolbar[type].length == 0)
+ return;
+ var section = {elements:toolbar[type]};
+ self.sections.push(section);
});
+ this.refresh();
},
refresh: function() {
this.$element.html(QWeb.render("ViewManager.sidebar.internal", _.extend({_:_}, this)));
=== modified file 'addons/base/static/src/xml/base.xml'
--- addons/base/static/src/xml/base.xml 2011-04-06 13:45:31 +0000
+++ addons/base/static/src/xml/base.xml 2011-04-06 14:51:27 +0000
@@ -478,7 +478,7 @@
<ul>
<t t-set="j" t-value="0"/>
<t t-foreach="section.elements" t-as="element">
- <li><a t-att-data-i="i" t-att-data-j="j" href="#"><t t-esc="element.text"/></a></li>
+ <li><a t-att-data-i="i" t-att-data-j="j" href="#"><t t-esc="element.name"/></a></li>
<t t-set="j+1" t-value="0"/>
</t>
</ul>
Follow ups