diff options
author | Endi S. Dewata <edewata@redhat.com> | 2011-09-26 13:44:22 -0500 |
---|---|---|
committer | Endi S. Dewata <edewata@redhat.com> | 2011-09-27 14:43:48 +0000 |
commit | a2a42c3be8e7a0fb591af14b3da298b5ae35b6ac (patch) | |
tree | a3d2a77fdae34ca3d40a4d34e1036dd35b6cdcc5 /install | |
parent | 8cf8870d3d11ace41cea1649d41f84341e0e94ac (diff) | |
download | freeipa-a2a42c3be8e7a0fb591af14b3da298b5ae35b6ac.tar.gz freeipa-a2a42c3be8e7a0fb591af14b3da298b5ae35b6ac.tar.xz freeipa-a2a42c3be8e7a0fb591af14b3da298b5ae35b6ac.zip |
Fixed duplicate entries in enrollment dialog.
The IPA.association_adder_dialog has been modified not to show
search results that are already selected to prevent duplicates.
Ticket #1859
Diffstat (limited to 'install')
-rw-r--r-- | install/ui/association.js | 9 | ||||
-rw-r--r-- | install/ui/dialog.js | 58 |
2 files changed, 22 insertions, 45 deletions
diff --git a/install/ui/association.js b/install/ui/association.js index 3d75072ae..47d8db173 100644 --- a/install/ui/association.js +++ b/install/ui/association.js @@ -177,14 +177,17 @@ IPA.association_adder_dialog = function(spec) { var other_entity = IPA.get_entity(that.other_entity); var pkey_attr = other_entity.metadata.primary_key; + var selected = that.get_selected_values(); + var results = data.result; for (var i=0; i<results.count; i++) { var result = results.result[i]; var pkey = result[pkey_attr][0]; - if (that.exclude.indexOf(pkey) < 0) { - that.add_available_value(result); - } + if (that.exclude.indexOf(pkey) >= 0) continue; + if (selected.indexOf(pkey) >= 0) continue; + + that.add_available_value(result); } } diff --git a/install/ui/dialog.js b/install/ui/dialog.js index b8d3afc7f..f594a6c27 100644 --- a/install/ui/dialog.js +++ b/install/ui/dialog.js @@ -314,10 +314,13 @@ IPA.adder_dialog = function(spec) { top_panel.append(' '); - $('<input/>', { - type: 'button', + that.find_button = IPA.button({ name: 'find', - value: IPA.messages.buttons.find + label: IPA.messages.buttons.find, + click: function() { + that.search(); + return false; + } }).appendTo(top_panel); top_panel.append(IPA.create_network_spinner()); @@ -370,54 +373,26 @@ IPA.adder_dialog = function(spec) { }).appendTo(container); var p = $('<p/>').appendTo(buttons_panel); - $('<input />', { - type: 'button', + that.add_button = IPA.button({ name: 'add', - value: '>>' - }).appendTo(p); - - p = $('<p/>').appendTo(buttons_panel); - $('<input />', { - type: 'button', - name: 'remove', - value: '<<' - }).appendTo(p); - - - that.filter_field = $('input[name=filter]', that.container); - - var button = $('input[name=find]', that.container); - that.find_button = IPA.button({ - name: 'find', - 'label': button.val(), - 'click': function() { - that.search(); + label: '>>', + click: function() { + that.add(); return false; } - }); - button.replaceWith(that.find_button); + }).appendTo(p); - button = $('input[name=remove]', that.container); + p = $('<p/>').appendTo(buttons_panel); that.remove_button = IPA.button({ name: 'remove', - 'label': button.val(), - 'click': function() { + label: '<<', + click: function() { that.remove(); return false; } - }); - button.replaceWith(that.remove_button); + }).appendTo(p); - button = $('input[name=add]', that.container); - that.add_button = IPA.button({ - name: 'add', - 'label': button.val(), - 'click': function() { - that.add(); - return false; - } - }); - button.replaceWith(that.add_button); + that.filter_field = $('input[name=filter]', that.container); if (that.external) { container.addClass('adder-dialog-with-external'); @@ -440,7 +415,6 @@ IPA.adder_dialog = function(spec) { type: 'text', name: 'external' }).appendTo(external_content); - } that.search(); |