summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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 113c1f125..02940b6ca 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 6a7c40b01..7347dfceb 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 a8954be19..11880c84a 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);
+}