summaryrefslogtreecommitdiffstats
path: root/install/ui/associate.js
diff options
context:
space:
mode:
Diffstat (limited to 'install/ui/associate.js')
-rw-r--r--install/ui/associate.js67
1 files changed, 54 insertions, 13 deletions
diff --git a/install/ui/associate.js b/install/ui/associate.js
index eb4a5a056..f7ac1505e 100644
--- a/install/ui/associate.js
+++ b/install/ui/associate.js
@@ -707,7 +707,7 @@ IPA.association_facet = function (spec) {
that.columns = $.ordered_map();
that.adder_columns = $.ordered_map();
- that.page_length = 20;
+ that.page_length = spec.page_length === undefined ? 20 : spec.page_length;
that.get_column = function(name) {
return that.columns.get(name);
@@ -1107,21 +1107,62 @@ IPA.association_facet = function (spec) {
return that;
};
+IPA.indirect_association_facet = function (spec) {
-IPA.deleter_dialog_setup = function () {
+ spec = spec || {};
- var that = this;
+ spec.page_length = 0;
+ spec.read_only = true;
- var ul = $('<ul/>');
- ul.appendTo(that.dialog);
+ var that = IPA.association_facet(spec);
- for (var i=0; i<that.values.length; i++) {
- $('<li/>',{
- 'text': that.values[i]
- }).appendTo(ul);
- }
+ that.refresh = function() {
+
+ function on_success(data, text_status, xhr) {
+
+ that.table.empty();
+
+ var count = data.result.count;
+ if (count === 0) {
+ that.table.summary.text(data.result.summary);
+ return;
+ }
+
+ var results = data.result.result;
+ for (var i=0; i<results.length; i++) {
+ var record = results[i];
+ that.table.add_record(record);
+ }
+
+ if (data.result.truncated) {
+ var message = IPA.messages.search.truncated;
+ message = message.replace('${counter}', data.result.count);
+ that.table.summary.text(message);
+ } else {
+ that.table.summary.text(data.result.summary);
+ }
+ }
+
+ var options = {
+ 'all': true
+ };
+
+ var pkey = $.bbq.getState(that.entity_name+'-pkey');
+
+ /* TODO: make a general solution to generate this value */
+ var relationship_filter = 'in_' + that.entity_name;
+ options[relationship_filter] = pkey;
+
+ var command = IPA.command({
+ entity: that.other_entity,
+ method: 'find',
+ options: options,
+ on_success: on_success,
+ on_error: that.on_error
+ });
- $('<p/>', {
- 'text': IPA.messages.search.delete_confirm
- }).appendTo(that.dialog);
+ command.execute();
+ };
+
+ return that;
};