diff options
Diffstat (limited to 'ipa-server/ipa-gui/ipagui/templates/dynamiceditsearch.kid')
-rw-r--r-- | ipa-server/ipa-gui/ipagui/templates/dynamiceditsearch.kid | 79 |
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 < 0"> + $('search-results-count').appendChild(document.createTextNode( + " (truncated)")); + </script> +</div> |