The user details facet has been modified to load the user data, password policy and Kerberos ticket policy in a single batch command.
Ticket #703 -- Endi S. Dewata
From 062d1cc415f811ed908df0b522ec5bd4982afdc8 Mon Sep 17 00:00:00 2001 From: Endi Sukma Dewata <edew...@redhat.com> Date: Mon, 9 Jan 2012 19:54:25 -0600 Subject: [PATCH] Load user data and policies in a single batch. The user details facet has been modified to load the user data, password policy and Kerberos ticket policy in a single batch command. Ticket #703 --- install/ui/test/data/user_details_refresh.json | 303 ++++++++++++++++++++++++ install/ui/test/data/user_get_policies.json | 135 ----------- install/ui/user.js | 24 ++- 3 files changed, 322 insertions(+), 140 deletions(-) create mode 100644 install/ui/test/data/user_details_refresh.json delete mode 100644 install/ui/test/data/user_get_policies.json diff --git a/install/ui/test/data/user_details_refresh.json b/install/ui/test/data/user_details_refresh.json new file mode 100644 index 0000000000000000000000000000000000000000..07001d20c78ec4a618313210b82382450ad253e8 --- /dev/null +++ b/install/ui/test/data/user_details_refresh.json @@ -0,0 +1,303 @@ +{ + "error": null, + "id": null, + "result": { + "count": 3, + "results": [ + { + "result": { + "attributelevelrights": { + "aci": "rscwo", + "audio": "rscwo", + "businesscategory": "rscwo", + "carlicense": "rscwo", + "cn": "rscwo", + "departmentnumber": "rscwo", + "description": "rscwo", + "destinationindicator": "rscwo", + "dialupaccess": "rscwo", + "displayname": "rscwo", + "employeenumber": "rscwo", + "employeetype": "rscwo", + "facsimiletelephonenumber": "rscwo", + "gecos": "rscwo", + "gidnumber": "rscwo", + "givenname": "rscwo", + "homedirectory": "rscwo", + "homephone": "rscwo", + "homepostaladdress": "rscwo", + "inetuserhttpurl": "rscwo", + "inetuserstatus": "rscwo", + "initials": "rscwo", + "internationalisdnnumber": "rscwo", + "ipauniqueid": "rsc", + "jpegphoto": "rscwo", + "krbcanonicalname": "rscwo", + "krbextradata": "rscwo", + "krblastfailedauth": "rscwo", + "krblastpwdchange": "rscwo", + "krblastsuccessfulauth": "rscwo", + "krbloginfailedcount": "rscwo", + "krbmaxrenewableage": "rscwo", + "krbmaxticketlife": "rscwo", + "krbpasswordexpiration": "rscwo", + "krbprincipalaliases": "rscwo", + "krbprincipalexpiration": "rscwo", + "krbprincipalkey": "wo", + "krbprincipalname": "rscwo", + "krbprincipaltype": "rscwo", + "krbpwdhistory": "rscwo", + "krbpwdpolicyreference": "rscwo", + "krbticketflags": "rscwo", + "krbticketpolicyreference": "rscwo", + "krbupenabled": "rscwo", + "l": "rscwo", + "labeleduri": "rscwo", + "loginshell": "rscwo", + "mail": "rscwo", + "manager": "rscwo", + "memberof": "rsc", + "mepmanagedentry": "rscwo", + "mobile": "rscwo", + "nsaccountlock": "rscwo", + "o": "rscwo", + "objectclass": "rscwo", + "ou": "rscwo", + "pager": "rscwo", + "photo": "rscwo", + "physicaldeliveryofficename": "rscwo", + "postaladdress": "rscwo", + "postalcode": "rscwo", + "postofficebox": "rscwo", + "preferreddeliverymethod": "rscwo", + "preferredlanguage": "rscwo", + "registeredaddress": "rscwo", + "roomnumber": "rscwo", + "secretary": "rscwo", + "seealso": "rscwo", + "sn": "rscwo", + "st": "rscwo", + "street": "rscwo", + "telephonenumber": "rscwo", + "teletexterminalidentifier": "rscwo", + "telexnumber": "rscwo", + "title": "rscwo", + "uid": "rscwo", + "uidnumber": "rscwo", + "usercertificate": "rscwo", + "userpassword": "wo", + "userpkcs12": "rscwo", + "usersmimecertificate": "rscwo", + "x121address": "rscwo", + "x500uniqueidentifier": "rscwo" + }, + "cn": [ + "Kermit The Frog" + ], + "dn": "uid=kfrog,cn=users,cn=accounts,dc=example,dc=com", + "gecos": [ + "kfrog" + ], + "gidnumber": [ + "953553261" + ], + "givenname": [ + "Kermit" + ], + "homedirectory": [ + "/home/kfrog" + ], + "ipauniqueid": [ + "a2854798-e7d811df-b69ad8ca-cb44a24c" + ], + "krblastpwdchange": [ + "20101105172205Z" + ], + "krbmaxrenewableage": [ + "604800" + ], + "krbmaxticketlife": [ + "86400" + ], + "krbpasswordexpiration": [ + "20101105172205Z" + ], + "krbprincipalname": [ + "kf...@example.com" + ], + "krbpwdpolicyreference": [ + "cn=global_policy,cn=EXAMPLE.COM,cn=kerberos,dc=example,dc=com" + ], + "loginshell": [ + "/bin/sh" + ], + "mail": [ + "ker...@muppets.com" + ], + "memberof_group": [ + "ipausers", + "muppets" + ], + "memberofindirect_group": [ + "editors" + ], + "mepmanagedentry": [ + "cn=kfrog,cn=groups,cn=accounts,dc=example,dc=com" + ], + "nsaccountlock": [ + "False" + ], + "objectclass": [ + "top", + "person", + "organizationalperson", + "inetorgperson", + "inetuser", + "posixaccount", + "krbprincipalaux", + "krbticketpolicyaux", + "ipaobject", + "mepOriginEntry" + ], + "sn": [ + "Frog" + ], + "uid": [ + "kfrog" + ], + "uidnumber": [ + "953553261" + ] + }, + "summary": null, + "value": "kfrog" + }, + { + "error": null, + "result": { + "attributelevelrights": { + "aci": "rscwo", + "cn": "rscwo", + "krbmaxpwdlife": "rscwo", + "krbminpwdlife": "rscwo", + "krbpwdfailurecountinterval": "rscwo", + "krbpwdhistorylength": "rscwo", + "krbpwdlockoutduration": "rscwo", + "krbpwdmaxfailure": "rscwo", + "krbpwdmindiffchars": "rscwo", + "krbpwdminlength": "rscwo", + "nsaccountlock": "rscwo", + "objectclass": "rscwo" + }, + "cn": [ + "global_policy" + ], + "dn": "cn=global_policy,cn=dev.example.com,cn=kerberos,dc=dev,dc=example,dc=com", + "krbmaxpwdlife": [ + "90" + ], + "krbminpwdlife": [ + "1" + ], + "krbpwdfailurecountinterval": [ + "60" + ], + "krbpwdhistorylength": [ + "0" + ], + "krbpwdlockoutduration": [ + "10" + ], + "krbpwdmaxfailure": [ + "3" + ], + "krbpwdmindiffchars": [ + "0" + ], + "krbpwdminlength": [ + "8" + ], + "objectclass": [ + "top", + "nsContainer", + "krbPwdPolicy" + ] + }, + "summary": null, + "value": "global_policy" + }, + { + "error": null, + "result": { + "attributelevelrights": { + "aci": "rscwo", + "cn": "rscwo", + "krbadmservers": "rscwo", + "krbdefaultencsalttypes": "rscwo", + "krbkdcservers": "rscwo", + "krbldapservers": "rscwo", + "krbmaxrenewableage": "rscwo", + "krbmaxticketlife": "rscwo", + "krbmkey": "none", + "krbprinccontainerref": "rscwo", + "krbprincnamingattr": "rscwo", + "krbpwdpolicyreference": "rsc", + "krbpwdservers": "rscwo", + "krbsearchscope": "rscwo", + "krbsubtrees": "rscwo", + "krbsupportedencsalttypes": "rscwo", + "krbticketflags": "rsc", + "krbticketpolicyreference": "rsc", + "krbupenabled": "rsc", + "nsaccountlock": "rscwo", + "objectclass": "rscwo" + }, + "cn": [ + "DEV.EXAMPLE.COM" + ], + "dn": "cn=dev.example.com,cn=kerberos,dc=dev,dc=example,dc=com", + "krbdefaultencsalttypes": [ + "aes256-cts:special", + "aes128-cts:special", + "des3-hmac-sha1:special", + "arcfour-hmac:special" + ], + "krbmaxrenewableage": [ + "604800" + ], + "krbmaxticketlife": [ + "86400" + ], + "krbsearchscope": [ + "2" + ], + "krbsubtrees": [ + "dc=dev,dc=example,dc=com" + ], + "krbsupportedencsalttypes": [ + "aes256-cts:normal", + "aes256-cts:special", + "aes128-cts:normal", + "aes128-cts:special", + "des3-hmac-sha1:normal", + "des3-hmac-sha1:special", + "arcfour-hmac:normal", + "arcfour-hmac:special", + "des-hmac-sha1:normal", + "des-cbc-md5:normal", + "des-cbc-crc:normal", + "des-cbc-crc:v4", + "des-cbc-crc:afs3" + ], + "objectclass": [ + "top", + "krbrealmcontainer", + "krbticketpolicyaux" + ] + }, + "summary": null, + "value": "" + } + ] + } +} diff --git a/install/ui/test/data/user_get_policies.json b/install/ui/test/data/user_get_policies.json deleted file mode 100644 index 68e9084f779f7457cc9fa0ef1ffa7517403a84f1..0000000000000000000000000000000000000000 --- a/install/ui/test/data/user_get_policies.json +++ /dev/null @@ -1,135 +0,0 @@ -{ - "error": null, - "id": null, - "result": { - "count": 2, - "results": [ - { - "error": null, - "result": { - "attributelevelrights": { - "aci": "rscwo", - "cn": "rscwo", - "krbmaxpwdlife": "rscwo", - "krbminpwdlife": "rscwo", - "krbpwdfailurecountinterval": "rscwo", - "krbpwdhistorylength": "rscwo", - "krbpwdlockoutduration": "rscwo", - "krbpwdmaxfailure": "rscwo", - "krbpwdmindiffchars": "rscwo", - "krbpwdminlength": "rscwo", - "nsaccountlock": "rscwo", - "objectclass": "rscwo" - }, - "cn": [ - "global_policy" - ], - "dn": "cn=global_policy,cn=dev.example.com,cn=kerberos,dc=dev,dc=example,dc=com", - "krbmaxpwdlife": [ - "90" - ], - "krbminpwdlife": [ - "1" - ], - "krbpwdfailurecountinterval": [ - "60" - ], - "krbpwdhistorylength": [ - "0" - ], - "krbpwdlockoutduration": [ - "10" - ], - "krbpwdmaxfailure": [ - "3" - ], - "krbpwdmindiffchars": [ - "0" - ], - "krbpwdminlength": [ - "8" - ], - "objectclass": [ - "top", - "nsContainer", - "krbPwdPolicy" - ] - }, - "summary": null, - "value": "global_policy" - }, - { - "error": null, - "result": { - "attributelevelrights": { - "aci": "rscwo", - "cn": "rscwo", - "krbadmservers": "rscwo", - "krbdefaultencsalttypes": "rscwo", - "krbkdcservers": "rscwo", - "krbldapservers": "rscwo", - "krbmaxrenewableage": "rscwo", - "krbmaxticketlife": "rscwo", - "krbmkey": "none", - "krbprinccontainerref": "rscwo", - "krbprincnamingattr": "rscwo", - "krbpwdpolicyreference": "rsc", - "krbpwdservers": "rscwo", - "krbsearchscope": "rscwo", - "krbsubtrees": "rscwo", - "krbsupportedencsalttypes": "rscwo", - "krbticketflags": "rsc", - "krbticketpolicyreference": "rsc", - "krbupenabled": "rsc", - "nsaccountlock": "rscwo", - "objectclass": "rscwo" - }, - "cn": [ - "DEV.EXAMPLE.COM" - ], - "dn": "cn=dev.example.com,cn=kerberos,dc=dev,dc=example,dc=com", - "krbdefaultencsalttypes": [ - "aes256-cts:special", - "aes128-cts:special", - "des3-hmac-sha1:special", - "arcfour-hmac:special" - ], - "krbmaxrenewableage": [ - "604800" - ], - "krbmaxticketlife": [ - "86400" - ], - "krbsearchscope": [ - "2" - ], - "krbsubtrees": [ - "dc=dev,dc=example,dc=com" - ], - "krbsupportedencsalttypes": [ - "aes256-cts:normal", - "aes256-cts:special", - "aes128-cts:normal", - "aes128-cts:special", - "des3-hmac-sha1:normal", - "des3-hmac-sha1:special", - "arcfour-hmac:normal", - "arcfour-hmac:special", - "des-hmac-sha1:normal", - "des-cbc-md5:normal", - "des-cbc-crc:normal", - "des-cbc-crc:v4", - "des-cbc-crc:afs3" - ], - "objectclass": [ - "top", - "krbrealmcontainer", - "krbticketpolicyaux" - ] - }, - "summary": null, - "value": "" - } - ] - } -} diff --git a/install/ui/user.js b/install/ui/user.js index c50261a36dbc418b7d9966c3f49f721a1c6b118d..681228347d631cd4ac5b67ec6baebd34a3de66e2 100644 --- a/install/ui/user.js +++ b/install/ui/user.js @@ -261,14 +261,28 @@ IPA.user.details_facet = function(spec) { var that = IPA.details_facet(spec); that.refresh_on_success = function(data, text_status, xhr) { - that.details_facet_refresh_on_success(data, text_status, xhr); + // do not load data from batch + }; - var batch = IPA.batch_command({ - name: 'user_get_policies' - }); + that.create_refresh_command = function() { var pkey = IPA.nav.get_state(that.entity.name+'-pkey'); + var batch = IPA.batch_command({ + name: 'user_details_refresh' + }); + + var user_command = that.details_facet_create_refresh_command(); + + user_command.on_success = function(data, text_status, xhr) { + // create data that mimics user-show output + var user_data = {}; + user_data.result = data; + that.load(user_data); + }; + + batch.add_command(user_command); + var pwpolicy_command = IPA.command({ entity: 'pwpolicy', method: 'show', @@ -319,7 +333,7 @@ IPA.user.details_facet = function(spec) { batch.add_command(krbtpolicy_command); - batch.execute(); + return batch; }; return that; -- 1.7.5.1
_______________________________________________ Freeipa-devel mailing list Freeipa-devel@redhat.com https://www.redhat.com/mailman/listinfo/freeipa-devel