From 26a2fa027d4e3d5c6953db325080074eedf64d98 Mon Sep 17 00:00:00 2001 From: "Endi S. Dewata" Date: Fri, 16 Sep 2011 16:06:07 -0500 Subject: Fixed problem enabling/disabling DNS zone. The details facet for DNS zone has been modified to use dnszone- enable/disable for idnszoneactive and dnszone-mod for other fields. Ticket #1813 --- install/ui/dns.js | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++--- install/ui/hbac.js | 26 ++++++------ install/ui/sudo.js | 28 +++++++------ 3 files changed, 142 insertions(+), 31 deletions(-) (limited to 'install/ui') diff --git a/install/ui/dns.js b/install/ui/dns.js index 20660d17..e01e28f6 100644 --- a/install/ui/dns.js +++ b/install/ui/dns.js @@ -38,12 +38,13 @@ IPA.entity_factories.dnszone = function() { facet_groups([ 'dnsrecord', 'settings' ]). search_facet({ title: IPA.metadata.objects.dnszone.label, - columns:['idnsname'] + columns: [ 'idnsname' ] }). details_facet({ - sections:[{ - name:'identity', - fields:[ + factory: IPA.dnszone_details_facet, + sections: [{ + name: 'identity', + fields: [ 'idnsname', 'idnszoneactive', 'idnssoamname', @@ -56,7 +57,9 @@ IPA.entity_factories.dnszone = function() { 'dnsttl', 'dnsclass', 'idnsallowdynupdate', - 'idnsupdatepolicy']}] + 'idnsupdatepolicy' + ] + }] }). nested_search_facet({ facet_group: 'dnsrecord', @@ -66,7 +69,7 @@ IPA.entity_factories.dnszone = function() { label: IPA.metadata.objects.dnsrecord.label, load: IPA.dns_record_search_load, get_values: IPA.dnsrecord_get_delete_values, - columns:[ + columns: [ { name: 'idnsname', label: IPA.get_entity_param('dnsrecord', 'idnsname').label, @@ -109,6 +112,110 @@ IPA.entity_factories.dnszone = function() { build(); }; +IPA.dnszone_details_facet = function(spec) { + + spec = spec || {}; + + var that = IPA.details_facet(spec); + + that.update = function(on_success, on_error) { + + var args = that.get_primary_key(); + + var modify_operation = { + execute: false, + command: IPA.command({ + entity: that.entity.name, + method: 'mod', + args: args, + options: { all: true, rights: true } + }) + }; + + var enable_operation = { + execute: false, + command: IPA.command({ + entity: that.entity.name, + method: 'enable', + args: args, + options: { all: true, rights: true } + }) + }; + + var sections = that.sections.values; + for (var i=0; i= 0) { @@ -475,11 +477,11 @@ IPA.hbacrule_details_facet = function(spec) { 'name': 'hbac_details_update', 'on_success': function(data, text_status, xhr) { that.refresh(); - if (on_success) on_success(data, text_status, xhr); + if (on_success) on_success.call(this, data, text_status, xhr); }, 'on_error': function(xhr, text_status, error_thrown) { that.refresh(); - if (on_error) on_error(xhr, text_status, error_thrown); + if (on_error) on_error.call(this, xhr, text_status, error_thrown); } }); diff --git a/install/ui/sudo.js b/install/ui/sudo.js index c9e7cdaf..cdd5e50a 100644 --- a/install/ui/sudo.js +++ b/install/ui/sudo.js @@ -261,14 +261,14 @@ IPA.sudorule_details_facet = function(spec) { that.update = function(on_success, on_error) { - var pkey = IPA.nav.get_state(that.entity.name+'-pkey'); + var args = that.get_primary_key(); var modify_operation = { 'execute': false, 'command': IPA.command({ entity: that.entity.name, method: 'mod', - args: [pkey], + args: args, options: {all: true, rights: true} }) }; @@ -298,7 +298,7 @@ IPA.sudorule_details_facet = function(spec) { 'command': IPA.command({ entity: that.entity.name, method: 'remove_user', - args: [pkey], + args: args, options: {all: true, rights: true} }) }, @@ -308,7 +308,7 @@ IPA.sudorule_details_facet = function(spec) { 'command': IPA.command({ entity: that.entity.name, method: 'remove_host', - args: [pkey], + args: args, options: {all: true, rights: true} }) }, @@ -318,7 +318,7 @@ IPA.sudorule_details_facet = function(spec) { 'command': IPA.command({ entity: that.entity.name, method: 'remove_allow_command', - args: [pkey], + args: args, options: {all: true, rights: true} }) }, @@ -328,7 +328,7 @@ IPA.sudorule_details_facet = function(spec) { 'command': IPA.command({ entity: that.entity.name, method: 'remove_runasuser', - args: [pkey], + args: args, options: {all: true, rights: true} }) }, @@ -338,7 +338,7 @@ IPA.sudorule_details_facet = function(spec) { 'command': IPA.command({ entity: that.entity.name, method: 'remove_runasgroup', - args: [pkey], + args: args, options: {all: true, rights: true} }) } @@ -349,7 +349,7 @@ IPA.sudorule_details_facet = function(spec) { 'command': IPA.command({ entity: that.entity.name, method: 'enable', - args: [pkey], + args: args, options: {all: true, rights: true} }) }; @@ -361,15 +361,17 @@ IPA.sudorule_details_facet = function(spec) { var section_fields = section.fields.values; for (var j=0; j= 0) { @@ -427,11 +429,11 @@ IPA.sudorule_details_facet = function(spec) { 'name': 'sudorule_details_update', 'on_success': function(data, text_status, xhr) { that.refresh(); - if (on_success) on_success(data, text_status, xhr); + if (on_success) on_success.call(this, data, text_status, xhr); }, 'on_error': function(xhr, text_status, error_thrown) { that.refresh(); - if (on_error) on_error(xhr, text_status, error_thrown); + if (on_error) on_error.call(this, xhr, text_status, error_thrown); } }); -- cgit