The DNS zone widget for host adder dialog has been modified not to
provide an empty option, so it will show the first available zone.

Ticket #1685

--
Endi S. Dewata
From b2f14d73824bc12e6d7bb47e3907312efd1aaa97 Mon Sep 17 00:00:00 2001
From: Endi S. Dewata <edew...@redhat.com>
Date: Fri, 26 Aug 2011 14:27:48 -0500
Subject: [PATCH] Fixed host adder dialog to show default DNS zone.

The DNS zone widget for host adder dialog has been modified not to
provide an empty option, so it will show the first available zone.

Ticket #1685
---
 install/ui/host.js   |    1 +
 install/ui/widget.js |   17 +++++++++++++----
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/install/ui/host.js b/install/ui/host.js
index d22f54887a4489e56331f6730c05421ccf208fb3..019d3f40daf1b887f163b1dfacc6638b77b9e381 100644
--- a/install/ui/host.js
+++ b/install/ui/host.js
@@ -136,6 +136,7 @@ IPA.entity_factories.host = function () {
                     name: 'dnszone',
                     label: IPA.metadata.objects.dnszone.label_singular,
                     editable: true,
+                    empty_option: false,
                     undo: false
                 },
                 {
diff --git a/install/ui/widget.js b/install/ui/widget.js
index 62af6c16d10aac65e51191f2da955b8f1ebb3bed..7931b6a2c7758cb61cecc187c03cdf647d6f2809 100644
--- a/install/ui/widget.js
+++ b/install/ui/widget.js
@@ -1606,6 +1606,7 @@ IPA.combobox_widget = function(spec) {
     that.editable = spec.editable;
     that.searchable = spec.searchable;
     that.list_size = spec.list_size || 5;
+    that.empty_option = spec.empty_option === undefined ? true : spec.empty_option;
 
     that.create = function(container) {
         that.widget_create(container);
@@ -1800,7 +1801,11 @@ IPA.entity_select_widget = function(spec) {
 
             that.remove_options();
 
-            that.create_option();
+            var selected_option = null;
+
+            if (that.empty_option) {
+                selected_option = that.create_option();
+            }
 
             var filter = that.filter.val();
             var entries = data.result.result;
@@ -1811,12 +1816,16 @@ IPA.entity_select_widget = function(spec) {
 
                 var option = that.create_option(value, value);
 
-                if (filter === value) {
-                    option.attr('selected', 'selected');
+                if (!selected_option || filter === value) {
+                    selected_option = option;
                 }
             }
 
-            that.set_dirty(that.test_dirty());
+            if (selected_option) {
+                selected_option.attr('selected', 'selected');
+                that.input.val(selected_option.val());
+                that.set_dirty(that.test_dirty());
+            }
         };
 
         command.execute();
-- 
1.7.5.1

_______________________________________________
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel

Reply via email to