[imp] made chars readonly-able
bzr revid: nicolas.vanhoren@openerp.com-20120316112223-d4az41nm2012liz5
This commit is contained in:
parent
90f881b076
commit
36ba035431
|
@ -1438,17 +1438,30 @@ openerp.web.form.FieldChar = openerp.web.form.AbstractField.extend({
|
|||
},
|
||||
start: function() {
|
||||
this._super.apply(this, arguments);
|
||||
this.bind_events();
|
||||
this.on("change:effective_readonly", this, function() {
|
||||
this.render_element();
|
||||
this.bind_events();
|
||||
this.render_value();
|
||||
});
|
||||
},
|
||||
bind_events: function() {
|
||||
this.$element.find('input').change(this.on_ui_change);
|
||||
},
|
||||
set_value: function(value) {
|
||||
this._super.apply(this, arguments);
|
||||
var show_value = openerp.web.format_value(value, this, '');
|
||||
this.$element.find('input').val(show_value);
|
||||
return show_value;
|
||||
this.render_value();
|
||||
},
|
||||
update_dom: function() {
|
||||
this._super.apply(this, arguments);
|
||||
this.$element.find('input').prop('readonly', this.readonly);
|
||||
render_value: function() {
|
||||
var show_value = openerp.web.format_value(this.value, this, '');
|
||||
if (!this.get("effective_readonly")) {
|
||||
this.$element.find('input').val(show_value);
|
||||
} else {
|
||||
if (this.password) {
|
||||
show_value = new Array(show_value.length + 1).join('*');
|
||||
}
|
||||
this.$element.text(show_value);
|
||||
}
|
||||
},
|
||||
set_value_from_ui: function() {
|
||||
this.value = openerp.web.parse_value(this.$element.find('input').val(), this);
|
||||
|
|
|
@ -68,29 +68,7 @@ openerp.web.page = function (openerp) {
|
|||
/** @namespace */
|
||||
openerp.web.page = {};
|
||||
|
||||
//openerp.web.page.WidgetFrameReadonly = openerp.web.form.WidgetFrame.extend({
|
||||
// form_template: 'WidgetFrame.readonly'
|
||||
//});
|
||||
openerp.web.page.FieldReadonly = openerp.web.form.AbstractField.extend({
|
||||
|
||||
});
|
||||
openerp.web.page.FieldCharReadonly = openerp.web.page.FieldReadonly.extend({
|
||||
form_template: 'FieldChar.readonly',
|
||||
init: function(view, node) {
|
||||
this._super(view, node);
|
||||
this.password = this.node.attrs.password === 'True' || this.node.attrs.password === '1';
|
||||
},
|
||||
set_value: function (value) {
|
||||
this._super.apply(this, arguments);
|
||||
var show_value = openerp.web.format_value(value, this, '');
|
||||
if (this.password) {
|
||||
show_value = new Array(show_value.length + 1).join('*');
|
||||
}
|
||||
this.$element.find('div').text(show_value);
|
||||
return show_value;
|
||||
}
|
||||
});
|
||||
openerp.web.page.FieldURIReadonly = openerp.web.page.FieldCharReadonly.extend({
|
||||
openerp.web.page.FieldURIReadonly = openerp.web.form.FieldChar.extend({
|
||||
form_template: 'FieldURI.readonly',
|
||||
scheme: null,
|
||||
format_value: function (value) {
|
||||
|
@ -120,7 +98,7 @@ openerp.web.page = function (openerp) {
|
|||
this.$element.find('input').prop('disabled', true);
|
||||
}
|
||||
});
|
||||
openerp.web.page.FieldSelectionReadonly = openerp.web.page.FieldReadonly.extend({
|
||||
openerp.web.page.FieldSelectionReadonly = openerp.web.form.AbstractField.extend({
|
||||
form_template: 'FieldChar.readonly',
|
||||
init: function(view, node) {
|
||||
// lifted straight from r/w version
|
||||
|
@ -197,19 +175,11 @@ openerp.web.page = function (openerp) {
|
|||
});
|
||||
openerp.web.page.readonly = openerp.web.form.widgets.extend({
|
||||
'frame': 'openerp.web.page.WidgetFrameReadonly',
|
||||
'char': 'openerp.web.page.FieldCharReadonly',
|
||||
'id': 'openerp.web.page.FieldCharReadonly',
|
||||
'email': 'openerp.web.page.FieldEmailReadonly',
|
||||
'url': 'openerp.web.page.FieldUrlReadonly',
|
||||
'text': 'openerp.web.page.FieldCharReadonly',
|
||||
'date': 'openerp.web.page.FieldCharReadonly',
|
||||
'datetime': 'openerp.web.page.FieldCharReadonly',
|
||||
'selection' : 'openerp.web.page.FieldSelectionReadonly',
|
||||
'reference': 'openerp.web.page.FieldReferenceReadonly',
|
||||
'boolean': 'openerp.web.page.FieldBooleanReadonly',
|
||||
'float': 'openerp.web.page.FieldCharReadonly',
|
||||
'integer': 'openerp.web.page.FieldCharReadonly',
|
||||
'float_time': 'openerp.web.page.FieldCharReadonly',
|
||||
'binary': 'openerp.web.page.FieldBinaryFileReadonly',
|
||||
'image': 'openerp.web.page.FieldBinaryImageReaonly'
|
||||
});
|
||||
|
|
|
@ -943,20 +943,22 @@
|
|||
</ul>
|
||||
</t>
|
||||
<t t-name="FieldChar">
|
||||
<div t-attf-class="oe_form_field_#{type}">
|
||||
<input t-att-type="widget.password ? 'password' : 'text'" size="1"
|
||||
t-att-name="widget.name"
|
||||
t-att-id="widget.node.attrs.id"
|
||||
t-attf-class="field_#{widget.type} #{_(['integer', 'float', 'float_time']).contains(widget.type) ? 'oe-number' : ''}"
|
||||
style="width: 100%"
|
||||
/><img class="oe_field_translate oe_input_icon" t-if="widget.field.translate" t-att-src='_s + "/web/static/src/img/icons/terp-translate.png"' width="16" height="16" border="0"/>
|
||||
</div>
|
||||
</t>
|
||||
<t t-name="FieldChar.readonly">
|
||||
<div
|
||||
t-att-id="widget.element_id"
|
||||
t-attf-class="field_#{widget.type} #{_(['integer', 'float', 'float_time']).contains(widget.type) ? 'oe-number' : ''}">
|
||||
</div>
|
||||
<t t-if="!widget.get('effective_readonly')">
|
||||
<div t-attf-class="oe_form_field_#{type}">
|
||||
<input t-att-type="widget.password ? 'password' : 'text'" size="1"
|
||||
t-att-name="widget.name"
|
||||
t-att-id="widget.node.attrs.id"
|
||||
t-attf-class="field_#{widget.type} #{_(['integer', 'float', 'float_time']).contains(widget.type) ? 'oe-number' : ''}"
|
||||
style="width: 100%"
|
||||
/><img class="oe_field_translate oe_input_icon" t-if="widget.field.translate" t-att-src='_s + "/web/static/src/img/icons/terp-translate.png"' width="16" height="16" border="0"/>
|
||||
</div>
|
||||
</t>
|
||||
<t t-if="widget.get('effective_readonly')">
|
||||
<div
|
||||
t-att-id="widget.element_id"
|
||||
t-attf-class="field_#{widget.type} #{_(['integer', 'float', 'float_time']).contains(widget.type) ? 'oe-number' : ''}">
|
||||
</div>
|
||||
</t>
|
||||
</t>
|
||||
<t t-name="FieldURI.readonly">
|
||||
<div>
|
||||
|
|
Loading…
Reference in New Issue