openerp-dev-web team mailing list archive
-
openerp-dev-web team
-
Mailing list archive
-
Message #04605
[Merge] lp:~openerp-dev/openobject-client-web/6.0-opw-3980-sma into lp:openobject-client-web/6.0
Sananaz (Open ERP) has proposed merging lp:~openerp-dev/openobject-client-web/6.0-opw-3980-sma into lp:openobject-client-web/6.0.
Requested reviews:
OpenERP Core Team (openerp)
Related bugs:
Bug #712352 in OpenERP Web Client: "Change account type"
https://bugs.launchpad.net/openobject-client-web/+bug/712352
For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-client-web/6.0-opw-3980-sma/+merge/54813
Hello,
- Install l10n_ch module
- Go to Sales > Address Book > Customer
- Accounting tab > Bank Details > Create new
- Change Bank Type
When bank type states change apply readonly, required attributes.
Thank you.
--
https://code.launchpad.net/~openerp-dev/openobject-client-web/6.0-opw-3980-sma/+merge/54813
Your team OpenERP R&D Team is subscribed to branch lp:~openerp-dev/openobject-client-web/6.0-opw-3980-sma.
=== modified file 'addons/openerp/static/javascript/form_state.js'
--- addons/openerp/static/javascript/form_state.js 2011-01-19 00:54:20 +0000
+++ addons/openerp/static/javascript/form_state.js 2011-03-25 05:45:49 +0000
@@ -61,8 +61,9 @@
src = evt.src();
else
src = evt.target;
-
+
var value = typeof(src.value) == "undefined" ? getNodeAttribute(src, 'value') || src.innerHTML : src.value;
+ var $field = jQuery(idSelector(widget));
if (MochiKit.Base.isArrayLike(states)) {
form_setVisible(container, widget, findIdentical(states, value) > -1);
@@ -79,13 +80,22 @@
}
var attr = states[value];
-
- if (attr && has_readonly)
- form_setReadonly(container, widget, attr['readonly']);
-
- if (attr && has_required)
- form_setRequired(container, widget, attr['required']);
-
+ if (has_readonly) {
+ if (attr) {
+ form_setReadonly(container, widget, attr['readonly']);
+ }
+ else {
+ form_setReadonly(container, widget, parseInt($field.attr('fld_readonly')));
+ }
+ }
+ if (has_required) {
+ if (attr) {
+ form_setRequired(container, widget, attr['required']);
+ }
+ else {
+ form_setRequired(container, widget, parseInt($field.attr('required')));
+ }
+ }
}
function form_hookAttrChange() {
@@ -239,7 +249,7 @@
function form_setReadonly(container, fieldName, readonly) {
- var $field = jQuery(fieldName) || jQuery(idSelector(fieldName));
+ var $field = typeof(fieldName) == "string" ? jQuery(idSelector(fieldName)) : jQuery(fieldName);
if (!$field.length) {
return;
@@ -298,12 +308,15 @@
if (!field) {
field = container;
}
- var editable = getElement('_terp_editable').value;
+ var editable = getElement('_terp_editable').value;
- var $field = jQuery(field);
- if (editable == 'True') {
+ var $field = jQuery(idSelector(field));
+ if (editable == 'True' && required) {
$field.toggleClass('requiredfield', required);
}
+ else {
+ $field.removeClass('requiredfield');
+ }
if(required) {
$field.removeClass('readonlyfield');
}
=== modified file 'addons/openerp/widgets/form/templates/char.mako'
--- addons/openerp/widgets/form/templates/char.mako 2010-12-01 10:06:02 +0000
+++ addons/openerp/widgets/form/templates/char.mako 2011-03-25 05:45:49 +0000
@@ -2,7 +2,7 @@
<span class="char">
<input type="${password and 'password' or 'text'}" size="1"
id="${name}" name="${name}" class="${css_class}"
- ${py.attrs(attrs, kind=kind, maxlength=size, value=value)}/>
+ ${py.attrs(attrs, kind=kind, maxlength=size, value=value, required=required and 1 or 0, fld_readonly=readonly and 1 or 0)}/>
% if translatable:
<img src="/openerp/static/images/stock/stock_translate.png" class="translatable" />
<script type="text/javascript">
=== modified file 'addons/openerp/widgets/form/templates/many2one.mako'
--- addons/openerp/widgets/form/templates/many2one.mako 2010-12-01 10:06:02 +0000
+++ addons/openerp/widgets/form/templates/many2one.mako 2011-03-25 05:45:49 +0000
@@ -11,7 +11,7 @@
<%self:m2o_container>
<span class="m2o">
<input type="hidden" id="${name}" name="${name}" class="${css_class}" value="${value}"
- ${py.attrs(attrs, kind=kind, domain=domain, context=ctx, relation=relation)}/>
+ ${py.attrs(attrs, kind=kind, domain=domain, context=ctx, relation=relation, required=required and 1 or 0, fld_readonly=readonly and 1 or 0)}/>
<input type="text" id="${name}_text" class="${css_class}" size="1"
${py.attrs(attrs, kind=kind, relation=relation, value=text)}/>
Follow ups