mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
CLOUDSTACK-8647: UI for trust AD feature
This commit is contained in:
parent
6572abc7b3
commit
36340d97bd
@ -2133,6 +2133,10 @@ label.every=Every
|
|||||||
label.day=Day
|
label.day=Day
|
||||||
label.of.month=of month
|
label.of.month=of month
|
||||||
label.add.private.gateway=Add Private Gateway
|
label.add.private.gateway=Add Private Gateway
|
||||||
|
label.link.domain.to.ldap=Link Domain to LDAP
|
||||||
|
message.link.domain.to.ldap=Enable autosync for this domain in LDAP
|
||||||
|
label.ldap.link.type=Type
|
||||||
|
label.account.type=Account Type
|
||||||
message.desc.created.ssh.key.pair=Created a SSH Key Pair.
|
message.desc.created.ssh.key.pair=Created a SSH Key Pair.
|
||||||
message.please.confirm.remove.ssh.key.pair=Please confirm that you want to remove this SSH Key Pair
|
message.please.confirm.remove.ssh.key.pair=Please confirm that you want to remove this SSH Key Pair
|
||||||
message.password.has.been.reset.to=Password has been reset to
|
message.password.has.been.reset.to=Password has been reset to
|
||||||
|
|||||||
@ -406,7 +406,7 @@ CREATE TABLE `cloud`.`ldap_trust_map` (
|
|||||||
`name` varchar(255) NOT NULL,
|
`name` varchar(255) NOT NULL,
|
||||||
`account_type` int(1) unsigned NOT NULL,
|
`account_type` int(1) unsigned NOT NULL,
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
UNIQUE KEY `uk_ldap_trust_map__domain_id` (`id`),
|
UNIQUE KEY `uk_ldap_trust_map__domain_id` (`domain_id`),
|
||||||
KEY `fk_ldap_trust_map__domain_id` (`domain_id`),
|
KEY `fk_ldap_trust_map__domain_id` (`domain_id`),
|
||||||
CONSTRAINT `fk_ldap_trust_map__domain_id` FOREIGN KEY (`domain_id`) REFERENCES `domain` (`id`)
|
CONSTRAINT `fk_ldap_trust_map__domain_id` FOREIGN KEY (`domain_id`) REFERENCES `domain` (`id`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||||
|
|||||||
@ -12851,6 +12851,14 @@ div.ui-dialog div.autoscaler div.field-group div.form-container form div.form-it
|
|||||||
background-position: -230px -677px;
|
background-position: -230px -677px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.linktoldap .icon {
|
||||||
|
background-position: -197px -65px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.linktoldap:hover .icon {
|
||||||
|
background-position: -197px -647px;
|
||||||
|
}
|
||||||
|
|
||||||
.label-hovered {
|
.label-hovered {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
color: #0000FF !important;
|
color: #0000FF !important;
|
||||||
|
|||||||
@ -1066,6 +1066,10 @@ under the License.
|
|||||||
'label.ovm3.vip': '<fmt:message key="label.ovm3.vip" />',
|
'label.ovm3.vip': '<fmt:message key="label.ovm3.vip" />',
|
||||||
'label.local.file': '<fmt:message key="label.local.file" />',
|
'label.local.file': '<fmt:message key="label.local.file" />',
|
||||||
'label.local.storage.enabled.system.vms': '<fmt:message key="label.local.storage.enabled.system.vms" />',
|
'label.local.storage.enabled.system.vms': '<fmt:message key="label.local.storage.enabled.system.vms" />',
|
||||||
|
'label.link.domain.to.ldap': '<fmt:message key="label.link.domain.to.ldap" />',
|
||||||
|
'message.link.domain.to.ldap': '<fmt:message key="message.link.domain.to.ldap" />',
|
||||||
|
'label.ldap.link.type': '<fmt:message key="label.ldap.link.type" />',
|
||||||
|
'label.account.type': '<fmt:message key="label.account.type" />'
|
||||||
'label.create.ssh.key.pair': '<fmt:message key="label.create.ssh.key.pair" />',
|
'label.create.ssh.key.pair': '<fmt:message key="label.create.ssh.key.pair" />',
|
||||||
'label.fingerprint': '<fmt:message key="label.fingerprint" />',
|
'label.fingerprint': '<fmt:message key="label.fingerprint" />',
|
||||||
'label.host.tag': '<fmt:message key="label.host.tag" />',
|
'label.host.tag': '<fmt:message key="label.host.tag" />',
|
||||||
|
|||||||
@ -1317,5 +1317,16 @@ cloudStack.docs = {
|
|||||||
helpOvm3Vip: {
|
helpOvm3Vip: {
|
||||||
desc: 'The VIP used by the pool and cluster',
|
desc: 'The VIP used by the pool and cluster',
|
||||||
externalLink: ''
|
externalLink: ''
|
||||||
|
},
|
||||||
|
helpLdapGroupName: {
|
||||||
|
desc: 'Fully qualified name of OU/GROUP in LDAP',
|
||||||
|
externalLink: ''
|
||||||
|
},
|
||||||
|
helpLdapGroupType: {
|
||||||
|
desc: 'Type of LDAP name provided. Can be either GROUP/OU',
|
||||||
|
externalLink: ''
|
||||||
|
},
|
||||||
|
helpLdapLinkDomainAdmin: {
|
||||||
|
desc: 'domain admin of the linked domain. Specify a username in GROUP/OU of LDAP'
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@ -313,6 +313,109 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
linktoldap: {
|
||||||
|
label: 'label.link.domain.to.ldap',
|
||||||
|
|
||||||
|
action: function(args) {
|
||||||
|
var data = {
|
||||||
|
domainid: args.context.domains[0].id,
|
||||||
|
type: args.data.type,
|
||||||
|
name: args.data.name,
|
||||||
|
accounttype: args.data.accounttype
|
||||||
|
};
|
||||||
|
|
||||||
|
if (args.data.admin != null && args.data.admin.length > 0) {
|
||||||
|
$.extend(data, {
|
||||||
|
admin: args.data.admin
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: createURL('linkDomainToLdap'),
|
||||||
|
data: data,
|
||||||
|
success: function(json) {
|
||||||
|
var item = json.linkdomaintoldapresponse.LinkDomainToLdap.domainid;
|
||||||
|
args.response.success({
|
||||||
|
data: item
|
||||||
|
});
|
||||||
|
},
|
||||||
|
error: function(XMLHttpResponse) {
|
||||||
|
var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
|
||||||
|
args.response.error(errorMsg);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
messages: {
|
||||||
|
notification: function(args) {
|
||||||
|
return 'label.link.domain.to.ldap';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
createForm: {
|
||||||
|
title: 'label.link.domain.to.ldap',
|
||||||
|
desc: 'message.link.domain.to.ldap',
|
||||||
|
fields: {
|
||||||
|
type: {
|
||||||
|
label: 'label.ldap.link.type',
|
||||||
|
docID: 'helpLdapGroupType',
|
||||||
|
validation: {
|
||||||
|
required: true
|
||||||
|
},
|
||||||
|
select: function(args) {
|
||||||
|
var items = [];
|
||||||
|
items.push({
|
||||||
|
id: "GROUP",
|
||||||
|
description: "GROUP"
|
||||||
|
}); //regular-user
|
||||||
|
items.push({
|
||||||
|
id: "OU",
|
||||||
|
description: "OU"
|
||||||
|
}); //root-admin
|
||||||
|
args.response.success({
|
||||||
|
data: items
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
name: {
|
||||||
|
label: 'label.name',
|
||||||
|
docID: 'helpLdapGroupName',
|
||||||
|
validation: {
|
||||||
|
required: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
accounttype: {
|
||||||
|
label: 'label.account.type',
|
||||||
|
docID: 'helpAccountType',
|
||||||
|
validation: {
|
||||||
|
required: true
|
||||||
|
},
|
||||||
|
select: function(args) {
|
||||||
|
var items = [];
|
||||||
|
items.push({
|
||||||
|
id: 0,
|
||||||
|
description: "Normal User"
|
||||||
|
}); //regular-user
|
||||||
|
items.push({
|
||||||
|
id: 2,
|
||||||
|
description: "Domain Admin"
|
||||||
|
}); //root-admin
|
||||||
|
args.response.success({
|
||||||
|
data: items
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
admin: {
|
||||||
|
label: 'label.domain.admin',
|
||||||
|
docID: 'helpLdapLinkDomainAdmin',
|
||||||
|
validation: {
|
||||||
|
required: false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
updateResourceCount: {
|
updateResourceCount: {
|
||||||
label: 'label.action.update.resource.count',
|
label: 'label.action.update.resource.count',
|
||||||
messages: {
|
messages: {
|
||||||
@ -652,6 +755,9 @@
|
|||||||
if (jsonObj.level != 0) { //ROOT domain (whose level is 0) is not allowed to delete
|
if (jsonObj.level != 0) { //ROOT domain (whose level is 0) is not allowed to delete
|
||||||
allowedActions.push("delete");
|
allowedActions.push("delete");
|
||||||
}
|
}
|
||||||
|
if(isLdapEnabled()) {
|
||||||
|
allowedActions.push("linktoldap")
|
||||||
|
}
|
||||||
} else if (isDomainAdmin()) {
|
} else if (isDomainAdmin()) {
|
||||||
if (args.context.domains[0].id != g_domainid) {
|
if (args.context.domains[0].id != g_domainid) {
|
||||||
allowedActions.push("edit"); //merge updateResourceLimit into edit
|
allowedActions.push("edit"); //merge updateResourceLimit into edit
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user