diff options
Diffstat (limited to 'install/ui')
-rw-r--r-- | install/ui/dns.js | 30 | ||||
-rw-r--r-- | install/ui/navigation.js | 4 | ||||
-rw-r--r-- | install/ui/test/data/dnsconfig_mod.json | 32 | ||||
-rw-r--r-- | install/ui/test/data/dnsconfig_show.json | 33 | ||||
-rw-r--r-- | install/ui/test/data/ipa_init.json | 3 | ||||
-rw-r--r-- | install/ui/webui.js | 13 |
6 files changed, 106 insertions, 9 deletions
diff --git a/install/ui/dns.js b/install/ui/dns.js index 13fba5b10..c849eeca0 100644 --- a/install/ui/dns.js +++ b/install/ui/dns.js @@ -28,6 +28,35 @@ IPA.dns = {}; +IPA.dns.config_entity = function(spec) { + + var that = IPA.entity(spec); + + that.init = function() { + that.entity_init(); + + that.builder.details_facet({ + title: IPA.metadata.objects.config.label, + sections: [ + { + name: 'options', + label: IPA.messages.objects.dnsconfig.options, + fields: [ + { + type: 'multivalued', + name: 'idnsforwarders', + validators: [IPA.ip_address_validator()] + } + ] + } + ], + needs_update: true + }); + }; + + return that; +}; + IPA.dns.zone_entity = function(spec) { var that = IPA.entity(spec); @@ -2242,5 +2271,6 @@ IPA.network_validator = function(spec) { return that; }; +IPA.register('dnsconfig', IPA.dns.config_entity); IPA.register('dnszone', IPA.dns.zone_entity); IPA.register('dnsrecord', IPA.dns.record_entity); diff --git a/install/ui/navigation.js b/install/ui/navigation.js index 72c914268..a4ad28980 100644 --- a/install/ui/navigation.js +++ b/install/ui/navigation.js @@ -408,8 +408,8 @@ IPA.navigation = function(spec) { container.tabs('select', index); var tab = tabs[index]; - if (tab.hidden) { - depth--; + if (tab.depth !== undefined) { + depth += tab.depth; } if (tab.children && tab.children.length) { diff --git a/install/ui/test/data/dnsconfig_mod.json b/install/ui/test/data/dnsconfig_mod.json new file mode 100644 index 000000000..e82e0735e --- /dev/null +++ b/install/ui/test/data/dnsconfig_mod.json @@ -0,0 +1,32 @@ +{ + "error": null, + "id": null, + "result": { + "result": { + "attributelevelrights": { + "aci": "rscwo", + "cn": "rscwo", + "idnsallowsyncptr": "rscwo", + "idnsforwarders": "rscwo", + "idnsforwardpolicy": "rscwo", + "idnspersistentsearch": "rscwo", + "idnszonerefresh": "rscwo", + "nsaccountlock": "rscwo", + "objectclass": "rscwo" + }, + "cn": [ + "dns" + ], + "idnsforwarders": [ + "2001:beef::1" + ], + "objectclass": [ + "idnsConfigObject", + "nsContainer", + "top" + ] + }, + "summary": null, + "value": "" + } +}
\ No newline at end of file diff --git a/install/ui/test/data/dnsconfig_show.json b/install/ui/test/data/dnsconfig_show.json new file mode 100644 index 000000000..e663abcc8 --- /dev/null +++ b/install/ui/test/data/dnsconfig_show.json @@ -0,0 +1,33 @@ +{ + "error": null, + "id": null, + "result": { + "result": { + "attributelevelrights": { + "aci": "rscwo", + "cn": "rscwo", + "idnsallowsyncptr": "rscwo", + "idnsforwarders": "rscwo", + "idnsforwardpolicy": "rscwo", + "idnspersistentsearch": "rscwo", + "idnszonerefresh": "rscwo", + "nsaccountlock": "rscwo", + "objectclass": "rscwo" + }, + "cn": [ + "dns" + ], + "dn": "cn=dns,dc=dev,dc=example,dc=com", + "idnsforwarders": [ + "2001:beef::1" + ], + "objectclass": [ + "idnsConfigObject", + "nsContainer", + "top" + ] + }, + "summary": null, + "value": "" + } +}
\ No newline at end of file diff --git a/install/ui/test/data/ipa_init.json b/install/ui/test/data/ipa_init.json index 8e07dbc92..f0789d072 100644 --- a/install/ui/test/data/ipa_init.json +++ b/install/ui/test/data/ipa_init.json @@ -183,6 +183,9 @@ "user": "User Options" }, "delegation": {}, + "dnsconfig": { + "options": "Options" + }, "dnsrecord": { "data": "Data", "deleted_no_data": "DNS record was deleted because it contained no data.", diff --git a/install/ui/webui.js b/install/ui/webui.js index 6850ff5aa..b8394d289 100644 --- a/install/ui/webui.js +++ b/install/ui/webui.js @@ -40,10 +40,9 @@ IPA.admin_navigation = function(spec) { {entity: 'hostgroup'}, {entity: 'netgroup'}, {entity: 'service'}, - {name:'dns', - label: IPA.messages.tabs.dns, - children:[ - {entity: 'dnszone', hidden:true}, + {name:'dns', label: IPA.messages.tabs.dns, children:[ + {entity: 'dnszone'}, + {entity: 'dnsconfig'}, {entity: 'dnsrecord', hidden:true} ] } @@ -63,9 +62,9 @@ IPA.admin_navigation = function(spec) { {name:'automount', label: IPA.messages.tabs.automount, children:[ - {entity: 'automountlocation', hidden:true}, - {entity: 'automountmap', hidden: true}, - {entity: 'automountkey', hidden: true}]}, + {entity: 'automountlocation', hidden:true, depth: -1}, + {entity: 'automountmap', hidden: true, depth: -1}, + {entity: 'automountkey', hidden: true, depth: -1}]}, {entity: 'pwpolicy'}, {entity: 'krbtpolicy'}, {entity: 'selinuxusermap'}, |