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 = $('').appendTo(table); + + td = $('').appendTo(table); + + td = $('
', { + style: 'vertical-align: top;', + title: field.label + }).appendTo(tr); + + td.append($('', { + 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 = $('
', { + style: 'vertical-align: top;', + title: field.label + }).appendTo(tr); + + td = $('', { + style: 'vertical-align: top;' + }).appendTo(tr); + + span = $('', { + name: field.name + }).appendTo(td); + + td.append($('
', { + 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($('', { + 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