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/js/form.js') 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 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) (limited to 'addons/web/static/src/js/form.js') 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(); -- cgit v1.2.3 From 6f178015e187c852cefef4149b58fb6b0a394cc5 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Thu, 8 Sep 2011 16:58:45 +0200 Subject: [imp] setup of status widget bzr revid: nicolas.vanhoren@openerp.com-20110908145845-85ao2yvkpvsnc6kg --- addons/web/static/src/js/form.js | 56 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 55 insertions(+), 1 deletion(-) (limited to 'addons/web/static/src/js/form.js') diff --git a/addons/web/static/src/js/form.js b/addons/web/static/src/js/form.js index d4bf9d76573..232cc7fbb30 100644 --- a/addons/web/static/src/js/form.js +++ b/addons/web/static/src/js/form.js @@ -2478,6 +2478,59 @@ openerp.web.form.FieldBinaryImage = openerp.web.form.FieldBinary.extend({ } }); +openerp.web.form.FieldStatus = openerp.web.form.Field.extend({ + init: function(view, node) { + var self = this; + this._super(view, node); + this.template = "FieldSelection"; + 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() { + var ischanging = false; + this._super.apply(this, arguments); + this.$element.find('select') + .change(this.on_ui_change) + .change(function () { ischanging = true; }) + .click(function () { ischanging = false; }) + .keyup(function (e) { + if (e.which !== 13 || !ischanging) { return; } + e.stopPropagation(); + ischanging = false; + }); + }, + set_value: function(value) { + value = value === null ? false : value; + value = value instanceof Array ? value[0] : value; + this._super(value); + 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() { + this.value = this.values[this.$element.find('select')[0].selectedIndex][0]; + this._super(); + }, + update_dom: function() { + this._super.apply(this, arguments); + this.$element.find('select').attr('disabled', this.readonly); + }, + validate: function() { + 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(); + } +}); + /** * Registry of form widgets, called by :js:`openerp.web.FormView` */ @@ -2507,7 +2560,8 @@ openerp.web.form.widgets = new openerp.web.Registry({ 'float_time': 'openerp.web.form.FieldFloat', 'progressbar': 'openerp.web.form.FieldProgressBar', 'image': 'openerp.web.form.FieldBinaryImage', - 'binary': 'openerp.web.form.FieldBinaryFile' + 'binary': 'openerp.web.form.FieldBinaryFile', + 'status': 'openerp.web.form.FieldStatus' }); }; -- cgit v1.2.3 From c5ac762b2062ca7626ed85b0321450b87d073e0c Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Thu, 8 Sep 2011 17:06:45 +0200 Subject: [imp] setup of templates for status widget bzr revid: nicolas.vanhoren@openerp.com-20110908150645-uqj6f9f5icnsf3jx --- addons/web/static/src/js/form.js | 50 +++++----------------------------------- 1 file changed, 6 insertions(+), 44 deletions(-) (limited to 'addons/web/static/src/js/form.js') diff --git a/addons/web/static/src/js/form.js b/addons/web/static/src/js/form.js index 232cc7fbb30..3462f8f67ef 100644 --- a/addons/web/static/src/js/form.js +++ b/addons/web/static/src/js/form.js @@ -2479,55 +2479,17 @@ openerp.web.form.FieldBinaryImage = openerp.web.form.FieldBinary.extend({ }); openerp.web.form.FieldStatus = openerp.web.form.Field.extend({ - init: function(view, node) { - var self = this; - this._super(view, node); - this.template = "FieldSelection"; - 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, '']); - }, + template: "FieldStatus", start: function() { - var ischanging = false; - this._super.apply(this, arguments); - this.$element.find('select') - .change(this.on_ui_change) - .change(function () { ischanging = true; }) - .click(function () { ischanging = false; }) - .keyup(function (e) { - if (e.which !== 13 || !ischanging) { return; } - e.stopPropagation(); - ischanging = false; - }); + this._super(); + this.render_list(); }, set_value: function(value) { - value = value === null ? false : value; - value = value instanceof Array ? value[0] : value; this._super(value); - 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() { - this.value = this.values[this.$element.find('select')[0].selectedIndex][0]; - this._super(); - }, - update_dom: function() { - this._super.apply(this, arguments); - this.$element.find('select').attr('disabled', this.readonly); + this.render_list(); }, - validate: function() { - 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(); + render_list: function() { + this.$element.html("Youpsla"); } }); -- cgit v1.2.3 From e63c4a5feaccb044c15c685d94c54a46de25b292 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Thu, 8 Sep 2011 17:09:32 +0200 Subject: [imp] improved status widget templates behavior bzr revid: nicolas.vanhoren@openerp.com-20110908150932-kfyot4ivb6auhnod --- addons/web/static/src/js/form.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'addons/web/static/src/js/form.js') diff --git a/addons/web/static/src/js/form.js b/addons/web/static/src/js/form.js index 3462f8f67ef..5a0168026c3 100644 --- a/addons/web/static/src/js/form.js +++ b/addons/web/static/src/js/form.js @@ -2489,7 +2489,8 @@ openerp.web.form.FieldStatus = openerp.web.form.Field.extend({ this.render_list(); }, render_list: function() { - this.$element.html("Youpsla"); + var content = openerp.web.qweb.render("FieldStatus.content", {}); + this.$element.html(content); } }); -- cgit v1.2.3 From 38df96f12482bef061a73bd647a58fce7ddbe2e5 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Thu, 8 Sep 2011 17:37:15 +0200 Subject: [imp] now status widget list possible selections bzr revid: nicolas.vanhoren@openerp.com-20110908153715-k3ur78w85kb24iv7 --- addons/web/static/src/js/form.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'addons/web/static/src/js/form.js') diff --git a/addons/web/static/src/js/form.js b/addons/web/static/src/js/form.js index 5a0168026c3..fb3c56ea068 100644 --- a/addons/web/static/src/js/form.js +++ b/addons/web/static/src/js/form.js @@ -2482,14 +2482,16 @@ openerp.web.form.FieldStatus = openerp.web.form.Field.extend({ template: "FieldStatus", start: function() { this._super(); + this.selected_item = null; this.render_list(); }, set_value: function(value) { this._super(value); + this.selected_item = value; this.render_list(); }, render_list: function() { - var content = openerp.web.qweb.render("FieldStatus.content", {}); + var content = openerp.web.qweb.render("FieldStatus.content", {widget: this, _:_}); this.$element.html(content); } }); -- cgit v1.2.3 From c2ad26f34ce4bbf3338db0ef7e2355058a3ae1e9 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Thu, 8 Sep 2011 17:45:51 +0200 Subject: [imp] now status widget correctly highlights the selected item bzr revid: nicolas.vanhoren@openerp.com-20110908154551-oti347kv6f7h0q2y --- addons/web/static/src/js/form.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'addons/web/static/src/js/form.js') diff --git a/addons/web/static/src/js/form.js b/addons/web/static/src/js/form.js index fb3c56ea068..17f7efc4a14 100644 --- a/addons/web/static/src/js/form.js +++ b/addons/web/static/src/js/form.js @@ -2482,12 +2482,13 @@ openerp.web.form.FieldStatus = openerp.web.form.Field.extend({ template: "FieldStatus", start: function() { this._super(); - this.selected_item = null; + this.selected_index = null; this.render_list(); }, set_value: function(value) { this._super(value); - this.selected_item = value; + var select = _.detect(this.field.selection, function(x) { return x[0] === value; }); + this.selected_index = _.indexOf(this.field.selection, select); this.render_list(); }, render_list: function() { -- cgit v1.2.3 From 7987d3a2f6ebc1256a33320c0d2d964687c11be4 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Thu, 8 Sep 2011 18:35:36 +0200 Subject: [imp] added possibility to only show some states in status widget bzr revid: nicolas.vanhoren@openerp.com-20110908163536-bewx1817u96t11rc --- addons/web/static/src/js/form.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'addons/web/static/src/js/form.js') diff --git a/addons/web/static/src/js/form.js b/addons/web/static/src/js/form.js index 17f7efc4a14..43584ccbdf3 100644 --- a/addons/web/static/src/js/form.js +++ b/addons/web/static/src/js/form.js @@ -2482,16 +2482,25 @@ openerp.web.form.FieldStatus = openerp.web.form.Field.extend({ template: "FieldStatus", start: function() { this._super(); - this.selected_index = null; + this.selected_value = null; this.render_list(); }, set_value: function(value) { this._super(value); - var select = _.detect(this.field.selection, function(x) { return x[0] === value; }); - this.selected_index = _.indexOf(this.field.selection, select); + this.selected_value = value; this.render_list(); }, render_list: function() { + var self = this; + var shown = _.map(((this.node.attrs || {}).statusbar_visible || "").split(","), + function(x) { return x.trim(); }); + if (shown.length == 0) { + this.to_show = this.field.selection; + } else { + this.to_show = _.select(this.field.selection, function(x) { + return _.indexOf(shown, x[0]) !== -1 || x[0] === self.selected_value; + }); + } var content = openerp.web.qweb.render("FieldStatus.content", {widget: this, _:_}); this.$element.html(content); } -- cgit v1.2.3 From 4970d553978de8d720a05d75d85b06e64acc7f84 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Thu, 8 Sep 2011 18:36:12 +0200 Subject: [imp] cosmetic change bzr revid: nicolas.vanhoren@openerp.com-20110908163612-nzdxfk8co55b7hm0 --- addons/web/static/src/js/form.js | 2 ++ 1 file changed, 2 insertions(+) (limited to 'addons/web/static/src/js/form.js') diff --git a/addons/web/static/src/js/form.js b/addons/web/static/src/js/form.js index 43584ccbdf3..aab1d253f57 100644 --- a/addons/web/static/src/js/form.js +++ b/addons/web/static/src/js/form.js @@ -2494,6 +2494,7 @@ openerp.web.form.FieldStatus = openerp.web.form.Field.extend({ var self = this; var shown = _.map(((this.node.attrs || {}).statusbar_visible || "").split(","), function(x) { return x.trim(); }); + if (shown.length == 0) { this.to_show = this.field.selection; } else { @@ -2501,6 +2502,7 @@ openerp.web.form.FieldStatus = openerp.web.form.Field.extend({ return _.indexOf(shown, x[0]) !== -1 || x[0] === self.selected_value; }); } + var content = openerp.web.qweb.render("FieldStatus.content", {widget: this, _:_}); this.$element.html(content); } -- cgit v1.2.3 From 7420565e8fc2ab87fc0752882b395b37aa4b0993 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Thu, 8 Sep 2011 18:36:32 +0200 Subject: [imp] more cosmetic change bzr revid: nicolas.vanhoren@openerp.com-20110908163632-5pbn13xrrjikey63 --- addons/web/static/src/js/form.js | 2 ++ 1 file changed, 2 insertions(+) (limited to 'addons/web/static/src/js/form.js') diff --git a/addons/web/static/src/js/form.js b/addons/web/static/src/js/form.js index aab1d253f57..026f9c87ff4 100644 --- a/addons/web/static/src/js/form.js +++ b/addons/web/static/src/js/form.js @@ -2483,11 +2483,13 @@ openerp.web.form.FieldStatus = openerp.web.form.Field.extend({ start: function() { this._super(); this.selected_value = null; + this.render_list(); }, set_value: function(value) { this._super(value); this.selected_value = value; + this.render_list(); }, render_list: function() { -- cgit v1.2.3 From b58f81d83755646222586946de180e644b6177f2 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Thu, 8 Sep 2011 18:40:48 +0200 Subject: [imp] added translation bzr revid: nicolas.vanhoren@openerp.com-20110908164048-96t6yq96hiiinxvm --- addons/web/static/src/js/form.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'addons/web/static/src/js/form.js') diff --git a/addons/web/static/src/js/form.js b/addons/web/static/src/js/form.js index 026f9c87ff4..97b89925549 100644 --- a/addons/web/static/src/js/form.js +++ b/addons/web/static/src/js/form.js @@ -382,7 +382,7 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# }, on_saved: function(r, success) { if (!r.result) { - this.notification.warn("Record not saved", "Problem while saving record."); + this.notification.warn(_t("Record not saved"), "Problem while saving record."); } else { this.notification.notify("Record saved", "The record #" + this.datarecord.id + " has been saved."); if (success) { -- cgit v1.2.3 From dabb1d74301e1728c2135394618fa48f71852dce Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Thu, 8 Sep 2011 18:41:02 +0200 Subject: [imp] added translation bzr revid: nicolas.vanhoren@openerp.com-20110908164102-ywmlnnxw98moxe1e --- addons/web/static/src/js/form.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'addons/web/static/src/js/form.js') diff --git a/addons/web/static/src/js/form.js b/addons/web/static/src/js/form.js index 97b89925549..a1d993c319d 100644 --- a/addons/web/static/src/js/form.js +++ b/addons/web/static/src/js/form.js @@ -382,7 +382,7 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# }, on_saved: function(r, success) { if (!r.result) { - this.notification.warn(_t("Record not saved"), "Problem while saving record."); + this.notification.warn(_t("Record not saved"), _t("Problem while saving record.")); } else { this.notification.notify("Record saved", "The record #" + this.datarecord.id + " has been saved."); if (success) { -- cgit v1.2.3 From df17431c0924b5c5931a34f7dd127ac44a6642a1 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Thu, 8 Sep 2011 18:41:20 +0200 Subject: [imp] added translation bzr revid: nicolas.vanhoren@openerp.com-20110908164120-yoi74rmjhwhrczo9 --- addons/web/static/src/js/form.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'addons/web/static/src/js/form.js') diff --git a/addons/web/static/src/js/form.js b/addons/web/static/src/js/form.js index a1d993c319d..58fd78a4b86 100644 --- a/addons/web/static/src/js/form.js +++ b/addons/web/static/src/js/form.js @@ -384,7 +384,7 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# if (!r.result) { this.notification.warn(_t("Record not saved"), _t("Problem while saving record.")); } else { - this.notification.notify("Record saved", "The record #" + this.datarecord.id + " has been saved."); + this.notification.notify(_t("Record saved"), "The record #" + this.datarecord.id + " has been saved."); if (success) { success(r); } -- cgit v1.2.3 From 91358f641b3082ed5da591e88bae3603dffd6bc2 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Thu, 8 Sep 2011 18:42:11 +0200 Subject: [imp] added translation bzr revid: nicolas.vanhoren@openerp.com-20110908164211-c3ohu5j95ha0f16p --- addons/web/static/src/js/form.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'addons/web/static/src/js/form.js') diff --git a/addons/web/static/src/js/form.js b/addons/web/static/src/js/form.js index 58fd78a4b86..37f56ddc75e 100644 --- a/addons/web/static/src/js/form.js +++ b/addons/web/static/src/js/form.js @@ -384,7 +384,7 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# if (!r.result) { this.notification.warn(_t("Record not saved"), _t("Problem while saving record.")); } else { - this.notification.notify(_t("Record saved"), "The record #" + this.datarecord.id + " has been saved."); + this.notification.notify(_t("Record saved"), _.sprintf(_("The record #%s has been saved.") + this.datarecord.id)); if (success) { success(r); } -- cgit v1.2.3 From 4f61602090e4cd784f182e0d4514ce40beac9afa Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Thu, 8 Sep 2011 18:42:35 +0200 Subject: [imp] added translation bzr revid: nicolas.vanhoren@openerp.com-20110908164235-64kkia9iolgk6p8s --- addons/web/static/src/js/form.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'addons/web/static/src/js/form.js') diff --git a/addons/web/static/src/js/form.js b/addons/web/static/src/js/form.js index 37f56ddc75e..d8358b30804 100644 --- a/addons/web/static/src/js/form.js +++ b/addons/web/static/src/js/form.js @@ -406,7 +406,7 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# */ on_created: function(r, success, prepend_on_create) { if (!r.result) { - this.notification.warn("Record not created", "Problem while creating record."); + this.notification.warn(_t("Record not created"), "Problem while creating record."); } else { this.datarecord.id = r.result; if (!prepend_on_create) { -- cgit v1.2.3 From 629d515677ddb146842e5d7adf0cdfe22b27ca06 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Thu, 8 Sep 2011 18:42:50 +0200 Subject: [imp] added translation bzr revid: nicolas.vanhoren@openerp.com-20110908164250-1iynaj4an78cb1or --- addons/web/static/src/js/form.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'addons/web/static/src/js/form.js') diff --git a/addons/web/static/src/js/form.js b/addons/web/static/src/js/form.js index d8358b30804..5f26fa66d22 100644 --- a/addons/web/static/src/js/form.js +++ b/addons/web/static/src/js/form.js @@ -420,7 +420,7 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# if (this.sidebar) { this.sidebar.attachments.do_update(); } - this.notification.notify("Record created", "The record has been created with id #" + this.datarecord.id); + this.notification.notify(_t("Record created"), "The record has been created with id #" + this.datarecord.id); if (success) { success(_.extend(r, {created: true})); } -- cgit v1.2.3 From 4c018a3721d5685b21b2736a02a577597e5d55a3 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Thu, 8 Sep 2011 19:00:12 +0200 Subject: [imp] added colors customization for status field I got it!! bzr revid: nicolas.vanhoren@openerp.com-20110908170012-v7uuhnzow8wrzckq --- addons/web/static/src/js/form.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'addons/web/static/src/js/form.js') diff --git a/addons/web/static/src/js/form.js b/addons/web/static/src/js/form.js index 5f26fa66d22..512ee1c15ff 100644 --- a/addons/web/static/src/js/form.js +++ b/addons/web/static/src/js/form.js @@ -2507,6 +2507,18 @@ openerp.web.form.FieldStatus = openerp.web.form.Field.extend({ var content = openerp.web.qweb.render("FieldStatus.content", {widget: this, _:_}); this.$element.html(content); + + var colors = JSON.parse(((this.node.attrs || {}).statusbar_colors || "{}").split("'").join('"')); + var color = colors[this.selected_value]; + if (color) { + var elem = this.$element.find("li.oe-arrow-list-selected span"); + elem.css("border-color", color); + elem = this.$element.find("li.oe-arrow-list-selected .oe-arrow-list-before"); + elem.css("border-left-color", "rgba(0,0,0,0)"); + elem = this.$element.find("li.oe-arrow-list-selected .oe-arrow-list-after"); + elem.css("border-color", "rgba(0,0,0,0)"); + elem.css("border-left-color", color); + } } }); -- cgit v1.2.3 From 9c8e5fb0997b788fc0145b652167ad443e3c87cf Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Fri, 9 Sep 2011 13:18:03 +0200 Subject: [imp] changed 'status' widget to 'statusbar' widget bzr revid: nicolas.vanhoren@openerp.com-20110909111803-n10ff50qr8mismjb --- addons/web/static/src/js/form.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'addons/web/static/src/js/form.js') diff --git a/addons/web/static/src/js/form.js b/addons/web/static/src/js/form.js index 512ee1c15ff..d5fa9cdbde6 100644 --- a/addons/web/static/src/js/form.js +++ b/addons/web/static/src/js/form.js @@ -2552,7 +2552,7 @@ openerp.web.form.widgets = new openerp.web.Registry({ 'progressbar': 'openerp.web.form.FieldProgressBar', 'image': 'openerp.web.form.FieldBinaryImage', 'binary': 'openerp.web.form.FieldBinaryFile', - 'status': 'openerp.web.form.FieldStatus' + 'statusbar': 'openerp.web.form.FieldStatus' }); }; -- cgit v1.2.3 From 3875715c80c96ac46e5dc8058823fd7e6fb247fc Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Fri, 9 Sep 2011 15:46:04 +0200 Subject: [fix] some problem in some o2m that made many things fail bzr revid: nicolas.vanhoren@openerp.com-20110909134604-6qgilgf72qchgr2b --- addons/web/static/src/js/form.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'addons/web/static/src/js/form.js') diff --git a/addons/web/static/src/js/form.js b/addons/web/static/src/js/form.js index d5fa9cdbde6..18947d1b788 100644 --- a/addons/web/static/src/js/form.js +++ b/addons/web/static/src/js/form.js @@ -1852,7 +1852,7 @@ openerp.web.form.FieldOne2Many = openerp.web.form.Field.extend({ this.viewmanager.views[this.viewmanager.active_view].controller) { var view = this.viewmanager.views[this.viewmanager.active_view].controller; if (this.viewmanager.active_view === "form") { - var res = view.do_save(); + var res = $.when(view.do_save()); if (res === false) { // ignore } else if (res.isRejected()) { -- cgit v1.2.3 From dedded529403b72bc00b373e8bdcc16da97cd73c Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 12 Sep 2011 13:34:37 +0200 Subject: [FIX] a few more existing jsdoc so jsdoc v3 does not blow up during parsing bzr revid: xmo@openerp.com-20110912113437-emv28eo9ct9n559g --- addons/web/static/src/js/form.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'addons/web/static/src/js/form.js') diff --git a/addons/web/static/src/js/form.js b/addons/web/static/src/js/form.js index 18947d1b788..4a60f25e3ae 100644 --- a/addons/web/static/src/js/form.js +++ b/addons/web/static/src/js/form.js @@ -12,7 +12,9 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# searchable: false, template: "FormView", /** - * @constructs + * @constructs openerp.web.FormView + * @extends openerp.web.View + * * @param {openerp.web.Session} session the current openerp session * @param {String} element_id this view's root element id * @param {openerp.web.DataSet} dataset the dataset this view will work with -- cgit v1.2.3 From b28d98a5134e05fdd284316d652bffef561d96c7 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 12 Sep 2011 13:43:50 +0200 Subject: [FIX] jsdoc in forms.js, so it does not create a bunch of global functions which are really methods bzr revid: xmo@openerp.com-20110912114350-uzi1jm1jj7gpesq8 --- addons/web/static/src/js/form.js | 36 +++++++++++++++++++++++++++++++----- 1 file changed, 31 insertions(+), 5 deletions(-) (limited to 'addons/web/static/src/js/form.js') diff --git a/addons/web/static/src/js/form.js b/addons/web/static/src/js/form.js index 4a60f25e3ae..654183e9714 100644 --- a/addons/web/static/src/js/form.js +++ b/addons/web/static/src/js/form.js @@ -601,8 +601,15 @@ openerp.web.form.compute_domain = function(expr, fields) { return _.all(stack, _.identity); }; -openerp.web.form.Widget = openerp.web.Widget.extend({ +openerp.web.form.Widget = openerp.web.Widget.extend(/** @lends openerp.web.form.Widget# */{ template: 'Widget', + /** + * @constructs openerp.web.form.Widget + * @extends openerp.web.Widget + * + * @param view + * @param node + */ init: function(view, node) { this.view = view; this.node = node; @@ -879,7 +886,14 @@ openerp.web.form.WidgetLabel = openerp.web.form.Widget.extend({ } }); -openerp.web.form.Field = openerp.web.form.Widget.extend({ +openerp.web.form.Field = openerp.web.form.Widget.extend(/** @lends openerp.web.form.Field# */{ + /** + * @constructs openerp.web.form.Field + * @extends openerp.web.form.Widget + * + * @param view + * @param node + */ init: function(view, node) { this.name = node.attrs.name; this.value = undefined; @@ -2006,7 +2020,11 @@ openerp.web.form.Many2ManyDataSet = openerp.web.DataSetStatic.extend({ } }); -openerp.web.form.Many2ManyListView = openerp.web.ListView.extend({ +/** + * @class + * @extends openerp.web.ListView + */ +openerp.web.form.Many2ManyListView = openerp.web.ListView.extend(/** @lends openerp.web.form.Many2ManyListView# */{ do_add_record: function () { var pop = new openerp.web.form.SelectCreatePopup(this); pop.select_element(this.model, {}, @@ -2033,7 +2051,11 @@ openerp.web.form.Many2ManyListView = openerp.web.ListView.extend({ } }); -openerp.web.form.SelectCreatePopup = openerp.web.OldWidget.extend({ +/** + * @class + * @extends openerp.web.OldWidget + */ +openerp.web.form.SelectCreatePopup = openerp.web.OldWidget.extend(/** @lends openerp.web.form.SelectCreatePopup# */{ identifier_prefix: "selectcreatepopup", template: "SelectCreatePopup", /** @@ -2202,7 +2224,11 @@ openerp.web.form.SelectCreateListView = openerp.web.ListView.extend({ } }); -openerp.web.form.FormOpenPopup = openerp.web.OldWidget.extend({ +/** + * @class + * @extends openerp.web.OldWidget + */ +openerp.web.form.FormOpenPopup = openerp.web.OldWidget.extend(/** @lends openerp.web.form.FormOpenPopup# */{ identifier_prefix: "formopenpopup", template: "FormOpenPopup", /** -- cgit v1.2.3 From 8d9440e41c33998e4ce31b6ccb58d7019438ac64 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Fri, 9 Sep 2011 16:34:50 +0200 Subject: [fix] set json formatting for statusbar bzr revid: nicolas.vanhoren@openerp.com-20110909143450-i2g2q3uoevkj0j9b --- addons/web/static/src/js/form.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'addons/web/static/src/js/form.js') diff --git a/addons/web/static/src/js/form.js b/addons/web/static/src/js/form.js index 654183e9714..9c912e7d4ba 100644 --- a/addons/web/static/src/js/form.js +++ b/addons/web/static/src/js/form.js @@ -2536,7 +2536,7 @@ openerp.web.form.FieldStatus = openerp.web.form.Field.extend({ var content = openerp.web.qweb.render("FieldStatus.content", {widget: this, _:_}); this.$element.html(content); - var colors = JSON.parse(((this.node.attrs || {}).statusbar_colors || "{}").split("'").join('"')); + var colors = JSON.parse((this.node.attrs || {}).statusbar_colors || "{}"); var color = colors[this.selected_value]; if (color) { var elem = this.$element.find("li.oe-arrow-list-selected span"); -- cgit v1.2.3 From 14f1cbe35fdf980430e042e92d41cecfeaed4395 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Mon, 12 Sep 2011 15:36:39 +0200 Subject: [IMP] Kanban: catch record edited in form bzr revid: fme@openerp.com-20110912133639-ogyaxnl8ds9k4rnk --- addons/web/static/src/js/form.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'addons/web/static/src/js/form.js') diff --git a/addons/web/static/src/js/form.js b/addons/web/static/src/js/form.js index 9c912e7d4ba..75d7d142ab5 100644 --- a/addons/web/static/src/js/form.js +++ b/addons/web/static/src/js/form.js @@ -482,7 +482,7 @@ openerp.web.FormDialog = openerp.web.Dialog.extend({ self.form.on_record_loaded(records[0]); }); }, - on_form_dialog_saved: function() { + on_form_dialog_saved: function(r) { this.close(); } }); -- cgit v1.2.3 From d1be801b9103d749848d4ef06d979cf54aa18594 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Mon, 12 Sep 2011 15:56:03 +0200 Subject: [imp] removed a lot of useless notifications bzr revid: nicolas.vanhoren@openerp.com-20110912135603-fai75jzwgbyalnwz --- addons/web/static/src/js/form.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'addons/web/static/src/js/form.js') diff --git a/addons/web/static/src/js/form.js b/addons/web/static/src/js/form.js index 75d7d142ab5..0f17bcf811f 100644 --- a/addons/web/static/src/js/form.js +++ b/addons/web/static/src/js/form.js @@ -386,7 +386,7 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# if (!r.result) { this.notification.warn(_t("Record not saved"), _t("Problem while saving record.")); } else { - this.notification.notify(_t("Record saved"), _.sprintf(_("The record #%s has been saved.") + this.datarecord.id)); + console.debug(_.sprintf("The record #%s has been saved." + this.datarecord.id)); if (success) { success(r); } @@ -422,7 +422,7 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# if (this.sidebar) { this.sidebar.attachments.do_update(); } - this.notification.notify(_t("Record created"), "The record has been created with id #" + this.datarecord.id); + console.debug("The record has been created with id #" + this.datarecord.id); if (success) { success(_.extend(r, {created: true})); } @@ -430,13 +430,13 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# } }, do_search: function (domains, contexts, groupbys) { - this.notification.notify("Searching form"); + console.debug("Searching form"); }, on_action: function (action) { - this.notification.notify('Executing action ' + action); + console.debug('Executing action', action); }, do_cancel: function () { - this.notification.notify("Cancelling form"); + console.debug("Cancelling form"); }, reload: function() { if (this.dataset.index == null || this.dataset.index < 0) { @@ -2412,7 +2412,7 @@ openerp.web.form.FieldBinary = openerp.web.form.Field.extend({ if (size === false) { this.notification.warn("File Upload", "There was a problem while uploading your file"); // TODO: use openerp web crashmanager - this.log("Error while uploading file : ", name); + console.warn("Error while uploading file : ", name); } else { this.on_file_uploaded_and_valid.apply(this, arguments); this.on_ui_change(); -- cgit v1.2.3 From 70833c2c922d74d75284bbd262ddc77fa6dbede2 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Mon, 12 Sep 2011 16:07:53 +0200 Subject: [fix] incorrect notifications in the o2m bzr revid: nicolas.vanhoren@openerp.com-20110912140753-h3e7e153yp0fmxrw --- addons/web/static/src/js/form.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'addons/web/static/src/js/form.js') diff --git a/addons/web/static/src/js/form.js b/addons/web/static/src/js/form.js index 0f17bcf811f..d419516dc77 100644 --- a/addons/web/static/src/js/form.js +++ b/addons/web/static/src/js/form.js @@ -384,9 +384,9 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# }, on_saved: function(r, success) { if (!r.result) { - this.notification.warn(_t("Record not saved"), _t("Problem while saving record.")); + // should not happen in the server, but may happen for internal purpose } else { - console.debug(_.sprintf("The record #%s has been saved." + this.datarecord.id)); + console.debug(_.sprintf("The record #%s has been saved.", this.datarecord.id)); if (success) { success(r); } @@ -408,7 +408,7 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# */ on_created: function(r, success, prepend_on_create) { if (!r.result) { - this.notification.warn(_t("Record not created"), "Problem while creating record."); + // should not happen in the server, but may happen for internal purpose } else { this.datarecord.id = r.result; if (!prepend_on_create) { -- cgit v1.2.3