Global trust config page

https://fedorahosted.org/freeipa/ticket/3333
This commit is contained in:
Petr Vobornik
2013-02-11 12:56:35 +01:00
parent ba76a9c431
commit 7e088a8378
7 changed files with 259 additions and 3 deletions

View File

@@ -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 {};
});

View File

@@ -84,7 +84,12 @@ IPA.admin_navigation = function(spec) {
{entity: 'selfservice'},
{entity: 'delegation'},
{entity: 'idrange'},
{
name: 'trusts', label: IPA.messages.tabs.trust, children:[
{entity: 'trust'},
{entity: 'trustconfig'}
]
},
{entity: 'config'}
]}];

View File

@@ -2734,12 +2734,14 @@ IPA.entity_select_widget = function(spec) {
that.other_field = spec.other_field;
that.options = spec.options || [];
that.filter_options = spec.filter_options || {};
that.create_search_command = function(filter) {
return IPA.command({
entity: that.other_entity.name,
method: 'find',
args: [filter]
args: [filter],
options: that.filter_options
});
};
@@ -2773,6 +2775,8 @@ IPA.entity_select_widget = function(spec) {
if (that.on_search_success) that.on_search_success.call(this, data, text_status, xhr);
};
that.entity_select_set_options = that.set_options;
return that;
};

View File

@@ -488,6 +488,9 @@
"truststatus": "Trust status",
"trusttype": "Trust type"
},
"trustconfig": {
"options": "Options"
},
"user": {
"account": "Account Settings",
"account_status": "Account Status",
@@ -547,7 +550,8 @@
"ipaserver": "IPA Server",
"policy": "Policy",
"role": "Role Based Access Control",
"sudo": "Sudo"
"sudo": "Sudo",
"trust": "Trusts"
},
"true": "True",
"widget": {

View File

@@ -7328,6 +7328,119 @@
],
"uuid_attribute": ""
},
"trustconfig": {
"aciattrs": [],
"attribute_members": {},
"bindable": false,
"container_dn": "",
"default_attributes": [
"cn",
"ipantsecurityidentifier",
"ipantflatname",
"ipantdomainguid",
"ipantfallbackprimarygroup"
],
"hidden_attributes": [
"objectclass",
"aci"
],
"label": "Global Trust Configuration",
"label_singular": "Global Trust Configuration",
"methods": [
"mod",
"show"
],
"name": "trustconfig",
"object_class": [],
"object_class_config": null,
"object_name": "trust configuration",
"object_name_plural": "entries",
"parent_object": "",
"rdn_attribute": "",
"relationships": {
"member": [
"Member",
"",
"no_"
],
"memberindirect": [
"Indirect Member",
null,
"no_indirect_"
],
"memberof": [
"Member Of",
"in_",
"not_in_"
],
"memberofindirect": [
"Indirect Member Of",
null,
"not_in_indirect_"
]
},
"takes_params": [
{
"class": "Str",
"doc": "Domain",
"flags": [
"no_update"
],
"label": "Domain",
"name": "cn",
"noextrawhitespace": true,
"required": true,
"type": "unicode"
},
{
"class": "Str",
"doc": "Security Identifier",
"flags": [
"no_update"
],
"label": "Security Identifier",
"name": "ipantsecurityidentifier",
"noextrawhitespace": true,
"required": true,
"type": "unicode"
},
{
"class": "Str",
"doc": "NetBIOS name",
"flags": [
"no_update"
],
"label": "NetBIOS name",
"name": "ipantflatname",
"noextrawhitespace": true,
"required": true,
"type": "unicode"
},
{
"class": "Str",
"doc": "Domain GUID",
"flags": [
"no_update"
],
"label": "Domain GUID",
"name": "ipantdomainguid",
"noextrawhitespace": true,
"required": true,
"type": "unicode"
},
{
"class": "Str",
"doc": "Fallback primary group",
"flags": [],
"label": "Fallback primary group",
"name": "ipantfallbackprimarygroup",
"noextrawhitespace": true,
"required": true,
"type": "unicode"
}
],
"uuid_attribute": ""
},
"user": {
"aciattrs": [
"audio",

View File

@@ -0,0 +1,41 @@
{
"error": null,
"id": null,
"result": {
"result": {
"attributelevelrights": {
"aci": "rscwo",
"cn": "rscwo",
"ipantdomainguid": "rscwo",
"ipantfallbackprimarygroup": "rscwo",
"ipantflatname": "rscwo",
"ipantsecurityidentifier": "rscwo",
"nsaccountlock": "rscwo",
"objectclass": "rscwo"
},
"cn": [
"test.example.com"
],
"dn": "cn=test.example.com,cn=etc,dc=test,dc=example,dc=com",
"ipantdomainguid": [
"ae391b8e-a104-476f-a7ee-146239a31dde"
],
"ipantfallbackprimarygroup": [
"Default SMB Group"
],
"ipantflatname": [
"EXAMPLE"
],
"ipantsecurityidentifier": [
"S-1-5-21-1849636185-3637193423-921922997"
],
"objectclass": [
"ipaNTDomainAttrs",
"nsContainer",
"top"
]
},
"summary": null,
"value": "ad"
}
}

View File

@@ -627,6 +627,9 @@ class i18n_messages(Command):
"truststatus": _("Trust status"),
"trusttype": _("Trust type"),
},
"trustconfig": {
"options": _("Options"),
},
"user": {
"account": _("Account Settings"),
"account_status": _("Account Status"),
@@ -687,6 +690,7 @@ class i18n_messages(Command):
"policy": _("Policy"),
"role": _("Role Based Access Control"),
"sudo": _("Sudo"),
"trust": _("Trusts"),
},
"true": _("True"),
"widget": {