summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPetr Vobornik <pvoborni@redhat.com>2012-05-25 08:57:47 +0200
committerPetr Vobornik <pvoborni@redhat.com>2012-06-04 11:26:28 +0200
commit27b1dace2debe8385ee6193dc8830c656dc48764 (patch)
tree4c5bc807edfd9ea6310aebeeb6178ec2f14cb99a
parent870627de9a6bf0d0731843ea3305aad3a739cac4 (diff)
downloadfreeipa-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
-rw-r--r--install/ui/aci.js8
-rw-r--r--install/ui/automember.js4
-rw-r--r--install/ui/automount.js8
-rw-r--r--install/ui/details.js15
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) {