summaryrefslogtreecommitdiffstats
path: root/ipa-server/ipa-gui/ipagui/templates/dynamiceditsearch.kid
diff options
context:
space:
mode:
Diffstat (limited to 'ipa-server/ipa-gui/ipagui/templates/dynamiceditsearch.kid')
-rw-r--r--ipa-server/ipa-gui/ipagui/templates/dynamiceditsearch.kid79
1 files changed, 79 insertions, 0 deletions
diff --git a/ipa-server/ipa-gui/ipagui/templates/dynamiceditsearch.kid b/ipa-server/ipa-gui/ipagui/templates/dynamiceditsearch.kid
new file mode 100644
index 000000000..f69b11213
--- /dev/null
+++ b/ipa-server/ipa-gui/ipagui/templates/dynamiceditsearch.kid
@@ -0,0 +1,79 @@
+<div xmlns:py="http://purl.org/kid/ns#">
+
+<?python
+from ipagui.helpers import ipahelper
+#
+# This file is used to render the results from an AJAX search onto a page.
+# It has many expectations of the page being rendered into:
+# - Source page must have included dynamicedit.js and followed all of its
+# requirements
+#
+?>
+ <div id="search-results-count">
+ </div>
+ <?python
+ criteria_esc = ipahelper.javascript_string_escape(criteria)
+ ?>
+ <script type="text/javascript">
+ search_string = "${criteria_esc}";
+ results_counter = 0;
+ </script>
+ <?python search_div_counter = 1 ?>
+ <div py:for="entities in (users, groups)">
+ <div py:if='(entities != None) and (len(entities) > 0)'>
+ <div py:for="entity in entities" id="search-${search_div_counter}">
+ <?python
+ ent_dn_esc = ipahelper.javascript_string_escape(entity.dn)
+ ent_uid = entity.uid
+ if ent_uid:
+ ent_name = "%s %s" % (entity.givenName, entity.sn)
+ ent_descr = "(%s)" % entity.uid
+ ent_type = "user"
+ else:
+ ent_name = entity.cn
+ ent_descr = "[group]"
+ ent_type = "group"
+ ent_name_esc = ipahelper.javascript_string_escape(ent_name)
+ ent_descr_esc = ipahelper.javascript_string_escape(ent_descr)
+ ent_type_esc = ipahelper.javascript_string_escape(ent_type)
+ ?>
+ <span id="search-info-${search_div_counter}"></span>
+ <script type="text/javascript">
+ if ((added_hash["${ent_dn_esc}"] == 1) ||
+ (member_hash["${ent_dn_esc}"] == 1)) {
+ $("search-${search_div_counter}").style.display = 'none';
+ } else {
+ results_counter = results_counter + 1;
+ }
+
+ renderMemberInfo($('search-info-${search_div_counter}'),
+ new MemberDisplayInfo('${ent_name_esc}',
+ '${ent_descr_esc}',
+ '${ent_type_esc}'));
+ </script>
+ <a href=""
+ onclick="addmemberHandler(this, '${ent_dn_esc}',
+ new MemberDisplayInfo('${ent_name_esc}',
+ '${ent_descr_esc}',
+ '${ent_type_esc}'));
+ return false;"
+ >add</a>
+ <?python
+ search_div_counter = search_div_counter + 1
+ ?>
+ </div>
+ </div>
+ </div>
+ <script type="text/javascript">
+ if (results_counter == 0) {
+ var message = "No results found for " + search_string;
+ } else {
+ var message = results_counter + " results found:";
+ }
+ $('search-results-count').appendChild(document.createTextNode(message));
+ </script>
+ <script py:if="counter &lt; 0">
+ $('search-results-count').appendChild(document.createTextNode(
+ " (truncated)"));
+ </script>
+</div>