summaryrefslogtreecommitdiffstats
path: root/install
diff options
context:
space:
mode:
authorEndi Sukma Dewata <edewata@redhat.com>2010-09-14 22:26:15 -0400
committerAdam Young <ayoung@redhat.com>2010-09-17 19:42:41 -0400
commit2fd311ad489e8c301d3069ad3c01d80f279369c3 (patch)
tree57c0fa0fdee6deb598226d0be86e462584e38b3c /install
parent6a4a1dcf3c8cb198b0dbeb157295903f6b958ac7 (diff)
downloadfreeipa-2fd311ad489e8c301d3069ad3c01d80f279369c3.tar.gz
freeipa-2fd311ad489e8c301d3069ad3c01d80f279369c3.tar.xz
freeipa-2fd311ad489e8c301d3069ad3c01d80f279369c3.zip
Adding quick links in user and group search results.
The render_call() signature has been modified to pass the entry_attrs so each callback function can construct the appropriate quick links using any attributes from the search results. The callback function has been implemented for user and group entities.
Diffstat (limited to 'install')
-rw-r--r--install/static/group.js44
-rw-r--r--install/static/search.js6
-rw-r--r--install/static/user.js58
3 files changed, 104 insertions, 4 deletions
diff --git a/install/static/group.js b/install/static/group.js
index 113c1f12..02940b6c 100644
--- a/install/static/group.js
+++ b/install/static/group.js
@@ -24,6 +24,7 @@ ipa_entity_set_search_definition('group', [
['cn', 'Name', null],
['gidnumber', 'GID', null],
['description', 'Description', null],
+ ['quick_links', 'Quick Links', group_render_quick_links]
]);
ipa_entity_set_add_definition('group', [
@@ -64,3 +65,46 @@ function f_posix(dlg, mode)
}
}
+function group_render_quick_links(tr, attr, value, entry_attrs) {
+
+ var td = $("<td/>");
+ tr.append(td);
+
+ $("<a/>", {
+ href: "jslink",
+ html: "[D]",
+ click: function() {
+ var state = {};
+ state['group-facet'] = 'details';
+ state['group-pkey'] = entry_attrs['cn'][0];
+ $.bbq.pushState(state);
+ return false;
+ }
+ }).appendTo(td);
+
+ $("<a/>", {
+ href: "jslink",
+ html: "[U]",
+ click: function() {
+ var state = {};
+ state['group-facet'] = 'associate';
+ state['group-enroll'] = 'user';
+ state['group-pkey'] = entry_attrs['cn'][0];
+ $.bbq.pushState(state);
+ return false;
+ }
+ }).appendTo(td);
+
+ $("<a/>", {
+ href: "jslink",
+ html: "[N]",
+ click: function() {
+ var state = {};
+ state['group-facet'] = 'associate';
+ state['group-enroll'] = 'netgroup';
+ state['group-pkey'] = entry_attrs['cn'][0];
+ $.bbq.pushState(state);
+ return false;
+ }
+ }).appendTo(td);
+}
diff --git a/install/static/search.js b/install/static/search.js
index 6a7c40b0..7347dfce 100644
--- a/install/static/search.js
+++ b/install/static/search.js
@@ -113,9 +113,9 @@ function search_generate_tr(thead, tbody, entry_attrs)
var value = entry_attrs[attr];
var render_call = window[jobj.attr('title')];
- if (typeof render_call == 'function')
- render_call(tr, attr, value);
- else
+ if (typeof render_call == 'function') {
+ render_call(tr, attr, value, entry_attrs);
+ } else
search_generate_td(tr, attr, value);
}
diff --git a/install/static/user.js b/install/static/user.js
index a8954be1..11880c84 100644
--- a/install/static/user.js
+++ b/install/static/user.js
@@ -27,7 +27,7 @@ ipa_entity_set_search_definition('user', [
['mail', 'EMAIL', null],
['telephonenumber', 'Phone', null],
['title', 'Job Title', null],
- ['actions', 'Actions', null]
+ ['quick_links', 'Quick Links', user_render_quick_links]
]);
ipa_entity_set_add_definition('user', [
@@ -209,3 +209,59 @@ function a_manager(jobj, result, mode)
{
}
+function user_render_quick_links(tr, attr, value, entry_attrs) {
+
+ var td = $("<td/>");
+ tr.append(td);
+
+ $("<a/>", {
+ href: "jslink",
+ html: "[D]",
+ click: function() {
+ var state = {};
+ state['user-facet'] = 'details';
+ state['user-pkey'] = entry_attrs['uid'][0];
+ $.bbq.pushState(state);
+ return false;
+ }
+ }).appendTo(td);
+
+ $("<a/>", {
+ href: "jslink",
+ html: "[G]",
+ click: function() {
+ var state = {};
+ state['user-facet'] = 'associate';
+ state['user-enroll'] = 'group';
+ state['user-pkey'] = entry_attrs['uid'][0];
+ $.bbq.pushState(state);
+ return false;
+ }
+ }).appendTo(td);
+
+ $("<a/>", {
+ href: "jslink",
+ html: "[N]",
+ click: function() {
+ var state = {};
+ state['user-facet'] = 'associate';
+ state['user-enroll'] = 'netgroup';
+ state['user-pkey'] = entry_attrs['uid'][0];
+ $.bbq.pushState(state);
+ return false;
+ }
+ }).appendTo(td);
+
+ $("<a/>", {
+ href: "jslink",
+ html: "[R]",
+ click: function() {
+ var state = {};
+ state['user-facet'] = 'associate';
+ state['user-enroll'] = 'role';
+ state['user-pkey'] = entry_attrs['uid'][0];
+ $.bbq.pushState(state);
+ return false;
+ }
+ }).appendTo(td);
+}