From acf5f9cad7438268148dff6c6b74d8c63048409a Mon Sep 17 00:00:00 2001 From: Adam Young Date: Wed, 13 Oct 2010 13:07:43 -0400 Subject: multivalue fixes metadata for phone numbers test date for users Undo works for multivalue JQuery UI buttons have custom classes inputs/fields are now managed inside of objects removed the use of .call. as it was confusing the issue of mismatched parameter lists. Fixed the parameter lists, too. --- install/static/test/data/json_metadata.json | 886 ++++++++++++++++++++++++---- install/static/test/data/user_mod.json | 32 + install/static/test/data/user_show.json | 43 +- install/static/test/details_tests.html | 2 + install/static/test/details_tests.js | 202 +++++-- 5 files changed, 980 insertions(+), 185 deletions(-) create mode 100644 install/static/test/data/user_mod.json (limited to 'install/static/test') diff --git a/install/static/test/data/json_metadata.json b/install/static/test/data/json_metadata.json index 4a732ac5f..cd617b48e 100644 --- a/install/static/test/data/json_metadata.json +++ b/install/static/test/data/json_metadata.json @@ -5,14 +5,12 @@ "messages": { "button": { "add": "Add", + "delete": "Delete", "enroll": "Enroll", "find": "Find", "reset": "Reset", "update": "Update" }, - "search":{ - "quick_links":"Quick Links" - }, "details": { "account": "Account Details", "contact": "Contact Details", @@ -22,9 +20,14 @@ "misc": "Misc. Information", "to_top": "Back to Top" }, - "login": { "header": "Logged In As" + }, + "search": { + "delete_confirm": "Do you really want to delete the selected entries?", + "quick_links": "Quick Links", + "select_all": "Select All", + "unselect_all": "Unselect All" } }, "metadata": { @@ -149,7 +152,7 @@ "objectclass", "aci" ], - "label": "Automount Location", + "label": "Automount", "methods": [ "add", "del", @@ -2865,6 +2868,89 @@ "query": false, "required": true, "type": "unicode" + } + ], + "uuid_attribute": "ipauniqueid" + }, + "sudocmd": { + "attribute_members": {}, + "container_dn": "cn=sudocmds,cn=accounts", + "default_attributes": [ + "cn", + "description" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "SudoCmds", + "methods": [ + "add", + "del", + "find", + "mod", + "show" + ], + "name": "sudocmd", + "object_class": [ + "ipaobject", + "ipasudocmd" + ], + "object_class_config": null, + "object_name": "sudocmd", + "object_name_plural": "sudocmds", + "parent_object": "", + "primary_key": "cn", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "command", + "cli_short_name": null, + "default": null, + "doc": "Sudo Command", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Sudo Command", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "cn", + "pattern": null, + "pattern_errmsg": null, + "primary_key": true, + "query": false, + "required": true, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "desc", + "cli_short_name": null, + "default": null, + "doc": "A description of this command", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Description", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "description", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" }, { "attribute": false, @@ -2894,15 +2980,17 @@ ], "uuid_attribute": "ipauniqueid" }, - "taskgroup": { + "sudocmdgroup": { "attribute_members": { "member": [ - "user", - "group", - "rolegroup" + "sudocmd", + "sudocmdgroup" + ], + "memberof": [ + "sudocmdgroup" ] }, - "container_dn": "cn=taskgroups,cn=accounts", + "container_dn": "cn=sudocmdgroups,cn=accounts", "default_attributes": [ "cn", "description", @@ -2913,7 +3001,7 @@ "objectclass", "aci" ], - "label": "Task Groups", + "label": "Sudo Command Groups", "methods": [ "add", "add_member", @@ -2923,13 +3011,14 @@ "remove_member", "show" ], - "name": "taskgroup", + "name": "sudocmdgroup", "object_class": [ - "groupofnames" + "ipaobject", + "ipasudocmdgrp" ], "object_class_config": null, - "object_name": "taskgroup", - "object_name_plural": "taskgroups", + "object_name": "sudocmdgroup", + "object_name_plural": "sudocmdgroups", "parent_object": "", "primary_key": "cn", "takes_params": [ @@ -2940,12 +3029,12 @@ "cli_name": "name", "cli_short_name": null, "default": null, - "doc": "Task-group name", + "doc": "Sudo Command Group name", "exclude": null, "flags": [], "hint": null, "include": null, - "label": "Task-group name", + "label": "Sudo Command Group name", "length": null, "maxlength": null, "minlength": null, @@ -2965,7 +3054,7 @@ "cli_name": "desc", "cli_short_name": null, "default": null, - "doc": "Task-group description", + "doc": "Group description", "exclude": null, "flags": [], "hint": null, @@ -2987,39 +3076,10 @@ "attribute": false, "autofill": false, "class": "Str", - "cli_name": "member_group", - "cli_short_name": null, - "default": null, - "doc": "Member groups", - "exclude": null, - "flags": [ - "no_update", - "no_create", - "no_search" - ], - "hint": null, - "include": null, - "label": "Member groups", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "member_group", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "member_user", + "cli_name": "membercmd_sudocmd", "cli_short_name": null, "default": null, - "doc": "Member users", + "doc": "Commands", "exclude": null, "flags": [ "no_update", @@ -3028,12 +3088,12 @@ ], "hint": null, "include": null, - "label": "Member users", + "label": "Commands", "length": null, "maxlength": null, "minlength": null, "multivalue": false, - "name": "member_user", + "name": "membercmd_sudocmd", "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -3045,10 +3105,10 @@ "attribute": false, "autofill": false, "class": "Str", - "cli_name": "member_rolegroup", + "cli_name": "membercmd_sudocmdgroup", "cli_short_name": null, "default": null, - "doc": "Member role-groups", + "doc": "Sudo Command Groups", "exclude": null, "flags": [ "no_update", @@ -3057,12 +3117,12 @@ ], "hint": null, "include": null, - "label": "Member role-groups", + "label": "Sudo Command Groups", "length": null, "maxlength": null, "minlength": null, "multivalue": false, - "name": "member_rolegroup", + "name": "membercmd_sudocmdgroup", "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -3071,73 +3131,83 @@ "type": "unicode" } ], - "uuid_attribute": "" + "uuid_attribute": "ipauniqueid" }, - "user": { + "sudorule": { "attribute_members": { - "memberof": [ - "group", - "netgroup", - "rolegroup", - "taskgroup" + "memberallowcmd": [ + "sudocmd", + "sudocmdgroup" + ], + "memberdenycmd": [ + "sudocmd", + "sudocmdgroup" + ], + "memberhost": [ + "host", + "hostgroup" + ], + "memberuser": [ + "user", + "group" ] }, - "container_dn": "cn=users,cn=accounts", + "container_dn": "cn=sudorules", "default_attributes": [ - "uid", - "givenname", - "sn", - "homedirectory", - "loginshell", - "ou", - "telephonenumber", - "title", - "memberof" + "cn", + "description" ], "hidden_attributes": [ "objectclass", "aci" ], - "label": "Users", + "label": "SudoRule", "methods": [ "add", + "add_allow_command", + "add_deny_command", + "add_host", + "add_user", "del", "find", - "lock", "mod", - "show", - "unlock" + "remove_allow_command", + "remove_deny_command", + "remove_host", + "remove_user", + "show" ], - "name": "user", + "name": "sudorule", "object_class": [ - "posixaccount" + "ipaassociation", + "ipasudorule" ], - "object_class_config": "ipauserobjectclasses", - "object_name": "user", - "object_name_plural": "users", + "object_class_config": null, + "object_name": "Sudo Rule", + "object_name_plural": "Sudo Rules", "parent_object": "", - "primary_key": "uid", + "primary_key": "cn", "takes_params": [ { "attribute": false, "autofill": false, "class": "Str", - "cli_name": "login", + "cli_name": "name", "cli_short_name": null, "default": null, - "doc": "User login", + "doc": "Rule name", "exclude": null, "flags": [], - "hint": "Numeric user Identifer", + "hint": null, "include": null, - "label": "User login", + "label": "Rule name", "length": null, - "maxlength": 33, + "maxlength": null, "minlength": null, "multivalue": false, - "name": "uid", - "pattern": "^[a-zA-Z0-9_.][a-zA-Z0-9_.-]{0,30}[a-zA-Z0-9_.$-]?$", - "pattern_errmsg": "may only include letters, numbers, _, -, . and $", + "name": "cn", + "pattern": null, + "pattern_errmsg": null, "primary_key": true, "query": false, "required": true, @@ -3147,70 +3217,78 @@ "attribute": false, "autofill": false, "class": "Str", - "cli_name": "first", + "cli_name": "desc", "cli_short_name": null, "default": null, - "doc": "First name", + "doc": "Description", "exclude": null, "flags": [], "hint": null, "include": null, - "label": "First name", + "label": "Description", "length": null, "maxlength": null, "minlength": null, "multivalue": false, - "name": "givenname", + "name": "description", "pattern": null, "pattern_errmsg": null, "primary_key": false, "query": false, - "required": true, + "required": false, "type": "unicode" }, { "attribute": false, "autofill": false, "class": "Str", - "cli_name": "last", + "cli_name": "memberuser_user", "cli_short_name": null, "default": null, - "doc": "Last name", + "doc": "Users", "exclude": null, - "flags": [], + "flags": [ + "no_update", + "no_create", + "no_search" + ], "hint": null, "include": null, - "label": "Last name", + "label": "Users", "length": null, "maxlength": null, "minlength": null, "multivalue": false, - "name": "sn", + "name": "memberuser_user", "pattern": null, "pattern_errmsg": null, "primary_key": false, "query": false, - "required": true, + "required": false, "type": "unicode" }, { "attribute": false, "autofill": false, "class": "Str", - "cli_name": "homedir", + "cli_name": "memberhost_host", "cli_short_name": null, "default": null, - "doc": "Home directory", + "doc": "Hosts", "exclude": null, - "flags": [], + "flags": [ + "no_update", + "no_create", + "no_search" + ], "hint": null, "include": null, - "label": "Home directory", + "label": "Hosts", "length": null, "maxlength": null, "minlength": null, "multivalue": false, - "name": "homedirectory", + "name": "memberhost_host", "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -3220,22 +3298,26 @@ }, { "attribute": false, - "autofill": true, + "autofill": false, "class": "Str", - "cli_name": "gecos", + "cli_name": "memberhost_hostgroup", "cli_short_name": null, "default": null, - "doc": "GECOS field", + "doc": "Host Groups", "exclude": null, - "flags": [], + "flags": [ + "no_update", + "no_create", + "no_search" + ], "hint": null, "include": null, - "label": "GECOS field", + "label": "Host Groups", "length": null, "maxlength": null, "minlength": null, "multivalue": false, - "name": "gecos", + "name": "memberhost_hostgroup", "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -3247,20 +3329,488 @@ "attribute": false, "autofill": false, "class": "Str", - "cli_name": "shell", + "cli_name": "memberallowcmd_sudocmd", "cli_short_name": null, - "default": "/bin/sh", - "doc": "Login shell", + "default": null, + "doc": "Sudo Allow Commands", "exclude": null, - "flags": [], + "flags": [ + "no_update", + "no_create", + "no_search" + ], "hint": null, "include": null, - "label": "Login shell", + "label": "Sudo Allow Commands", "length": null, "maxlength": null, "minlength": null, "multivalue": false, - "name": "loginshell", + "name": "memberallowcmd_sudocmd", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "memberdenycmd_sudocmd", + "cli_short_name": null, + "default": null, + "doc": "Sudo Deny Commands", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "hint": null, + "include": null, + "label": "Sudo Deny Commands", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "memberdenycmd_sudocmd", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "memberallowcmd_sudocmdgroup", + "cli_short_name": null, + "default": null, + "doc": "Sudo Command Groups", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "hint": null, + "include": null, + "label": "Sudo Command Groups", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "memberallowcmd_sudocmdgroup", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "memberdenycmd_sudocmdgroup", + "cli_short_name": null, + "default": null, + "doc": "Sudo Command Groups", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "hint": null, + "include": null, + "label": "Sudo Command Groups", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "memberdenycmd_sudocmdgroup", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + } + ], + "uuid_attribute": "ipauniqueid" + }, + "taskgroup": { + "attribute_members": { + "member": [ + "user", + "group", + "rolegroup" + ] + }, + "container_dn": "cn=taskgroups,cn=accounts", + "default_attributes": [ + "cn", + "description", + "member", + "memberof" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "Task Groups", + "methods": [ + "add", + "add_member", + "del", + "find", + "mod", + "remove_member", + "show" + ], + "name": "taskgroup", + "object_class": [ + "groupofnames" + ], + "object_class_config": null, + "object_name": "taskgroup", + "object_name_plural": "taskgroups", + "parent_object": "", + "primary_key": "cn", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "name", + "cli_short_name": null, + "default": null, + "doc": "Task-group name", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Task-group name", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "cn", + "pattern": null, + "pattern_errmsg": null, + "primary_key": true, + "query": false, + "required": true, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "desc", + "cli_short_name": null, + "default": null, + "doc": "Task-group description", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Description", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "description", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": true, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "member_group", + "cli_short_name": null, + "default": null, + "doc": "Member groups", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "hint": null, + "include": null, + "label": "Member groups", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "member_group", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "member_user", + "cli_short_name": null, + "default": null, + "doc": "Member users", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "hint": null, + "include": null, + "label": "Member users", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "member_user", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "member_rolegroup", + "cli_short_name": null, + "default": null, + "doc": "Member role-groups", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "hint": null, + "include": null, + "label": "Member role-groups", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "member_rolegroup", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + } + ], + "uuid_attribute": "" + }, + "user": { + "attribute_members": { + "memberof": [ + "group", + "netgroup", + "rolegroup", + "taskgroup" + ] + }, + "container_dn": "cn=users,cn=accounts", + "default_attributes": [ + "uid", + "givenname", + "sn", + "homedirectory", + "loginshell", + "ou", + "telephonenumber", + "title", + "memberof" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "Users", + "methods": [ + "add", + "del", + "disable", + "enable", + "find", + "mod", + "show" + ], + "name": "user", + "object_class": [ + "posixaccount" + ], + "object_class_config": "ipauserobjectclasses", + "object_name": "user", + "object_name_plural": "users", + "parent_object": "", + "primary_key": "uid", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "login", + "cli_short_name": null, + "default": null, + "doc": "User login", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "User login", + "length": null, + "maxlength": 33, + "minlength": null, + "multivalue": false, + "name": "uid", + "pattern": "^[a-zA-Z0-9_.][a-zA-Z0-9_.-]{0,30}[a-zA-Z0-9_.$-]?$", + "pattern_errmsg": "may only include letters, numbers, _, -, . and $", + "primary_key": true, + "query": false, + "required": true, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "first", + "cli_short_name": null, + "default": null, + "doc": "First name", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "First name", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "givenname", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": true, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "last", + "cli_short_name": null, + "default": null, + "doc": "Last name", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Last name", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "sn", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": true, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "homedir", + "cli_short_name": null, + "default": null, + "doc": "Home directory", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Home directory", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "homedirectory", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": true, + "class": "Str", + "cli_name": "gecos", + "cli_short_name": null, + "default": null, + "doc": "GECOS field", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "GECOS field", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "gecos", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "shell", + "cli_short_name": null, + "default": "/bin/sh", + "doc": "Login shell", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Login shell", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "loginshell", "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -3507,6 +4057,106 @@ "query": false, "required": false, "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "phone", + "cli_short_name": null, + "default": null, + "doc": "Telephone Number", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Telephone Number", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "telephonenumber", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "mobile", + "cli_short_name": null, + "default": null, + "doc": "Mobile Telephone Number", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Mobile Telephone Number", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "mobile", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "pager", + "cli_short_name": null, + "default": null, + "doc": "Pager Number", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Pager Number", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "pager", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "fax", + "cli_short_name": null, + "default": null, + "doc": "Fax Number", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Fax Number", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "facsimiletelephonenumber", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" } ], "uuid_attribute": "ipauniqueid" diff --git a/install/static/test/data/user_mod.json b/install/static/test/data/user_mod.json new file mode 100644 index 000000000..87c256273 --- /dev/null +++ b/install/static/test/data/user_mod.json @@ -0,0 +1,32 @@ +{ + "error": null, + "id": 6, + "result": { + "result": { + "givenname": [ + "Kermit" + ], + "homedirectory": [ + "/home/kfrog" + ], + "loginshell": [ + "/bin/sh" + ], + "memberof_group": [ + "ipausers", + "muppets" + ], + "sn": [ + "Frog" + ], + "title": [ + "reporter" + ], + "uid": [ + "kfrog" + ] + }, + "summary": "Modified user \"kfrog\"", + "value": "kfrog" + } +} \ No newline at end of file diff --git a/install/static/test/data/user_show.json b/install/static/test/data/user_show.json index 149b24f68..d3e324fde 100644 --- a/install/static/test/data/user_show.json +++ b/install/static/test/data/user_show.json @@ -1,17 +1,20 @@ { "error": null, - "id": 0, + "id": 6, "result": { "result": { "cn": [ "Kermit Frog" ], - "dn": "uid=kfrog,cn=users,cn=accounts,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com", + "dn": "uid=kfrog,cn=users,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "facsimiletelephonenumber": [ + "415-111-0990" + ], "gecos": [ "kfrog" ], "gidnumber": [ - "1079249051" + "1155230701" ], "givenname": [ "Kermit" @@ -20,27 +23,23 @@ "/home/kfrog" ], "ipauniqueid": [ - "41bcf085-8baa-11df-8155-00163e26b89e" + "ddbc79a1-cd9a-11df-98ae-525400674dcd" ], "krbprincipalname": [ - "kfrog@IDM.LAB.BOS.REDHAT.COM" + "kfrog@AYOUNG.BOSTON.DEVEL.REDHAT.COM" ], "loginshell": [ "/bin/sh" ], "mail": [ - "kfrog@redhat.com" - ], - "memberof": [ - "cn=ipausers,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", - "cn=muppets,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" - ], - "memberof_group": [ - "ipausers", - "muppets" - ], + "kermit@muppets.com" + ], + "memberof_group": [ + "ipausers", + "muppets" + ], "mepmanagedentry": [ - "cn=kfrog,cn=groups,cn=accounts,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com" + "cn=kfrog,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" ], "objectclass": [ "top", @@ -55,17 +54,25 @@ "ipaobject", "mepOriginEntry" ], + "pager": [ + "415-333-1882" + ], "sn": [ "Frog" ], + "telephonenumber": [ + "212-555-4444", + "415-333-1882", + "415-111-0990" + ], "uid": [ "kfrog" ], "uidnumber": [ - "1079249051" + "1155230701" ] }, "summary": null, "value": "kfrog" } -} +} \ No newline at end of file diff --git a/install/static/test/details_tests.html b/install/static/test/details_tests.html index e1b35251c..7c323610c 100644 --- a/install/static/test/details_tests.html +++ b/install/static/test/details_tests.html @@ -9,6 +9,8 @@ + + diff --git a/install/static/test/details_tests.js b/install/static/test/details_tests.js index 1a7efc10b..78d633634 100644 --- a/install/static/test/details_tests.js +++ b/install/static/test/details_tests.js @@ -19,40 +19,149 @@ */ - test("Testing ipa_details_create().", function() { - var fields = [ - {name:'cn', label:'Entity Name'}, - {name:'description', label:'Description'}, - {name:'number', label:'Entity ID'} - ]; - - var sections = [ - {name:'identity', label:'Entity Details', fields:fields} - ]; - - var identity = sections[0]; - var key = 'entity'; - - var container = $("
",{id: key}); - ipa_details_create(container, sections); - - same( - container[0].title, key, - "Checking container name" - ); - - var dl = container.find('dl#identity'); - ok( - dl, - "Checking section" - ); - - same( - dl[0].children.length, fields.length, - "Checking fields" - ); + var name = 'NAMENAMENAME'; + var identity = 'IDIDID'; + + var section = ipa_stanza({name:identity, label:name}). + input({name:'cn', label:'Entity Name'}). + input({name:'description', label:'Description'}). + input({name:'number', label:'Entity ID'}); + + + var details = section.fields; + var parent = $("
"); + var container = $("
"); + parent.append(container); + ipa_details_section_setup(parent,container, section); + + ok(parent.find('hr').length); + + var h2= parent.find('h2'); + ok(h2.length); + ok(h2[0].innerHTML.indexOf(name) > 1,"find name in html"); + + var dl = parent.find('dl'); + ok(dl.length); + same(dl[0].children.length,3,"children tag count"); + same(dl[0].id, identity,"identity"); + same(details[0].name, dl[0].children[0].title,"name"); + var d = dl[0].children[0].innerHTML; + same(details[0].label+":",d); + same(details[2].name,dl[0].children[2].title); + d = dl[0].children[2].innerHTML; + same(details[2].label+":" ,d); + +}); + + + +test("Testing details lifecycle:setup, load, save ().", function(){ + + var setup_status_called = false; + var save_password_called= false; + var load_manager_called = false; + var load_success_called = false; + var load_failure_called = false; + var update_success_called = false; + var update_failure_called = false; + + function setup_status(){ + setup_status_called = true; + } + + function save_password(){ + save_password_called = true; + return []; + } + + function load_manager(){ + load_manager_called = true; + } + + function setup_st(){ + } + var container = $("
"); + var obj_name = 'user'; + ipa_entity_set_details_definition(obj_name, [ + ipa_stanza({name:'identity', label:'Identity Details'}). + input({name:'title', label: 'Title'}). + input({name:'givenname', label:'First Name'}). + input({name:'sn', label:'Last Name'}). + input({name:'cn', label:'Full Name'}). + input({name:'displayname', label:'Dispaly Name'}). + input({name:'initials', label:'Initials'}), + ipa_stanza({name:'account', label:'Account Details'}). + input({name:'status', label:'Account Status', setup: setup_status}). + input({name:'uid', label:'Login'}). + input({name:'userpassword', label:'Password', save: save_password}). + input({name:'uidnumber', label:'UID'}). + input({name:'gidnumber', label:'GID'}). + input({name:'homedirectory', label:'homedirectory'}), + ipa_stanza({name:'contact', label:'Contact Details'}). + input({name:'mail', label:'E-mail Address'}). + input({name:'telephonenumber', label:'Numbers'}), + ipa_stanza({name:'address', label:'Mailing Address'}). + input({name:'street', label:'Address'}). + input({name:'location', label:'City'}). + input({name:'state', label:'State', setup: setup_st}). + input({name:'postalcode', label:'ZIP'}), + ipa_stanza({name:'employee', label:'Employee Information'}). + input({name:'ou', label:'Org. Unit'}). + input({name:'manager', label:'Manager', load: load_manager}), + ipa_stanza({name:'misc', label:'Misc. Information'}). + input({name:'carlicense', label:'Car License'}) + ]); + + ipa_details_create(container, ipa_entity_details_list[obj_name]); + + var contact = container.find('dl#contact.entryattrs'); + ok(contact); + var identity = container.find('dl#identity.entryattrs'); + ok(identity); + var dts= identity.find('dt'); + ok(dts); + same(6, dts.length); + same('initials',dts[5].title); + + //TODO extract into Fixture + ipa_ajax_options["async"] = false; + $.ajaxSetup(ipa_ajax_options); + ipa_json_url = './data'; + ipa_use_static_files = true; + + container.attr('id','user'); + + ok (setup_status_called , 'setup status called'); + + + ipa_details_load(container, + 'kfrog', + function(){load_success_called = true}, + function(){load_failure_called = true}) + + ok (load_success_called,'load success called'); + ok (!load_failure_called,'load failure not called'); + + + ok (load_manager_called, 'load manager called'); + + + ipa_details_load(container, + 'kfrog', + function(){load_success_called = true}, + function(){load_failure_called = true}) + + + ipa_details_update(container, + 'kfrog', + function(){update_success_called = true}, + function(){update_failure_called = true}) + + ok (update_success_called,'update success called'); + ok (!update_failure_called,'update failure not called'); + ok (save_password_called, 'save password called'); }); @@ -64,27 +173,22 @@ test("Testing _ipa_create_text_input().", function(){ var input = _ipa_create_text_input(name, value); ok(input,"input not null"); - same(input[0].name,name ); - same(input[0].value,value ); - same(input[0].type,"text" ); -}); + var text = input.find('input'); + ok(text); + same(text[0].name,name ); + same(text[0].value,value ); + same(text[0].type,"text" ); +}); test("Testing ipa_details_section_setup()",function(){ - var fields = [ - {name:'cn', label:'Entity Name'}, - {name:'description', label:'Description'}, - {name:'number', label:'Entity ID'} - ]; - - var section = { - name: 'IDIDID', - label: 'NAMENAMENAME', - fields: fields - }; - + var section = ipa_stanza({name: 'IDIDID', label: 'NAMENAMENAME'}). + input({name:'cn', label:'Entity Name'}). + input({name:'description', label:'Description'}). + input({name:'number', label:'Entity ID'}); + var fields = section.fields; var container = $("
"); var details = $("
"); container.append(details); @@ -106,4 +210,4 @@ test("Testing ipa_details_section_setup()",function(){ same(dl[0].children[2].title, fields[2].name); same(dl[0].children[2].innerHTML, fields[2].label+":"); -}); \ No newline at end of file +}); -- cgit