diff --git a/install/static/details.js b/install/static/details.js index f9da3f996..d47cfe8b5 100644 --- a/install/static/details.js +++ b/install/static/details.js @@ -92,17 +92,9 @@ function ipa_details_update(pkey, on_win, on_fail) return; var attr = dt.attr('title'); - if (!attr) + if (!attr || attr.indexOf('call_') == 0) return; - if (attr.indexOf('call_') == 0) { - var func = window[attr.substr(5)]; - if (!func) - return; - func(dt, modlist, IPA_DETAILS_UPDATE); - return; - } - var param_info = ipa_get_param_info(attr); if (param_info) { modlist[attr] = jobj.val(); @@ -118,9 +110,20 @@ function ipa_details_update(pkey, on_win, on_fail) var jobj = $(this); var attr = jobj.attr('title'); - if (!attr || attr.indexOf('call_') == 0) + if (!attr) return; + if (attr.indexOf('call_') == 0) { + var func = window[attr.substr(5)]; + if (func) + func(jobj, modlist, IPA_DETAILS_UPDATE); + return; + } + + var param_info = ipa_get_param_info(attr); + if (param_info && param_info['primary_key']) + return; + var next = jobj.next('dd'); if ((!next.length) || (!next.children('input').length)) attrs_wo_option[attr] = ['']; diff --git a/ipalib/plugins/baseldap.py b/ipalib/plugins/baseldap.py index f3e5b0fe2..69bda6d81 100644 --- a/ipalib/plugins/baseldap.py +++ b/ipalib/plugins/baseldap.py @@ -49,10 +49,10 @@ def get_attributes(attrs): Given a list of values in the form name=value, return a list of name. """ attrlist=[] - for attr in attrs: - m = re.match("\s*(.*?)\s*=\s*(.*?)\s*$", attr) - attrlist.append(str(m.group(1)).lower()) - + if attrs: + for attr in attrs: + m = re.match("\s*(.*?)\s*=\s*(.*?)\s*$", attr) + attrlist.append(str(m.group(1)).lower()) return attrlist