mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Entitlements.
This commit is contained in:
parent
6df53183a8
commit
9645d50912
@ -26,6 +26,7 @@ app_DATA = \
|
||||
jquery.ba-bbq.js \
|
||||
jquery-ui.css \
|
||||
certificate.js \
|
||||
entitle.js \
|
||||
group.js \
|
||||
hbac.js \
|
||||
host.js \
|
||||
|
196
install/ui/entitle.js
Normal file
196
install/ui/entitle.js
Normal file
@ -0,0 +1,196 @@
|
||||
/*jsl:import ipa.js */
|
||||
|
||||
/* Authors:
|
||||
* Endi S. Dewata <edewata@redhat.com>
|
||||
*
|
||||
* Copyright (C) 2010 Red Hat
|
||||
* see file 'COPYING' for use and warranty information
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/* REQUIRES: ipa.js, details.js, search.js, add.js, entity.js */
|
||||
|
||||
|
||||
IPA.entitle = {};
|
||||
|
||||
IPA.entity_factories.entitle = function() {
|
||||
|
||||
var builder = IPA.entity_builder();
|
||||
|
||||
builder.
|
||||
entity('entitle').
|
||||
facet({
|
||||
factory: IPA.entitle.search_facet,
|
||||
columns: [
|
||||
{
|
||||
name: 'product',
|
||||
label: 'Product'
|
||||
},
|
||||
{
|
||||
name: 'quantity',
|
||||
label: 'Quantity'
|
||||
},
|
||||
{
|
||||
name: 'start',
|
||||
label: 'Start'
|
||||
},
|
||||
{
|
||||
name: 'end',
|
||||
label: 'End'
|
||||
}
|
||||
],
|
||||
search_all: true
|
||||
}).
|
||||
dialog({
|
||||
factory: IPA.entitle.consume_dialog,
|
||||
name: 'consume',
|
||||
title: 'Consume Entitlements',
|
||||
fields: [
|
||||
{
|
||||
name: 'quantity',
|
||||
label: 'Quantity',
|
||||
undo: false
|
||||
}
|
||||
]
|
||||
}).
|
||||
details_facet({
|
||||
sections: [
|
||||
{
|
||||
name: 'identity',
|
||||
label: IPA.messages.details.identity,
|
||||
fields: ['ipaentitlementid']
|
||||
}
|
||||
]
|
||||
}).
|
||||
standard_association_facets();
|
||||
|
||||
return builder.build();
|
||||
};
|
||||
|
||||
IPA.entitle.search_facet = function(spec) {
|
||||
|
||||
spec = spec || {};
|
||||
|
||||
var that = IPA.search_facet(spec);
|
||||
|
||||
that.create_action_panel = function(container) {
|
||||
|
||||
that.facet_create_action_panel(container);
|
||||
|
||||
var li = $('.action-controls', container);
|
||||
|
||||
var buttons = $('<span/>', {
|
||||
'class': 'search-buttons'
|
||||
}).appendTo(li);
|
||||
|
||||
$('<input/>', {
|
||||
type: 'button',
|
||||
name: 'consume',
|
||||
value: 'Consume'
|
||||
}).appendTo(buttons);
|
||||
};
|
||||
|
||||
that.setup = function(container) {
|
||||
|
||||
that.search_facet_setup(container);
|
||||
|
||||
var action_panel = that.get_action_panel();
|
||||
|
||||
var button = $('input[name=consume]', action_panel);
|
||||
that.consume_button = IPA.action_button({
|
||||
label: 'Consume',
|
||||
icon: 'ui-icon-plus',
|
||||
click: function() {
|
||||
var dialog = that.get_dialog('consume');
|
||||
dialog.open(that.container);
|
||||
}
|
||||
});
|
||||
button.replaceWith(that.consume_button);
|
||||
};
|
||||
|
||||
that.refresh = function() {
|
||||
|
||||
function on_success(data, text_status, xhr) {
|
||||
|
||||
that.table.empty();
|
||||
|
||||
var result = data.result.result;
|
||||
for (var i = 0; i<result.length; i++) {
|
||||
var record = that.table.get_record(result[i], 0);
|
||||
that.table.add_record(record);
|
||||
}
|
||||
|
||||
var summary = $('span[name=summary]', that.table.tfoot);
|
||||
if (data.result.truncated) {
|
||||
var message = IPA.messages.search.truncated;
|
||||
message = message.replace('${counter}', data.result.count);
|
||||
summary.text(message);
|
||||
} else {
|
||||
summary.text(data.result.summary);
|
||||
}
|
||||
}
|
||||
|
||||
function on_error(xhr, text_status, error_thrown) {
|
||||
var summary = $('span[name=summary]', that.table.tfoot).empty();
|
||||
summary.append('<p>Error: '+error_thrown.name+'</p>');
|
||||
summary.append('<p>'+error_thrown.title+'</p>');
|
||||
summary.append('<p>'+error_thrown.message+'</p>');
|
||||
}
|
||||
|
||||
var command = IPA.command({
|
||||
method: 'entitle_get',
|
||||
options: {
|
||||
all: that.search_all
|
||||
},
|
||||
on_success: on_success,
|
||||
on_error: on_error
|
||||
});
|
||||
|
||||
command.execute();
|
||||
};
|
||||
|
||||
return that;
|
||||
};
|
||||
|
||||
IPA.entitle.consume_dialog = function(spec) {
|
||||
|
||||
spec = spec || {};
|
||||
|
||||
var that = IPA.dialog(spec);
|
||||
|
||||
that.add_button('Consume', function() {
|
||||
var record = {};
|
||||
that.save(record);
|
||||
|
||||
var command = IPA.command({
|
||||
method: 'entitle_consume',
|
||||
args: [ record.quantity ],
|
||||
on_success: function() {
|
||||
var entity = IPA.get_entity(that.entity_name);
|
||||
var facet = entity.get_facet('search');
|
||||
facet.table.refresh();
|
||||
that.close();
|
||||
}
|
||||
});
|
||||
|
||||
command.execute();
|
||||
});
|
||||
|
||||
that.add_button('Cancel', function() {
|
||||
that.close();
|
||||
});
|
||||
|
||||
return that;
|
||||
};
|
@ -35,6 +35,7 @@
|
||||
<script type="text/javascript" src="sudo.js"></script>
|
||||
<script type="text/javascript" src="policy.js"></script>
|
||||
<script type="text/javascript" src="aci.js"></script>
|
||||
<script type="text/javascript" src="entitle.js"></script>
|
||||
|
||||
|
||||
<script type="text/javascript" src="develop.js"></script>
|
||||
|
@ -471,6 +471,10 @@ span.ui-icon-search {
|
||||
margin-left: 1em !important;
|
||||
}
|
||||
|
||||
[title="Consume"] {
|
||||
margin-left: 1em !important;
|
||||
}
|
||||
|
||||
[title="mail"] {
|
||||
margin-top: 0em !important;
|
||||
}
|
||||
@ -960,4 +964,4 @@ table.scrollable tbody {
|
||||
.expand-collapse-all {
|
||||
float: right;
|
||||
padding-right: 1.5em;
|
||||
}
|
||||
}
|
||||
|
@ -135,6 +135,7 @@
|
||||
+process navigation.js
|
||||
+process rule.js
|
||||
+process certificate.js
|
||||
+process entitle.js
|
||||
+process user.js
|
||||
+process group.js
|
||||
+process hbac.js
|
||||
|
24
install/ui/test/data/entitle_consume.json
Normal file
24
install/ui/test/data/entitle_consume.json
Normal file
@ -0,0 +1,24 @@
|
||||
{
|
||||
"error": null,
|
||||
"id": 0,
|
||||
"result": {
|
||||
"result": {
|
||||
"consumed": 13,
|
||||
"ipaentitlementid": [
|
||||
"b788ccee-4b09-48f0-8a9a-2c769f7b41e0"
|
||||
],
|
||||
"ipauniqueid": [
|
||||
"c63b1972-5ffe-11e0-8340-00163e2fe6de"
|
||||
],
|
||||
"objectclass": [
|
||||
"ipaobject",
|
||||
"ipaentitlement"
|
||||
],
|
||||
"product": "MKT-multiplier-client-50",
|
||||
"quantity": 250,
|
||||
"uuid": "b788ccee-4b09-48f0-8a9a-2c769f7b41e0"
|
||||
},
|
||||
"summary": "Consumed 1 entitlement(s).",
|
||||
"value": "1"
|
||||
}
|
||||
}
|
37
install/ui/test/data/entitle_find.json
Normal file
37
install/ui/test/data/entitle_find.json
Normal file
@ -0,0 +1,37 @@
|
||||
{
|
||||
"error": null,
|
||||
"id": 0,
|
||||
"result": {
|
||||
"count": 1,
|
||||
"result": [
|
||||
{
|
||||
"dn": "ipaentitlementid=b788ccee-4b09-48f0-8a9a-2c769f7b41e0,cn=entitlements,cn=etc,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com",
|
||||
"ipaentitlementid": [
|
||||
"b788ccee-4b09-48f0-8a9a-2c769f7b41e0"
|
||||
],
|
||||
"ipauniqueid": [
|
||||
"c63b1972-5ffe-11e0-8340-00163e2fe6de"
|
||||
],
|
||||
"objectclass": [
|
||||
"ipaobject",
|
||||
"ipaentitlement"
|
||||
],
|
||||
"usercertificate": [
|
||||
{
|
||||
"__base64__": "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"
|
||||
},
|
||||
{
|
||||
"__base64__": "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"
|
||||
}
|
||||
],
|
||||
"userpkcs12": [
|
||||
{
|
||||
"__base64__": "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"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"summary": null,
|
||||
"truncated": false
|
||||
}
|
||||
}
|
27
install/ui/test/data/entitle_get.json
Normal file
27
install/ui/test/data/entitle_get.json
Normal file
@ -0,0 +1,27 @@
|
||||
{
|
||||
"error": null,
|
||||
"id": 0,
|
||||
"result": {
|
||||
"count": 2,
|
||||
"result": [
|
||||
{
|
||||
"certificate": "-----BEGIN CERTIFICATE-----\nMIIHVTCCBr6gAwIBAgIIAJuMxFgwNhUwDQYJKoZIhvcNAQEFBQAwRzEmMCQGA1UE\nAwwddm0tMDIyLmlkbS5sYWIuYm9zLnJlZGhhdC5jb20xCzAJBgNVBAYTAlVTMRAw\nDgYDVQQHDAdSYWxlaWdoMB4XDTExMDQwNTAwMDAwMFoXDTEyMDQwNDAwMDAwMFow\nKzEpMCcGA1UEAwwgOGE5MGNlOTYyZjI4ZGFiYjAxMmYyOGViN2EyNjAyMjMwggEi\nMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCD0eal/e5ua7opJhvPdd3nr36p\n2l2t2WMDPRtyOo+h7yZOspoW+qAavd8HwBEbLNjVq56oMyB5/5saE3ubVMxyYFl6\ndvCpyOy1irxFiZAt3bl1oV3Al8xL0Tieug1SMUOkbz18zcmr/fhGe2ShU5cx9HRf\nBBx2GexCyUzdn8JiJHpSRKLBxicCmNAwlrv847v32ymJYJ/069Qetx87Xv/Qlct9\nzRMbi/4EMZ2rwabtOt8ZEYufkhdZvQgm/uPmWEMKYqvkALl97MjfkPTv9IRv8Rry\npt/GgCATxHABAVCadYcnE/QYOWwhpJjIPIBwImtUgLKSfJMmep1nHOJfyeYNAgMB\nAAGjggTgMIIE3DARBglghkgBhvhCAQEEBAMCBaAwCwYDVR0PBAQDAgSwMHcGA1Ud\nIwRwMG6AFIzw8TMZRe2EemNNdk/OQJydGp/goUukSTBHMSYwJAYDVQQDDB12bS0w\nMjIuaWRtLmxhYi5ib3MucmVkaGF0LmNvbTELMAkGA1UEBhMCVVMxEDAOBgNVBAcM\nB1JhbGVpZ2iCCQC0zvfl5WJ2gTAdBgNVHQ4EFgQU/z8K8+VKhseEGe81ukYTXjCZ\n6TswEwYDVR0lBAwwCgYIKwYBBQUHAwIwKgYNKwYBBAGSCAkBuIBDAQQZDBdNdWx0\naXBsaWVyIFByb2R1Y3QgQml0czAUBgsrBgEEAZIICQIBAQQFDAN5dW0wKAYMKwYB\nBAGSCAkCAQEBBBgMFmFsd2F5cy1lbmFibGVkLWNvbnRlbnQwKAYMKwYBBAGSCAkC\nAQECBBgMFmFsd2F5cy1lbmFibGVkLWNvbnRlbnQwHQYMKwYBBAGSCAkCAQEFBA0M\nC3Rlc3QtdmVuZG9yMCIGDCsGAQQBkggJAgEBBgQSDBAvZm9vL3BhdGgvYWx3YXlz\nMCYGDCsGAQQBkggJAgEBBwQWDBQvZm9vL3BhdGgvYWx3YXlzL2dwZzATBgwrBgEE\nAZIICQIBAQQEAwwBMDATBgwrBgEEAZIICQIBAQMEAwwBMDATBgwrBgEEAZIICQIB\nAQgEAwwBMTAVBgwrBgEEAZIICQIBAQkEBQwDMjAwMBQGCysGAQQBkggJAgABBAUM\nA3l1bTAnBgwrBgEEAZIICQIAAQEEFwwVbmV2ZXItZW5hYmxlZC1jb250ZW50MCcG\nDCsGAQQBkggJAgABAgQXDBVuZXZlci1lbmFibGVkLWNvbnRlbnQwHQYMKwYBBAGS\nCAkCAAEFBA0MC3Rlc3QtdmVuZG9yMCEGDCsGAQQBkggJAgABBgQRDA8vZm9vL3Bh\ndGgvbmV2ZXIwJQYMKwYBBAGSCAkCAAEHBBUMEy9mb28vcGF0aC9uZXZlci9ncGcw\nEwYMKwYBBAGSCAkCAAEEBAMMATAwEwYMKwYBBAGSCAkCAAEDBAMMATAwEwYMKwYB\nBAGSCAkCAAEIBAMMATAwFQYMKwYBBAGSCAkCAAEJBAUMAzYwMDAzBgorBgEEAZII\nCQQBBCUMI011bHRpcGxpZXIgUHJvZHVjdCBDbGllbnQgUGFjayAoNTApMDAGCisG\nAQQBkggJBAIEIgwgOGE5MGNlOTYyZjI4ZGFiYjAxMmYyOGU3YTcxNTAxMTgwKAYK\nKwYBBAGSCAkEAwQaDBhNS1QtbXVsdGlwbGllci1jbGllbnQtNTAwEQYKKwYBBAGS\nCAkEBQQDDAE1MCQGCisGAQQBkggJBAYEFgwUMjAxMS0wNC0wNVQwMDowMDowMFow\nJAYKKwYBBAGSCAkEBwQWDBQyMDEyLTA0LTA0VDAwOjAwOjAwWjASBgorBgEEAZII\nCQQMBAQMAjMwMBIGCisGAQQBkggJBAoEBAwCNDIwGwYKKwYBBAGSCAkEDQQNDAsx\nMjMzMTEzMTIzMTARBgorBgEEAZIICQQOBAMMATAwEQYKKwYBBAGSCAkECwQDDAEz\nMDQGCisGAQQBkggJBQEEJgwkYjc4OGNjZWUtNGIwOS00OGYwLThhOWEtMmM3Njlm\nN2I0MWUwMA0GCSqGSIb3DQEBBQUAA4GBAGc7e1w8IkyBrhwgmPNSeYnvfgMzqWRa\nZnDPJ29u/xECc95/EU51/ieFsX91SXSxC7IOSHgy62AMVLDKomkx+i82a5iNjGxE\nEDEqodQgKioSsZ9zDJsBM8kQ3TeZgPrCxB0y/uKFwZ8QgZ74/EpEPj4v6gyOcF4r\nszDCTfb8V5/f\n-----END CERTIFICATE-----\n",
|
||||
"end": "2012-04-04T00:00:00Z",
|
||||
"product": "Multiplier Product Client Pack (50)",
|
||||
"quantity": 3,
|
||||
"serial": "43783396311184917",
|
||||
"start": "2011-04-05T00:00:00Z"
|
||||
},
|
||||
{
|
||||
"certificate": "-----BEGIN CERTIFICATE-----\nMIIHVTCCBr6gAwIBAgIIY9jsLQtqWO8wDQYJKoZIhvcNAQEFBQAwRzEmMCQGA1UE\nAwwddm0tMDIyLmlkbS5sYWIuYm9zLnJlZGhhdC5jb20xCzAJBgNVBAYTAlVTMRAw\nDgYDVQQHDAdSYWxlaWdoMB4XDTExMDQwNTAwMDAwMFoXDTEyMDQwNDAwMDAwMFow\nKzEpMCcGA1UEAwwgOGE5MGNlOTYyZjI4ZGFiYjAxMmYyOGU4MmNjYjAyMjAwggEi\nMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCD0eal/e5ua7opJhvPdd3nr36p\n2l2t2WMDPRtyOo+h7yZOspoW+qAavd8HwBEbLNjVq56oMyB5/5saE3ubVMxyYFl6\ndvCpyOy1irxFiZAt3bl1oV3Al8xL0Tieug1SMUOkbz18zcmr/fhGe2ShU5cx9HRf\nBBx2GexCyUzdn8JiJHpSRKLBxicCmNAwlrv847v32ymJYJ/069Qetx87Xv/Qlct9\nzRMbi/4EMZ2rwabtOt8ZEYufkhdZvQgm/uPmWEMKYqvkALl97MjfkPTv9IRv8Rry\npt/GgCATxHABAVCadYcnE/QYOWwhpJjIPIBwImtUgLKSfJMmep1nHOJfyeYNAgMB\nAAGjggTgMIIE3DARBglghkgBhvhCAQEEBAMCBaAwCwYDVR0PBAQDAgSwMHcGA1Ud\nIwRwMG6AFIzw8TMZRe2EemNNdk/OQJydGp/goUukSTBHMSYwJAYDVQQDDB12bS0w\nMjIuaWRtLmxhYi5ib3MucmVkaGF0LmNvbTELMAkGA1UEBhMCVVMxEDAOBgNVBAcM\nB1JhbGVpZ2iCCQC0zvfl5WJ2gTAdBgNVHQ4EFgQU/z8K8+VKhseEGe81ukYTXjCZ\n6TswEwYDVR0lBAwwCgYIKwYBBQUHAwIwKgYNKwYBBAGSCAkBuIBDAQQZDBdNdWx0\naXBsaWVyIFByb2R1Y3QgQml0czAUBgsrBgEEAZIICQIBAQQFDAN5dW0wKAYMKwYB\nBAGSCAkCAQEBBBgMFmFsd2F5cy1lbmFibGVkLWNvbnRlbnQwKAYMKwYBBAGSCAkC\nAQECBBgMFmFsd2F5cy1lbmFibGVkLWNvbnRlbnQwHQYMKwYBBAGSCAkCAQEFBA0M\nC3Rlc3QtdmVuZG9yMCIGDCsGAQQBkggJAgEBBgQSDBAvZm9vL3BhdGgvYWx3YXlz\nMCYGDCsGAQQBkggJAgEBBwQWDBQvZm9vL3BhdGgvYWx3YXlzL2dwZzATBgwrBgEE\nAZIICQIBAQQEAwwBMDATBgwrBgEEAZIICQIBAQMEAwwBMDATBgwrBgEEAZIICQIB\nAQgEAwwBMTAVBgwrBgEEAZIICQIBAQkEBQwDMjAwMBQGCysGAQQBkggJAgABBAUM\nA3l1bTAnBgwrBgEEAZIICQIAAQEEFwwVbmV2ZXItZW5hYmxlZC1jb250ZW50MCcG\nDCsGAQQBkggJAgABAgQXDBVuZXZlci1lbmFibGVkLWNvbnRlbnQwHQYMKwYBBAGS\nCAkCAAEFBA0MC3Rlc3QtdmVuZG9yMCEGDCsGAQQBkggJAgABBgQRDA8vZm9vL3Bh\ndGgvbmV2ZXIwJQYMKwYBBAGSCAkCAAEHBBUMEy9mb28vcGF0aC9uZXZlci9ncGcw\nEwYMKwYBBAGSCAkCAAEEBAMMATAwEwYMKwYBBAGSCAkCAAEDBAMMATAwEwYMKwYB\nBAGSCAkCAAEIBAMMATAwFQYMKwYBBAGSCAkCAAEJBAUMAzYwMDAzBgorBgEEAZII\nCQQBBCUMI011bHRpcGxpZXIgUHJvZHVjdCBDbGllbnQgUGFjayAoNTApMDAGCisG\nAQQBkggJBAIEIgwgOGE5MGNlOTYyZjI4ZGFiYjAxMmYyOGU3YTcxNTAxMTgwKAYK\nKwYBBAGSCAkEAwQaDBhNS1QtbXVsdGlwbGllci1jbGllbnQtNTAwEQYKKwYBBAGS\nCAkEBQQDDAE1MCQGCisGAQQBkggJBAYEFgwUMjAxMS0wNC0wNVQwMDowMDowMFow\nJAYKKwYBBAGSCAkEBwQWDBQyMDEyLTA0LTA0VDAwOjAwOjAwWjASBgorBgEEAZII\nCQQMBAQMAjMwMBIGCisGAQQBkggJBAoEBAwCNDIwGwYKKwYBBAGSCAkEDQQNDAsx\nMjMzMTEzMTIzMTARBgorBgEEAZIICQQOBAMMATAwEQYKKwYBBAGSCAkECwQDDAEx\nMDQGCisGAQQBkggJBQEEJgwkYjc4OGNjZWUtNGIwOS00OGYwLThhOWEtMmM3Njlm\nN2I0MWUwMA0GCSqGSIb3DQEBBQUAA4GBAEigZmqXPj9m1oq+ZCDrW6xTvs7AGqz9\n6MQRSK6mmFt9XRG/2cs24JnJLPxwP8Eo+w051RkyijfLEzOaXACswPFvhmxnlJxT\n9QnVGYO2bmPhcDi+OwwQPvDNqG5K97vBOMctEKxIJWVC83ZkKRyjHDlRnZkfE3Xn\nbAGuhPD96lbg\n-----END CERTIFICATE-----\n",
|
||||
"end": "2012-04-04T00:00:00Z",
|
||||
"product": "Multiplier Product Client Pack (50)",
|
||||
"quantity": 1,
|
||||
"serial": "7194760082933569775",
|
||||
"start": "2011-04-05T00:00:00Z"
|
||||
}
|
||||
],
|
||||
"summary": null,
|
||||
"truncated": false
|
||||
}
|
||||
}
|
@ -4625,6 +4625,61 @@
|
||||
],
|
||||
"uuid_attribute": ""
|
||||
},
|
||||
"entitle": {
|
||||
"aciattrs": [
|
||||
"ipaentitlementid",
|
||||
"ipauniqueid",
|
||||
"usercertificate",
|
||||
"userpkcs12"
|
||||
],
|
||||
"attribute_members": {},
|
||||
"bindable": false,
|
||||
"container_dn": "cn=entitlements,cn=etc",
|
||||
"default_attributes": [
|
||||
"ipaentitlement"
|
||||
],
|
||||
"hidden_attributes": [
|
||||
"objectclass",
|
||||
"aci"
|
||||
],
|
||||
"label": "Entitlements",
|
||||
"methods": [
|
||||
"consume",
|
||||
"find",
|
||||
"import",
|
||||
"register",
|
||||
"sync"
|
||||
],
|
||||
"name": "entitle",
|
||||
"object_class": [
|
||||
"ipaobject",
|
||||
"ipaentitlement"
|
||||
],
|
||||
"object_class_config": null,
|
||||
"object_name": "entitlement",
|
||||
"object_name_plural": "entitlements",
|
||||
"parent_object": "",
|
||||
"rdn_attribute": "",
|
||||
"relationships": {
|
||||
"member": [
|
||||
"Member",
|
||||
"",
|
||||
"no_"
|
||||
],
|
||||
"memberindirect": [
|
||||
"Indirect Member",
|
||||
null,
|
||||
"no_indirect_"
|
||||
],
|
||||
"memberof": [
|
||||
"Member Of",
|
||||
"in_",
|
||||
"not_in_"
|
||||
]
|
||||
},
|
||||
"takes_params": [],
|
||||
"uuid_attribute": "ipaentitlementid"
|
||||
},
|
||||
"group": {
|
||||
"aciattrs": [
|
||||
"businesscategory",
|
||||
@ -9939,4 +9994,4 @@
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -59,6 +59,7 @@ IPA.admin_tab_set = function () {
|
||||
]},
|
||||
{name:'selfservice' ,entity:'selfservice'},
|
||||
{name:'delegation' ,entity:'delegation'},
|
||||
{name:'entitle', entity:'entitle'},
|
||||
{name:'config', entity:'config'}
|
||||
]}];
|
||||
|
||||
|
@ -195,6 +195,8 @@ class entitle(LDAPObject):
|
||||
default_attributes = ['ipaentitlement']
|
||||
uuid_attribute = 'ipaentitlementid'
|
||||
|
||||
label = _('Entitlements')
|
||||
|
||||
"""
|
||||
def get_dn(self, *keys, **kwargs):
|
||||
try:
|
||||
|
Loading…
Reference in New Issue
Block a user