From 31a13c9e9849eca794aa7908bc252185c4b36678 Mon Sep 17 00:00:00 2001 From: Pavel Vomacka Date: Wed, 22 Jun 2016 18:13:27 +0200 Subject: Add button for dns_update_system_records command Part of: https://fedorahosted.org/freeipa/ticket/5905 Reviewed-By: Petr Vobornik Reviewed-By: Petr Spacek --- install/ui/src/freeipa/dns.js | 44 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) (limited to 'install/ui/src/freeipa/dns.js') diff --git a/install/ui/src/freeipa/dns.js b/install/ui/src/freeipa/dns.js index c086251a8..2d424aeae 100644 --- a/install/ui/src/freeipa/dns.js +++ b/install/ui/src/freeipa/dns.js @@ -100,7 +100,9 @@ return { ] } ], - needs_update: true + needs_update: true, + actions: [ 'update_dns_records' ], + header_actions: [ 'update_dns_records' ] } ] };}; @@ -554,6 +556,45 @@ var make_dnsserver_spec = function() { }; +IPA.dns.update_dns_records_action = function(spec) { + + spec = spec || {}; + + spec.name = spec.name || 'update_dns_records'; + spec.label = spec.label || '@i18n:objects.dnsconfig.update_dns'; + + var that = IPA.action(spec); + + that.execute_action = function() { + var spec = { + title: '@i18n:objects.dnsconfig.update_dns', + message: '@i18n:objects.dnsconfig.update_dns_dialog_msg', + ok_label: '@i18n:buttons.update' + }; + + that.dialog = IPA.confirm_dialog(spec); + + that.dialog.on_ok = function() { + + var command = rpc.command({ + entity: 'dns', + method: 'update_system_records', + on_success: function(data) { + var status = data.result.value; + if (status) IPA.notify_success( + '@i18n:objects.dnsconfig.updated_dns'); + } + }); + + command.execute(); + }; + + that.dialog.open(); + }; + + return that; +}; + IPA.dnszone_details_facet = function(spec, no_init) { spec = spec || {}; @@ -2617,6 +2658,7 @@ exp.register = function() { a.register('dns_add_permission', IPA.dns.add_permission_action); a.register('dns_remove_permission', IPA.dns.remove_permission_action); + a.register('update_dns_records', IPA.dns.update_dns_records_action); }; phases.on('registration', exp.register); -- cgit