diff options
| author | sma (Tiny) <sma@tinyerp.com> | 2011-04-27 17:50:51 +0530 |
|---|---|---|
| committer | sma (Tiny) <sma@tinyerp.com> | 2011-04-27 17:50:51 +0530 |
| commit | 5060d7111c0c08abd77b69c19a3777f0e3088abf (patch) | |
| tree | 31556077b382a3ea5665b5cec4c824611672599f /addons/base/static/src/js | |
| parent | ceb524e3376d92dde25e68dd7d74b6de0a5c8a6d (diff) | |
[IMP] Implement many2one initiall work.
bzr revid: sma@tinyerp.com-20110427122051-h80fka7fqjz0fcpz
Diffstat (limited to 'addons/base/static/src/js')
| -rw-r--r-- | addons/base/static/src/js/base.js | 1 | ||||
| -rw-r--r-- | addons/base/static/src/js/data.js | 10 | ||||
| -rw-r--r-- | addons/base/static/src/js/form.js | 16 |
3 files changed, 27 insertions, 0 deletions
diff --git a/addons/base/static/src/js/base.js b/addons/base/static/src/js/base.js index 504f5ca744d..615b2c8e889 100644 --- a/addons/base/static/src/js/base.js +++ b/addons/base/static/src/js/base.js @@ -125,6 +125,7 @@ openerp.base = function(instance) { openerp.base.views(instance); openerp.base.search(instance); openerp.base.list(instance); + openerp.base.m2o(instance); openerp.base.form(instance); }; diff --git a/addons/base/static/src/js/data.js b/addons/base/static/src/js/data.js index a29f320b79c..79482f33430 100644 --- a/addons/base/static/src/js/data.js +++ b/addons/base/static/src/js/data.js @@ -118,6 +118,16 @@ openerp.base.DataSet = openerp.base.Controller.extend( /** @lends openerp.base. ids: ids, args: args }, callback); + + }, + name_search: function (search_str, callback) { + search_str = search_str || ''; + return this.rpc('/base/dataset/name_search', { + model: this.model, + search_str: search_str, + domain: this.domain || [], + context: this.context + }, callback); }, exec_workflow: function (id, signal, callback) { return this.rpc('/base/dataset/exec_workflow', { diff --git a/addons/base/static/src/js/form.js b/addons/base/static/src/js/form.js index 84d7fe0babd..9a5e092b142 100644 --- a/addons/base/static/src/js/form.js +++ b/addons/base/static/src/js/form.js @@ -824,10 +824,24 @@ openerp.base.form.FieldSelection = openerp.base.form.Field.extend({ } }); +openerp.base.form.FieldMany2OneDatasSet = openerp.base.DataSetStatic.extend({ + start: function() { + }, + write: function (id, data, callback) { + this._super(id, data, callback); + }, +}); + openerp.base.form.FieldMany2One = openerp.base.form.Field.extend({ init: function(view, node) { this._super(view, node); this.template = "FieldMany2One"; + this.is_field_m2o = true; + }, + start: function() { + this.$element = $('#' + this.element_id); + this.dataset = new openerp.base.form.FieldMany2OneDatasSet(this.session, this.field.relation); + new openerp.base.m2o(this.$element, this.field.relation, this.dataset) }, set_value: function(value) { this._super.apply(this, arguments); @@ -837,6 +851,8 @@ openerp.base.form.FieldMany2One = openerp.base.form.Field.extend({ this.value = value[0]; } this.$element.find('input').val(show_value); + // Need to replace this `text` with original `id` after discuss with xmo + this.$element.find('input').attr('text', this.value); } }); |
