From 9645d50912677828515c543d76de50d0f0f05691 Mon Sep 17 00:00:00 2001 From: "Endi S. Dewata" Date: Fri, 8 Apr 2011 01:16:07 -0400 Subject: Entitlements. --- install/ui/Makefile.am | 1 + install/ui/entitle.js | 196 ++++++++++++++++++++++++++++++ install/ui/index.html | 1 + install/ui/ipa.css | 6 +- install/ui/jsl.conf | 1 + install/ui/test/data/entitle_consume.json | 24 ++++ install/ui/test/data/entitle_find.json | 37 ++++++ install/ui/test/data/entitle_get.json | 27 ++++ install/ui/test/data/ipa_init.json | 57 ++++++++- install/ui/webui.js | 1 + 10 files changed, 349 insertions(+), 2 deletions(-) create mode 100644 install/ui/entitle.js create mode 100644 install/ui/test/data/entitle_consume.json create mode 100644 install/ui/test/data/entitle_find.json create mode 100644 install/ui/test/data/entitle_get.json (limited to 'install/ui') diff --git a/install/ui/Makefile.am b/install/ui/Makefile.am index f9c82e150..a681fa61e 100644 --- a/install/ui/Makefile.am +++ b/install/ui/Makefile.am @@ -26,6 +26,7 @@ app_DATA = \ jquery.ba-bbq.js \ jquery-ui.css \ certificate.js \ + entitle.js \ group.js \ hbac.js \ host.js \ diff --git a/install/ui/entitle.js b/install/ui/entitle.js new file mode 100644 index 000000000..3f62860c5 --- /dev/null +++ b/install/ui/entitle.js @@ -0,0 +1,196 @@ +/*jsl:import ipa.js */ + +/* Authors: + * Endi S. Dewata + * + * 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 . + */ + +/* 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 = $('', { + 'class': 'search-buttons' + }).appendTo(li); + + $('', { + 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; iError: '+error_thrown.name+'

'); + summary.append('

'+error_thrown.title+'

'); + summary.append('

'+error_thrown.message+'

'); + } + + 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; +}; diff --git a/install/ui/index.html b/install/ui/index.html index 83f0fb0eb..011420f83 100644 --- a/install/ui/index.html +++ b/install/ui/index.html @@ -35,6 +35,7 @@ + diff --git a/install/ui/ipa.css b/install/ui/ipa.css index a4189ac44..20f5dd6c9 100644 --- a/install/ui/ipa.css +++ b/install/ui/ipa.css @@ -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; -} \ No newline at end of file +} diff --git a/install/ui/jsl.conf b/install/ui/jsl.conf index 9321d4022..ed4c892f3 100644 --- a/install/ui/jsl.conf +++ b/install/ui/jsl.conf @@ -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 diff --git a/install/ui/test/data/entitle_consume.json b/install/ui/test/data/entitle_consume.json new file mode 100644 index 000000000..878bf7bbf --- /dev/null +++ b/install/ui/test/data/entitle_consume.json @@ -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" + } +} \ No newline at end of file diff --git a/install/ui/test/data/entitle_find.json b/install/ui/test/data/entitle_find.json new file mode 100644 index 000000000..76bd437e2 --- /dev/null +++ b/install/ui/test/data/entitle_find.json @@ -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 + } +} \ No newline at end of file diff --git a/install/ui/test/data/entitle_get.json b/install/ui/test/data/entitle_get.json new file mode 100644 index 000000000..2ecae3f21 --- /dev/null +++ b/install/ui/test/data/entitle_get.json @@ -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 + } +} \ No newline at end of file diff --git a/install/ui/test/data/ipa_init.json b/install/ui/test/data/ipa_init.json index 8b5426fd9..55e4c7094 100644 --- a/install/ui/test/data/ipa_init.json +++ b/install/ui/test/data/ipa_init.json @@ -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 @@ } ] } -} \ No newline at end of file +} diff --git a/install/ui/webui.js b/install/ui/webui.js index 4e2c78c47..bf60fa19b 100644 --- a/install/ui/webui.js +++ b/install/ui/webui.js @@ -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'} ]}]; -- cgit