summaryrefslogtreecommitdiff
path: root/addons/web/static
diff options
context:
space:
mode:
authorAntony Lesuisse <al@openerp.com>2012-10-17 16:28:35 +0200
committerAntony Lesuisse <al@openerp.com>2012-10-17 16:28:35 +0200
commitb85b32fb2b27b1cf0b3ddfea1e2e3995eabc93e4 (patch)
treed34d89facb2d64cc8500df19159bd370c242ddf8 /addons/web/static
parenta901ecf288b88b0f60504d763be03c3017ddee4f (diff)
[IMP] form view set default show invisible fields in conditions
bzr revid: al@openerp.com-20121017142835-a6jdps82it12y03b
Diffstat (limited to 'addons/web/static')
-rw-r--r--addons/web/static/src/js/view_form.js35
1 files changed, 22 insertions, 13 deletions
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index 6f525f7a8b5..31aa2fe62eb 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -982,6 +982,16 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
},
open_defaults_dialog: function () {
var self = this;
+ var display = function (field, value) {
+ if (field instanceof instance.web.form.FieldSelection) {
+ return _(field.values).find(function (option) {
+ return option[0] === value;
+ })[1];
+ } else if (field instanceof instance.web.form.FieldMany2One) {
+ return field.get_displayed();
+ }
+ return value;
+ }
var fields = _.chain(this.fields)
.map(function (field, name) {
var value = field.get_value();
@@ -995,29 +1005,28 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|| field.field.type === 'binary') {
return false;
}
- var displayed = value;
- if (field instanceof instance.web.form.FieldSelection) {
- displayed = _(field.values).find(function (option) {
- return option[0] === value;
- })[1];
- } else if (field instanceof instance.web.form.FieldMany2One) {
- displayed = field.get_displayed();
- }
return {
name: name,
string: field.string,
value: value,
- displayed: displayed,
- // convert undefined to false
- change_default: !!field.field.change_default
+ displayed: display(field, value),
}
})
.compact()
.sortBy(function (field) { return field.string; })
.value();
- var conditions = _.chain(fields)
- .filter(function (field) { return field.change_default; })
+ var conditions = _.chain(self.fields)
+ .filter(function (field) { return field.field.change_default; })
+ .map(function (field, name) {
+ var value = field.get_value();
+ return {
+ name: name,
+ string: field.string,
+ value: value,
+ displayed: display(field, value),
+ }
+ })
.value();
var d = new instance.web.Dialog(this, {