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

Reply via email to