summaryrefslogtreecommitdiffstats
path: root/install/ui/src/freeipa/trust.js
diff options
context:
space:
mode:
Diffstat (limited to 'install/ui/src/freeipa/trust.js')
-rw-r--r--install/ui/src/freeipa/trust.js85
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