summaryrefslogtreecommitdiff
path: root/addons/base/static/src/js
diff options
context:
space:
mode:
authorniv-openerp <nicolas.vanhoren@openerp.com>2011-08-25 19:04:10 +0200
committerniv-openerp <nicolas.vanhoren@openerp.com>2011-08-25 19:04:10 +0200
commitfc766e16fe8a6da5de0f0a9b68a83d4696861ddb (patch)
tree8a6db1c1cf9d0feaa8f90d1e19f2e11193a7cb58 /addons/base/static/src/js
parent9225fe407499b4fb942f3ef0ec4b42f43537caf6 (diff)
[imp] refactoring to allow correct context handling in clean_action
bzr revid: nicolas.vanhoren@openerp.com-20110825170410-omj3wrugqmslck8w
Diffstat (limited to 'addons/base/static/src/js')
-rw-r--r--addons/base/static/src/js/form.js21
1 files changed, 21 insertions, 0 deletions
diff --git a/addons/base/static/src/js/form.js b/addons/base/static/src/js/form.js
index 99da0062810..4138f6d50b5 100644
--- a/addons/base/static/src/js/form.js
+++ b/addons/base/static/src/js/form.js
@@ -1334,6 +1334,11 @@ openerp.base.form.FieldMany2One = openerp.base.form.Field.extend({
self.set_value(self.value[0]);
});
};
+ _.each(_.range(self.related_entries.length), function(i) {
+ bindings[self.cm_id + "_related_" + i] = function() {
+ self.open_related(self.related_entries[i]);
+ };
+ });
var cmenu = self.$menu_btn.contextMenu(self.cm_id, {'leftClickToo': true,
bindings: bindings, itemStyle: {"color": ""},
onContextMenu: function() {
@@ -1544,6 +1549,22 @@ openerp.base.form.FieldMany2One = openerp.base.form.Field.extend({
if (this.value === null) {
this.invalid = this.required;
}
+ },
+ open_related: function(related) {
+ var self = this;
+ if (!self.value)
+ return;
+ self.rpc("/base/action/load", {
+ action_id: related[2].id,
+ context: {
+ active_id: self.value[0],
+ active_ids: self.value[1],
+ active_model: self.field.relation
+ }
+ }, function(result) {
+ //TODO niv
+ debugger;
+ });
}
});