diff options
author | Petr Vobornik <pvoborni@redhat.com> | 2012-05-25 08:57:47 +0200 |
---|---|---|
committer | Petr Vobornik <pvoborni@redhat.com> | 2012-06-04 11:26:28 +0200 |
commit | 27b1dace2debe8385ee6193dc8830c656dc48764 (patch) | |
tree | 4c5bc807edfd9ea6310aebeeb6178ec2f14cb99a /install/ui | |
parent | 870627de9a6bf0d0731843ea3305aad3a739cac4 (diff) | |
download | freeipa-27b1dace2debe8385ee6193dc8830c656dc48764.tar.gz freeipa-27b1dace2debe8385ee6193dc8830c656dc48764.tar.xz freeipa-27b1dace2debe8385ee6193dc8830c656dc48764.zip |
Removal of illegal options in JSON-RPC calls
Ticket https://fedorahosted.org/freeipa/ticket/2509 bans using non existent options. If such option is supplied command ends with error. It uncovered several cases in Web UI. This patch is fixing these cases.
Automember, Self-service and Delegation don't support 'pkey-only', 'size-limit' and 'rights' option. Pagination and rights check were disabled for them.
Automount map adder dialog was sending options for indirect map even if chosen type was direct (when those for indirect was filled earlier), also it was sending non-existant 'method' option.
https://fedorahosted.org/freeipa/ticket/2760
Diffstat (limited to 'install/ui')
-rw-r--r-- | install/ui/aci.js | 8 | ||||
-rw-r--r-- | install/ui/automember.js | 4 | ||||
-rw-r--r-- | install/ui/automount.js | 8 | ||||
-rw-r--r-- | install/ui/details.js | 15 |
4 files changed, 28 insertions, 7 deletions
diff --git a/install/ui/aci.js b/install/ui/aci.js index 27d9589aa..953116c3f 100644 --- a/install/ui/aci.js +++ b/install/ui/aci.js @@ -343,9 +343,11 @@ IPA.aci.selfservice_entity = function(spec) { that.entity_init(); that.builder.search_facet({ - columns: [ 'aciname' ] + columns: [ 'aciname' ], + pagination: false }). details_facet({ + check_rights: false, sections: [ { name: 'general', @@ -386,9 +388,11 @@ IPA.aci.delegation_entity = function(spec) { that.entity_init(); that.builder.search_facet({ - columns: [ 'aciname' ] + columns: [ 'aciname' ], + pagination: false }). details_facet({ + check_rights: false, sections: [ { name: 'general', diff --git a/install/ui/automember.js b/install/ui/automember.js index df285973d..6f8eba956 100644 --- a/install/ui/automember.js +++ b/install/ui/automember.js @@ -58,6 +58,7 @@ IPA.automember.entity = function(spec) { group_type: 'group', label: IPA.messages.objects.automember.usergrouprules, details_facet: 'usergrouprule', + pagination: false, columns: [ 'cn', 'description' @@ -69,6 +70,7 @@ IPA.automember.entity = function(spec) { group_type: 'hostgroup', label: IPA.messages.objects.automember.hostgrouprules, details_facet: 'hostgrouprule', + pagination: false, columns: [ 'cn', 'description' @@ -80,6 +82,7 @@ IPA.automember.entity = function(spec) { group_type: 'group', label: IPA.messages.objects.automember.usergrouprule, disable_facet_tabs: true, + check_rights: false, redirect_info: { tab: 'amgroup' } }). details_facet({ @@ -88,6 +91,7 @@ IPA.automember.entity = function(spec) { group_type: 'hostgroup', label: IPA.messages.objects.automember.hostgrouprule, disable_facet_tabs: true, + check_rights: false, redirect_info: { tab: 'amhostgroup' } }). adder_dialog({ diff --git a/install/ui/automount.js b/install/ui/automount.js index 5a4d5978f..3a4491d8b 100644 --- a/install/ui/automount.js +++ b/install/ui/automount.js @@ -112,6 +112,7 @@ IPA.automount.map_entity = function(spec) { { type: 'radio', name: 'method', + enabled: false, //don't use value in add command label: IPA.messages.objects.automountmap.map_type, options: [ { @@ -285,11 +286,15 @@ IPA.automountmap_adder_dialog = function(spec) { var method_widget = that.widgets.get_widget('general.method'); var indirect_section = that.widgets.get_widget('indirect'); var key_field = that.fields.get_field('key'); + var parentmap_field = that.fields.get_field('parentmap'); var direct_input = $('input[value="add"]', method_widget.container); direct_input.change(function() { that.method = 'add'; + key_field.set_enabled(false); + parentmap_field.set_enabled(false); + key_field.set_required(false); indirect_section.set_visible(false); }); @@ -298,6 +303,9 @@ IPA.automountmap_adder_dialog = function(spec) { indirect_input.change(function() { that.method = 'add_indirect'; + key_field.set_enabled(true); + parentmap_field.set_enabled(true); + key_field.set_required(true); indirect_section.set_visible(true); }); diff --git a/install/ui/details.js b/install/ui/details.js index 4239f6547..d5f6bfc80 100644 --- a/install/ui/details.js +++ b/install/ui/details.js @@ -266,6 +266,7 @@ IPA.details_facet = function(spec, no_init) { that.entity = IPA.get_entity(spec.entity); that.update_command_name = spec.update_command_name || 'mod'; that.command_mode = spec.command_mode || 'save'; // [save, info] + that.check_rights = spec.check_rights !== undefined ? spec.check_rights : true; that.label = spec.label || IPA.messages && IPA.messages.facets && IPA.messages.facets.details; that.facet_group = spec.facet_group || 'settings'; @@ -531,14 +532,15 @@ IPA.details_facet = function(spec, no_init) { that.create_fields_update_command = function(update_info) { var args = that.get_primary_key(); + + var options = { all: true }; + if (that.check_rights) options.rights = true; + var command = IPA.command({ entity: that.entity.name, method: that.update_command_name, args: args, - options: { - all: true, - rights: true - } + options: options }); //set command options @@ -623,11 +625,14 @@ IPA.details_facet = function(spec, no_init) { that.create_refresh_command = function() { + var options = { all: true }; + if (that.check_rights) options.rights = true; + var command = IPA.command({ name: that.get_refresh_command_name(), entity: that.entity.name, method: 'show', - options: { all: true, rights: true } + options: options }); if (that.pkey) { |