From 8498eb0d07968b481371d15de3d138d5a04894fb Mon Sep 17 00:00:00 2001 From: "Vaibhav (OpenERP)" Date: Wed, 7 Sep 2011 18:03:24 +0530 Subject: [FIX] do not show shortcuts availibilty in o2m. lp bug: https://launchpad.net/bugs/842545 fixed bzr revid: vda@tinyerp.com-20110907123324-l7cw056zjsrmr3m2 --- addons/web/static/src/js/form.js | 1 + 1 file changed, 1 insertion(+) (limited to 'addons/web/static/src') diff --git a/addons/web/static/src/js/form.js b/addons/web/static/src/js/form.js index 73695e93ea3..567c08a009d 100644 --- a/addons/web/static/src/js/form.js +++ b/addons/web/static/src/js/form.js @@ -1717,6 +1717,7 @@ openerp.web.form.FieldOne2Many = openerp.web.form.Field.extend({ }); this.viewmanager.on_mode_switch.add_first(function() { self.save_form_view(); + self.$element.find('.oe-shortcut-toggle').hide(); }); setTimeout(function () { self.viewmanager.appendTo(self.$element); -- cgit v1.2.3 From b4694f6a91efb1dbd93ed72bbb53cde52a85cc91 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Wed, 7 Sep 2011 15:23:20 +0200 Subject: [fix] (x-files mode on) problem with some reports that are not reports (x-files mode off) bzr revid: nicolas.vanhoren@openerp.com-20110907132320-uf2e5a6crjg04r84 --- addons/web/static/src/js/views.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'addons/web/static/src') diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index 2c616359f01..37738d3ec51 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -454,7 +454,7 @@ openerp.web.Sidebar = openerp.web.Widget.extend({ }; self.rpc("/web/action/load", { action_id: item.action.id, - context: _.extend({"bin_size": true}, additional_context) + context: additional_context }, function(result) { result.result.context = _.extend(result.result.context || {}, additional_context); -- cgit v1.2.3 From 51d0c0037b07d2f09437ba11eb494be451345848 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Wed, 7 Sep 2011 15:28:10 +0200 Subject: [imp] added warning when no item selected in reports bzr revid: nicolas.vanhoren@openerp.com-20110907132810-q0norgc0qrlvg3hs --- addons/web/static/src/js/views.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'addons/web/static/src') diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index 37738d3ec51..d94c697a2ee 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -444,7 +444,10 @@ openerp.web.Sidebar = openerp.web.Widget.extend({ if (item.action) { var ids = self.widget_parent.get_selected_ids(); if (ids.length == 0) { - //TODO niv: maybe show a warning? + $("
").text(_t("You must choose at least one record.")).dialog({ + title: _t("Warning"), + modal: true + }); return false; } var additional_context = { -- cgit v1.2.3 From c4735c677090ff107d0af4200a4d7009f8023904 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Wed, 7 Sep 2011 16:31:10 +0200 Subject: [ADD] autogenerated json-rpc2 ID, in a multithreaded server many requests may reach the server simultanously leading to logs which are a pain to decipher bzr revid: xmo@openerp.com-20110907143110-ujmkir821alxjxoo --- addons/web/static/src/js/core.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'addons/web/static/src') diff --git a/addons/web/static/src/js/core.js b/addons/web/static/src/js/core.js index ae2c4d0d657..da2afae3680 100644 --- a/addons/web/static/src/js/core.js +++ b/addons/web/static/src/js/core.js @@ -375,7 +375,7 @@ openerp.web.Session = openerp.web.CallbackEnabled.extend( /** @lends openerp.web jsonrpc: "2.0", method: "call", params: params, - id:null + id: _.uniqueId('browser-client-') }).then(function () {deferred.resolve.apply(deferred, arguments);}, function(error) {deferred.reject(error, $.Event());}); return deferred.fail(function() { -- cgit v1.2.3 From bc4485ef9632d26d9d9a162c96e1d26647169205 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Wed, 7 Sep 2011 16:53:11 +0200 Subject: [ADD] Added FormDialog bzr revid: fme@openerp.com-20110907145311-0ry7eb2jryn3n2km --- addons/web/static/src/js/form.js | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'addons/web/static/src') diff --git a/addons/web/static/src/js/form.js b/addons/web/static/src/js/form.js index 73695e93ea3..6042ebf7c66 100644 --- a/addons/web/static/src/js/form.js +++ b/addons/web/static/src/js/form.js @@ -456,6 +456,34 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# return id ? [id] : []; } }); +openerp.web.FormDialog = openerp.web.Dialog.extend({ + init: function(parent, options, view_id, dataset) { + this._super(parent, options); + this.dataset = dataset; + this.view_id = view_id; + return this; + }, + start: function() { + this._super(); + this.form = new openerp.web.FormView(this, this.element_id, this.dataset, this.view_id, { + sidebar: false, + pager: false + }); + this.form.start(); + this.form.on_created.add_last(this.on_form_dialog_saved); + this.form.on_saved.add_last(this.on_form_dialog_saved); + return this; + }, + load_id: function(id) { + var self = this; + return this.dataset.read_ids([id], _.keys(this.form.fields_view.fields), function(records) { + self.form.on_record_loaded(records[0]); + }); + }, + on_form_dialog_saved: function() { + this.close(); + } +}); /** @namespace */ openerp.web.form = {}; -- cgit v1.2.3 From 9b18066adcb6fa9a5a9847a2292d1fef4f1aa5a4 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Wed, 7 Sep 2011 18:33:15 +0200 Subject: [FIX] Fixed FieldSelection problems with false values lp bug: https://launchpad.net/bugs/838924 fixed bzr revid: fme@openerp.com-20110907163315-b014e9pulr3nsqt4 --- addons/web/static/src/js/form.js | 25 +++++++++++++++---------- addons/web/static/src/xml/base.xml | 6 ++---- 2 files changed, 17 insertions(+), 14 deletions(-) (limited to 'addons/web/static/src') diff --git a/addons/web/static/src/js/form.js b/addons/web/static/src/js/form.js index 6042ebf7c66..d4bf9d76573 100644 --- a/addons/web/static/src/js/form.js +++ b/addons/web/static/src/js/form.js @@ -1251,11 +1251,16 @@ openerp.web.form.FieldTextXml = openerp.web.form.Field.extend({ openerp.web.form.FieldSelection = openerp.web.form.Field.extend({ init: function(view, node) { + var self = this; this._super(view, node); this.template = "FieldSelection"; - this.field_index = _.map(this.field.selection, function(x, index) { - return {"ikey": "" + index, "ekey": x[0], "label": x[1]}; + this.values = this.field.selection; + _.each(this.values, function(v, i) { + if (v[0] === false && v[1] === '') { + self.values.splice(i, 1); + } }); + this.values.unshift([false, '']); }, start: function() { // Flag indicating whether we're in an event chain containing a change @@ -1285,13 +1290,14 @@ openerp.web.form.FieldSelection = openerp.web.form.Field.extend({ value = value === null ? false : value; value = value instanceof Array ? value[0] : value; this._super(value); - var option = _.detect(this.field_index, function(x) {return x.ekey === value;}); - this.$element.find('select').val(option === undefined ? '' : option.ikey); + var index = 0; + for (var i = 0, ii = this.values.length; i < ii; i++) { + if (this.values[i][0] === value) index = i; + } + this.$element.find('select')[0].selectedIndex = index; }, set_value_from_ui: function() { - var ikey = this.$element.find('select').val(); - var option = _.detect(this.field_index, function(x) {return x.ikey === ikey;}); - this.value = option === undefined ? false : option.ekey; + this.value = this.values[this.$element.find('select')[0].selectedIndex][0]; this._super(); }, update_dom: function() { @@ -1299,9 +1305,8 @@ openerp.web.form.FieldSelection = openerp.web.form.Field.extend({ this.$element.find('select').attr('disabled', this.readonly); }, validate: function() { - var ikey = this.$element.find('select').val(); - var option = _.detect(this.field_index, function(x) {return x.ikey === ikey;}); - this.invalid = this.required && (option === undefined || option.ekey === false); + var value = this.values[this.$element.find('select')[0].selectedIndex]; + this.invalid = !(value && !(this.required && value[0] === false)); }, focus: function() { this.$element.find('select').focus(); diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index 677488d9d7d..ae03c8789b6 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -799,10 +799,8 @@ t-att-id="widget.element_id + '_field'" t-att-class="'field_' + widget.type" style="width: 100%"> - - + + -- cgit v1.2.3 From 01e70a7a8e71c78ace8e2889c761bedba5c8a915 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Wed, 7 Sep 2011 21:20:52 +0200 Subject: [FIX] Editable list gets wrong fields view get object due to previous refactoring lp bug: https://launchpad.net/bugs/843841 fixed bzr revid: fme@openerp.com-20110907192052-0bx7viwvee2r4i2d --- addons/web/static/src/js/list-editable.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'addons/web/static/src') diff --git a/addons/web/static/src/js/list-editable.js b/addons/web/static/src/js/list-editable.js index 614c6fa42ef..ab78e5e0139 100644 --- a/addons/web/static/src/js/list-editable.js +++ b/addons/web/static/src/js/list-editable.js @@ -183,7 +183,7 @@ openerp.web.list_editable = function (openerp) { template: 'ListView.row.form', registry: openerp.web.list.form.widgets }); - $.when(self.edition_form.on_loaded({fields_view: self.get_form_fields_view()})).then(function () { + $.when(self.edition_form.on_loaded(self.get_form_fields_view())).then(function () { // put in $.when just in case FormView.on_loaded becomes asynchronous $new_row.find('td') .addClass('oe-field-cell') -- cgit v1.2.3 From bba27daf04ff27b1f3c71e0dee7c73375efc11a4 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Thu, 8 Sep 2011 12:14:06 +0200 Subject: [FIX] don't display non-searchable (non-stored without a fnct_search) function fields lp bug: https://launchpad.net/bugs/823049 fixed bzr revid: xmo@openerp.com-20110908101406-f6r8bgt155nq65in --- addons/web/static/src/xml/base.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'addons/web/static/src') diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index ae03c8789b6..5ac1929fce3 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -1111,7 +1111,8 @@