diff --git a/install/ui/dns.js b/install/ui/dns.js
index 58aeaddff..f01d2bb9c 100644
--- a/install/ui/dns.js
+++ b/install/ui/dns.js
@@ -80,15 +80,155 @@ IPA.entity_factories.dnszone = function() {
}).
standard_association_facets().
adder_dialog({
+ factory: IPA.dnszone_adder_dialog,
+ width: 500,
+ height: 300,
fields: [
'idnsname',
+ {
+ factory: IPA.checkbox_widget,
+ name: 'name_from_ip',
+ undo: false
+ },
'idnssoamname',
'idnssoarname',
- {factory:IPA.force_dnszone_add_checkbox_widget}]
+ {
+ factory: IPA.force_dnszone_add_checkbox_widget
+ }
+ ]
}).
build();
};
+IPA.dnszone_adder_dialog = function(spec) {
+
+ spec = spec || {};
+
+ var that = IPA.add_dialog(spec);
+
+ that.create = function() {
+
+ var table = $('
').appendTo(that.container);
+
+ var field = that.fields.get('idnsname');
+ var tr = $('
').appendTo(table);
+
+ var td = $(' | ', {
+ style: 'vertical-align: top;',
+ title: field.label
+ }).appendTo(tr);
+
+ td.append($('', {
+ text: field.label+':'
+ }));
+
+ td = $(' | ', {
+ style: 'vertical-align: top;'
+ }).appendTo(tr);
+
+ var span = $('', {
+ name: field.name
+ }).appendTo(td);
+
+ field.create(span);
+ field.field_span = span;
+
+ field = that.fields.get('name_from_ip');
+ tr = $('
').appendTo(table);
+
+ td = $(' | ', {
+ style: 'vertical-align: top;',
+ title: field.label
+ }).appendTo(tr);
+
+ td = $(' | ', {
+ style: 'vertical-align: top;'
+ }).appendTo(tr);
+
+ span = $('', {
+ name: field.name
+ }).appendTo(td);
+
+ td.append($('', {
+ text: field.label
+ }));
+
+ field.create(span);
+ field.field_span = span;
+
+ tr = $('
').appendTo(table);
+
+ td = $(' | ', {
+ colspan: 2,
+ html: ' '
+ }).appendTo(tr);
+
+ var fields = that.fields.values;
+ for (var i=0; i').appendTo(table);
+
+ td = $(' | ', {
+ style: 'vertical-align: top;',
+ title: field.label
+ }).appendTo(tr);
+
+ td.append($('', {
+ text: field.label+':'
+ }));
+
+ td = $(' | ', {
+ style: 'vertical-align: top;'
+ }).appendTo(tr);
+
+ span = $('', {
+ name: field.name
+ }).appendTo(td);
+
+ field.create(span);
+ field.field_span = span;
+ }
+ };
+
+ that.save = function(record) {
+
+ var idnsname;
+ var name_from_ip;
+
+ var fields = that.fields.values;
+ for (var i=0; i