summaryrefslogtreecommitdiff
path: root/addons/base/static/src/js/form.js
diff options
context:
space:
mode:
authorVaibhav (OpenERP) <vda@tinyerp.com>2011-06-22 10:53:59 +0530
committerVaibhav (OpenERP) <vda@tinyerp.com>2011-06-22 10:53:59 +0530
commit30d315dfd95bccc1fb91c2fea9d7a31cf86ab6bf (patch)
tree1d46c6a5e1c86fe051c19139014fa402d49f02ea /addons/base/static/src/js/form.js
parent68fdbd29122f085e128d9d93e3ea53ef18a6a12f (diff)
parentc57a3e0d98229ed66dde92c5caad39f6bc0efdbd (diff)
[MERGE] openerp-web
bzr revid: vda@tinyerp.com-20110622052359-n3tef8f89jo22cs9
Diffstat (limited to 'addons/base/static/src/js/form.js')
-rw-r--r--addons/base/static/src/js/form.js17
1 files changed, 13 insertions, 4 deletions
diff --git a/addons/base/static/src/js/form.js b/addons/base/static/src/js/form.js
index 90357325928..d221872598d 100644
--- a/addons/base/static/src/js/form.js
+++ b/addons/base/static/src/js/form.js
@@ -1,4 +1,3 @@
-
openerp.base.form = function (openerp) {
openerp.base.views.add('form', 'openerp.base.FormView');
@@ -43,8 +42,12 @@ openerp.base.FormView = openerp.base.View.extend( /** @lends openerp.base.FormV
if (this.embedded_view) {
return $.Deferred().then(this.on_loaded).resolve({fields_view: this.embedded_view});
} else {
+ var context = new openerp.base.CompoundContext(this.dataset.context);
+ if (this.view_manager.action && this.view_manager.action.context) {
+ context.add(this.view_manager.action.context);
+ }
return this.rpc("/base/formview/load", {"model": this.model, "view_id": this.view_id,
- toolbar:!!this.flags.sidebar}, this.on_loaded);
+ toolbar:!!this.flags.sidebar, context: context}, this.on_loaded);
}
},
on_loaded: function(data) {
@@ -226,8 +229,12 @@ openerp.base.FormView = openerp.base.View.extend( /** @lends openerp.base.FormV
},
on_button_new: function() {
var self = this;
+ var context = new openerp.base.CompoundContext(this.dataset.context);
+ if (this.view_manager.action && this.view_manager.action.context) {
+ context.add(this.view_manager.action.context);
+ }
$.when(this.has_been_loaded).then(function() {
- self.dataset.default_get(_.keys(self.fields_view.fields), function(result) {
+ self.dataset.default_get(_.keys(self.fields_view.fields), context, function(result) {
self.on_record_loaded(result.result);
});
});
@@ -299,6 +306,7 @@ openerp.base.FormView = openerp.base.View.extend( /** @lends openerp.base.FormV
if (success) {
success(r);
}
+ this.reload();
}
},
/**
@@ -333,6 +341,7 @@ openerp.base.FormView = openerp.base.View.extend( /** @lends openerp.base.FormV
if (success) {
success(_.extend(r, {created: true}));
}
+ this.reload();
}
},
do_search: function (domains, contexts, groupbys) {
@@ -995,7 +1004,7 @@ openerp.base.form.FieldSelection = openerp.base.form.Field.extend({
if (value != null && value !== false) {
this.$element.find('select').val(value);
} else {
- this.$element.find('select')[0].selectedIndex = 0;
+ this.$element.find('select').val('false');
}
},
set_value_from_ui: function() {