summaryrefslogtreecommitdiff
path: root/addons/base/static/src
diff options
context:
space:
mode:
authorniv-openerp <nicolas.vanhoren@openerp.com>2011-06-28 19:23:04 +0200
committerniv-openerp <nicolas.vanhoren@openerp.com>2011-06-28 19:23:04 +0200
commit6cf3210c9b630e032fcf3f28e77ec23abe4e2d13 (patch)
tree87e1dd204069cba77429c4ed33580cb88e3a25ad /addons/base/static/src
parent31e7760e1a49f2d995e8ccb6b420eacc3606fb18 (diff)
parentf07f60b3da21fa6980ae7b29af2c2bdf180adc60 (diff)
[merge]
bzr revid: nicolas.vanhoren@openerp.com-20110628172304-8l1kzi2dwve83dj1
Diffstat (limited to 'addons/base/static/src')
-rw-r--r--addons/base/static/src/js/data.js9
-rw-r--r--addons/base/static/src/js/form.js10
-rw-r--r--addons/base/static/src/js/views.js6
-rw-r--r--addons/base/static/src/xml/base.xml3
4 files changed, 23 insertions, 5 deletions
diff --git a/addons/base/static/src/js/data.js b/addons/base/static/src/js/data.js
index a29bb850e66..389f9334b47 100644
--- a/addons/base/static/src/js/data.js
+++ b/addons/base/static/src/js/data.js
@@ -328,6 +328,15 @@ openerp.base.DataSet = openerp.base.Controller.extend( /** @lends openerp.base.
args: args || []
}, callback, error_callback);
},
+ call_button: function (method, args, callback, error_callback) {
+ return this.rpc('/base/dataset/call_button', {
+ model: this.model,
+ method: method,
+ domain_id: null,
+ context_id: 1,
+ args: args || []
+ }, callback, error_callback);
+ },
name_get: function(ids, callback) {
return this.call_and_eval('name_get', [ids, this.context], null, 1, callback);
},
diff --git a/addons/base/static/src/js/form.js b/addons/base/static/src/js/form.js
index cc7993e210e..d279eb5d3aa 100644
--- a/addons/base/static/src/js/form.js
+++ b/addons/base/static/src/js/form.js
@@ -677,12 +677,18 @@ openerp.base.form.WidgetButton = openerp.base.form.Widget.extend({
openerp.base.form.WidgetLabel = openerp.base.form.Widget.extend({
init: function(view, node) {
- this.is_field_label = true;
this.element_name = 'label_' + node.attrs.name;
this._super(view, node);
- this.template = "WidgetLabel";
+ // TODO fme: support for attrs.align
+ if (this.node.tag == 'label' && this.node.attrs.colspan) {
+ this.is_field_label = false;
+ this.template = "WidgetParagraph";
+ } else {
+ this.is_field_label = true;
+ this.template = "WidgetLabel";
+ }
this.colspan = 1;
},
render: function () {
diff --git a/addons/base/static/src/js/views.js b/addons/base/static/src/js/views.js
index 7bf34e2f73c..e165bb3c165 100644
--- a/addons/base/static/src/js/views.js
+++ b/addons/base/static/src/js/views.js
@@ -432,8 +432,8 @@ openerp.base.View = openerp.base.Controller.extend({
if (action && action.constructor == Object) {
action.context = action.context || {};
_.extend(action.context, {
- active_id: dataset.ids[dataset.index],
- active_ids: [dataset.ids[dataset.index]],
+ active_id: record_id || false,
+ active_ids: [record_id || false],
active_model: dataset.model
});
action.flags = {
@@ -462,7 +462,7 @@ openerp.base.View = openerp.base.Controller.extend({
var context = new openerp.base.CompoundContext(dataset.context).add(action_data.context || {});
switch(action_data.type) {
case 'object':
- return dataset.call_and_eval(action_data.name, [[record_id], context], null, 1, handler);
+ return dataset.call_button(action_data.name, [[record_id], context], handler);
case 'action':
return this.rpc('/base/action/load', { action_id: parseInt(action_data.name, 10), context: context }, handler);
default:
diff --git a/addons/base/static/src/xml/base.xml b/addons/base/static/src/xml/base.xml
index de95a4294e8..9bef00147d3 100644
--- a/addons/base/static/src/xml/base.xml
+++ b/addons/base/static/src/xml/base.xml
@@ -468,6 +468,9 @@
<t t-if="widget.string and widget.node.tag != 'label'">:</t>
</label>
</t>
+<t t-name="WidgetParagraph">
+ <p class="oe_form_paragraph"><t t-esc="widget.string"/></p>
+</t>
<t t-name="FieldChar">
<input type="text"
t-att-name="widget.name"