summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/view_page.js
diff options
context:
space:
mode:
authorXavier Morel <xmo@openerp.com>2012-03-22 15:33:31 +0100
committerXavier Morel <xmo@openerp.com>2012-03-22 15:33:31 +0100
commit7353e02e2ef4a403d4b79c1b157f2ca00b77d2fc (patch)
treea319552e3664ea272fdfb8abf31c961bcd5e1e6e /addons/web/static/src/js/view_page.js
parent514c63288c7d5d88d764b44696c5e3a5fc148dfb (diff)
parent1da49a44a57aa413e5eb96afe9c6d294e09848fd (diff)
[MERGE] from trunk
bzr revid: xmo@openerp.com-20120322143331-iajlifomw1hohbht
Diffstat (limited to 'addons/web/static/src/js/view_page.js')
-rw-r--r--addons/web/static/src/js/view_page.js30
1 files changed, 24 insertions, 6 deletions
diff --git a/addons/web/static/src/js/view_page.js b/addons/web/static/src/js/view_page.js
index 33eabc63b3c..e3367f56b4a 100644
--- a/addons/web/static/src/js/view_page.js
+++ b/addons/web/static/src/js/view_page.js
@@ -68,13 +68,13 @@ openerp.web.page = function (openerp) {
openerp.web.page = {};
openerp.web.page.WidgetFrameReadonly = openerp.web.form.WidgetFrame.extend({
- template: 'WidgetFrame.readonly'
+ form_template: 'WidgetFrame.readonly'
});
openerp.web.page.FieldReadonly = openerp.web.form.Field.extend({
});
openerp.web.page.FieldCharReadonly = openerp.web.page.FieldReadonly.extend({
- template: 'FieldChar.readonly',
+ form_template: 'FieldChar.readonly',
init: function(view, node) {
this._super(view, node);
this.password = this.node.attrs.password === 'True' || this.node.attrs.password === '1';
@@ -89,13 +89,27 @@ openerp.web.page = function (openerp) {
return show_value;
}
});
+ openerp.web.page.FieldFloatReadonly = openerp.web.page.FieldCharReadonly.extend({
+ init: function (view, node) {
+ this._super(view, node);
+ if (node.attrs.digits) {
+ this.digits = py.eval(node.attrs.digits).toJSON();
+ } else {
+ this.digits = view.fields_view.fields[node.attrs.name].digits;
+ }
+ }
+ });
openerp.web.page.FieldURIReadonly = openerp.web.page.FieldCharReadonly.extend({
- template: 'FieldURI.readonly',
+ form_template: 'FieldURI.readonly',
scheme: null,
format_value: function (value) {
return value;
},
set_value: function (value) {
+ if (!value) {
+ this.$element.find('a').text('').attr('href', '#');
+ return;
+ }
this.$element.find('a')
.attr('href', this.scheme + ':' + value)
.text(this.format_value(value));
@@ -106,6 +120,10 @@ openerp.web.page = function (openerp) {
});
openerp.web.page.FieldUrlReadonly = openerp.web.page.FieldURIReadonly.extend({
set_value: function (value) {
+ if (!value) {
+ this.$element.find('a').text('').attr('href', '#');
+ return;
+ }
var s = /(\w+):(.+)/.exec(value);
if (!s) {
value = "http://" + value;
@@ -120,7 +138,7 @@ openerp.web.page = function (openerp) {
}
});
openerp.web.page.FieldSelectionReadonly = openerp.web.page.FieldReadonly.extend({
- template: 'FieldChar.readonly',
+ form_template: 'FieldChar.readonly',
init: function(view, node) {
// lifted straight from r/w version
var self = this;
@@ -225,7 +243,7 @@ openerp.web.page = function (openerp) {
}
});
openerp.web.page.FieldBinaryFileReadonly = openerp.web.form.FieldBinary.extend({
- template: 'FieldURI.readonly',
+ form_template: 'FieldURI.readonly',
start: function() {
this._super.apply(this, arguments);
var self = this;
@@ -261,7 +279,7 @@ openerp.web.page = function (openerp) {
'one2many_list' : 'openerp.web.page.FieldOne2ManyReadonly',
'reference': 'openerp.web.page.FieldReferenceReadonly',
'boolean': 'openerp.web.page.FieldBooleanReadonly',
- 'float': 'openerp.web.page.FieldCharReadonly',
+ 'float': 'openerp.web.page.FieldFloatReadonly',
'integer': 'openerp.web.page.FieldCharReadonly',
'float_time': 'openerp.web.page.FieldCharReadonly',
'binary': 'openerp.web.page.FieldBinaryFileReadonly',