diff options
author | Petr Vobornik <pvoborni@redhat.com> | 2014-10-10 10:50:56 +0200 |
---|---|---|
committer | Petr Vobornik <pvoborni@redhat.com> | 2014-10-20 12:29:10 +0200 |
commit | df1ed11b480834a1b35c99299195482452350ded (patch) | |
tree | 3e6bdc9422906d333ba4f69dc4f84d04ed61fc6a /install/ui/src/freeipa | |
parent | 01a9e7ef9e58e14fdb362bdd61b22d667d773052 (diff) | |
download | freeipa-df1ed11b480834a1b35c99299195482452350ded.tar.gz freeipa-df1ed11b480834a1b35c99299195482452350ded.tar.xz freeipa-df1ed11b480834a1b35c99299195482452350ded.zip |
webui: do not offer ipa users to Default Trust View
https://fedorahosted.org/freeipa/ticket/4616
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
Diffstat (limited to 'install/ui/src/freeipa')
-rw-r--r-- | install/ui/src/freeipa/add.js | 2 | ||||
-rw-r--r-- | install/ui/src/freeipa/idviews.js | 51 |
2 files changed, 51 insertions, 2 deletions
diff --git a/install/ui/src/freeipa/add.js b/install/ui/src/freeipa/add.js index 7f5c29807..8f24c7733 100644 --- a/install/ui/src/freeipa/add.js +++ b/install/ui/src/freeipa/add.js @@ -198,7 +198,7 @@ IPA.entity_adder_dialog = function(spec) { var field = fields[j]; var values = record[field.param]; - if (!values || values.length === 0) continue; + if (!values || values.length === 0 || !field.enabled) continue; if (field.flags.indexOf('no_command') > -1) continue; if (field.param === pkey_name) { diff --git a/install/ui/src/freeipa/idviews.js b/install/ui/src/freeipa/idviews.js index 1d082c4d4..cbc78ae7c 100644 --- a/install/ui/src/freeipa/idviews.js +++ b/install/ui/src/freeipa/idviews.js @@ -20,6 +20,7 @@ */ define([ + 'dojo/on', './ipa', './jquery', './menu', @@ -31,7 +32,7 @@ define([ './facet', './search', './entity'], - function(IPA, $, menu, phases, reg, rpc, text, mod_details, mod_facet) { + function(on, IPA, $, menu, phases, reg, rpc, text, mod_details, mod_facet) { /** * ID Views module * @class @@ -268,6 +269,9 @@ return { ], adder_dialog: { + policies: [ + { $factory: idviews.idoverride_adder_policy } + ], fields: [ { $type: 'entity_select', @@ -278,6 +282,14 @@ return { editable: true, tooltip: '@i18n:objects.idoverrideuser.anchor_tooltip' }, + { + label: '@i18n:objects.idoverrideuser.anchor_label', + name: 'ipaanchoruuid_default', + param: 'ipaanchoruuid', + tooltip: '@i18n:objects.idoverrideuser.anchor_tooltip_ad', + visible: false, + enabled: false + }, 'uid', 'gecos', 'uidnumber', @@ -341,6 +353,9 @@ return { ], adder_dialog: { + policies: [ + { $factory: idviews.idoverride_adder_policy } + ], fields: [ { $type: 'entity_select', @@ -351,6 +366,14 @@ return { editable: true, tooltip: '@i18n:objects.idoverridegroup.anchor_tooltip' }, + { + label: '@i18n:objects.idoverridegroup.anchor_label', + name: 'ipaanchoruuid_default', + param: 'ipaanchoruuid', + tooltip: '@i18n:objects.idoverridegroup.anchor_tooltip_ad', + visible: false, + enabled: false + }, 'cn', 'gidnumber', { @@ -406,6 +429,32 @@ idviews.idview_facet_header = function(spec) { }; /** + * Switches between combobox and textbox for ipaanchoruuid, depending on if + * current view is Default Trust View + * @class idviews.idoverride_adder_policy + * @extends IPA.facet_policy + */ +idviews.idoverride_adder_policy = function (spec) { + var that = IPA.facet_policy(spec); + that.init = function() { + on(that.container, 'open', that.on_open); + }; + + that.on_open = function() { + var d = that.container; // dialog + var default_view = d.pkey_prefix.slice(-1)[0] === idviews.DEFAULT_TRUST_VIEW; + var f1 = d.fields.get_field('ipaanchoruuid'); + var f2 = d.fields.get_field('ipaanchoruuid_default'); + f1.set_enabled(!default_view); + f1.widget.set_visible(!default_view); + f2.set_enabled(default_view); + f2.widget.set_visible(default_view); + }; + + return that; +}; + +/** * Apply Id view on hosts on hostgroup action base class * * @class idviews.apply_action |