diff options
author | Petr Vobornik <pvoborni@redhat.com> | 2013-02-11 12:56:35 +0100 |
---|---|---|
committer | Petr Vobornik <pvoborni@redhat.com> | 2013-04-10 09:24:46 +0200 |
commit | 7e088a83782de9204af0a5bc120b4c97daae2c72 (patch) | |
tree | 402b0e1bbcf4874b525b3e9e0d7bd0173d138b00 /install/ui/src/freeipa/trust.js | |
parent | ba76a9c431600ba36194242fdfac982306d55192 (diff) | |
download | freeipa-7e088a83782de9204af0a5bc120b4c97daae2c72.tar.gz freeipa-7e088a83782de9204af0a5bc120b4c97daae2c72.tar.xz freeipa-7e088a83782de9204af0a5bc120b4c97daae2c72.zip |
Global trust config page
https://fedorahosted.org/freeipa/ticket/3333
Diffstat (limited to 'install/ui/src/freeipa/trust.js')
-rw-r--r-- | install/ui/src/freeipa/trust.js | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/install/ui/src/freeipa/trust.js b/install/ui/src/freeipa/trust.js index e4a227ab7..25ddb5cdf 100644 --- a/install/ui/src/freeipa/trust.js +++ b/install/ui/src/freeipa/trust.js @@ -193,7 +193,92 @@ IPA.trust.adder_dialog = function(spec) { return that; }; +IPA.trust.config_entity = function(spec) { + + var that = IPA.entity(spec); + + that.init = function() { + that.entity_init(); + + that.builder.details_facet({ + factory: IPA.trust.config_details_facet, + trust_type: 'ad', + sections: [ + { + name: 'details', + label: IPA.messages.objects.trustconfig.options, + fields: [ + 'cn', + 'ipantsecurityidentifier', + 'ipantflatname', + 'ipantdomainguid', + { + type: 'trust_fallbackgroup_select', + name: 'ipantfallbackprimarygroup', + other_entity: 'group', + other_field: 'cn', + empty_option: false, + filter_options: { + posix: true + } + } + ] + } + ] + }); + }; + + return that; +}; + +IPA.trust.config_details_facet = function(spec) { + + spec = spec || {}; + + var that = IPA.details_facet(spec); + + that.trust_type = spec.trust_type; + + that.get_refresh_command_name = function() { + return that.entity.name+that.trust_type+'_show'; + }; + + that.create_refresh_command = function() { + + var command = that.details_facet_create_refresh_command(); + command.set_option('trust_type', that.trust_type); + + return command; + }; + + that.create_update_command = function() { + + var command = that.details_facet_create_update_command(); + command.set_option('trust_type', that.trust_type); + + return command; + }; + + return that; +}; + +IPA.trust.fallbackgroup_select_widget = function(spec) { + var that = IPA.entity_select_widget(spec); + + that.set_options = function(options) { + // always add 'Default SMB Group', it can't be obtained by group-find. + options.unshift('Default SMB Group'); + that.entity_select_set_options(options); + }; + + return that; +}; + +IPA.widget_factories['trust_fallbackgroup_select'] = IPA.trust.fallbackgroup_select_widget; +IPA.field_factories['trust_fallbackgroup_select'] = IPA.field_factories['entity_select']; + IPA.register('trust', IPA.trust.entity); +IPA.register('trustconfig', IPA.trust.config_entity); return {}; });
\ No newline at end of file |