diff options
author | Petr Vobornik <pvoborni@redhat.com> | 2014-03-13 17:34:42 +0100 |
---|---|---|
committer | Petr Vobornik <pvoborni@redhat.com> | 2014-03-20 08:57:43 +0100 |
commit | ffab72cc79d31c59d49d40b4f66852e767821fa6 (patch) | |
tree | 777504733025df82654edee091320f6982cf7086 /install/ui | |
parent | fddb2212bc3394068ba0cd6aebbfcf2e77cb6def (diff) | |
download | freeipa-ffab72cc79d31c59d49d40b4f66852e767821fa6.tar.gz freeipa-ffab72cc79d31c59d49d40b4f66852e767821fa6.tar.xz freeipa-ffab72cc79d31c59d49d40b4f66852e767821fa6.zip |
webui: do not use dom for getting selected automount keys
Old implementation crawled DOM for gathering data from DOM. Such code
is very error prone. Little visual change somewhere else can break it
- as happened in main patch for #4217.
prerequisite for:
https://fedorahosted.org/freeipa/ticket/4217
Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
Diffstat (limited to 'install/ui')
-rw-r--r-- | install/ui/src/freeipa/automount.js | 24 | ||||
-rw-r--r-- | install/ui/src/freeipa/facet.js | 1 |
2 files changed, 15 insertions, 10 deletions
diff --git a/install/ui/src/freeipa/automount.js b/install/ui/src/freeipa/automount.js index b010a52d4..ca0729beb 100644 --- a/install/ui/src/freeipa/automount.js +++ b/install/ui/src/freeipa/automount.js @@ -337,16 +337,20 @@ IPA.automount.key_search_facet = function(spec) { that.get_selected_values = function() { var values = []; - - $('input[name="description"]:checked', that.table.tbody).each(function() { - var value = {}; - $('div', $(this).parent().parent()).each(function() { - var div = $(this); - var name = div.attr('name'); - value[name] = div.text(); - }); - values.push(value); - }); + var keys = that.table.get_selected_values(); + var records = that.table.records; + + if (keys.length === 0 || !records) return values; + + for (var i=0,l=records.length; i<l; i++) { + var record = records[i]; + if (keys.indexOf(record.description[0]) > -1) { + values.push({ + automountkey: record.automountkey[0], + automountinformation: record.automountinformation[0] + }); + } + } return values; }; diff --git a/install/ui/src/freeipa/facet.js b/install/ui/src/freeipa/facet.js index 6afc79d61..4d1787145 100644 --- a/install/ui/src/freeipa/facet.js +++ b/install/ui/src/freeipa/facet.js @@ -1827,6 +1827,7 @@ exp.table_facet = IPA.table_facet = function(spec, no_init) { */ that.load_records = function(records) { that.table.empty(); + that.table.records = records; for (var i=0; i<records.length; i++) { that.add_record(records[i]); } |