source: main/trunk/greenstone3/web/interfaces/default/transform/pages/authen.xsl@ 32387

Last change on this file since 32387 was 32387, checked in by kjdon, 6 years ago

removed Administration Page breadcrumb from Register and AccountSettings pages - these two are just for users, not for admin users, so don't give them link to Admin page which they can't access. Moved some code into templates to reduce the amount of duplicated code

  • Property svn:executable set to *
File size: 25.4 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<xsl:stylesheet version="1.0"
3 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
4 xmlns:java="http://xml.apache.org/xslt/java"
5 xmlns:gslib="http://www.greenstone.org/skinning"
6 xmlns:util="xalan://org.greenstone.gsdl3.util.XSLTUtil"
7 extension-element-prefixes="java util"
8 exclude-result-prefixes="java util">
9
10 <!-- use the 'main' layout -->
11 <xsl:import href="layouts/main.xsl"/>
12 <xsl:output method="html"/>
13
14 <!-- add recaptcha js to the head -->
15 <xsl:template name="additionalHeaderContent-page">
16 <script src='https://www.google.com/recaptcha/api.js'><xsl:text> </xsl:text></script>
17 </xsl:template>
18
19 <!-- set page title -->
20 <xsl:template name="pageTitle">
21 <xsl:choose>
22 <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'AddUser'">
23 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.add_a_new_user_title')"/>
24 </xsl:when>
25 <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'Register'">
26 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.register')"/>
27 </xsl:when>
28 <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'EditUser'">
29 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.edit_user_information')"/>
30 </xsl:when>
31 <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'AccountSettings'">
32 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.account_settings')"/>
33 </xsl:when>
34 <xsl:otherwise>
35 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.authentication')"/>
36 </xsl:otherwise>
37 </xsl:choose>
38 </xsl:template>
39
40 <!-- set page breadcrumbs -->
41 <xsl:template name="breadcrumbs">
42 <gslib:siteLink/><xsl:if test="/page/pageResponse/authenticationNode/service/@operation != 'AccountSettings' and /page/pageResponse/authenticationNode/service/@operation != 'Register'"><gslib:rightArrow/><a href="{$library_name}/admin/ListUsers"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.authentication')"/></a></xsl:if>
43 </xsl:template>
44
45 <xsl:template match="/page">
46 <xsl:if test="/page/pageResponse/error">
47 <div id="gs_error" class="ui-state-error ui-corner-all">
48 <span class="ui-icon ui-icon-alert" style="float: left;"><xsl:text> </xsl:text></span><xsl:value-of select="/page/pageResponse/error"/>
49 </div>
50 <br/>
51 </xsl:if>
52 <div id="main">
53 <xsl:choose>
54 <!-- ********** -->
55 <!-- LOGIN PAGE: this page is used when the user has been directed to Login by trying to access a restricted page when they are not already logged in
56 If they click the login button, then the login.xsl is used -->
57 <!-- ********** -->
58 <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'Login'">
59
60 <form method="POST" action="{$library_name}/admin/{/page/pageRequest/paramList/param[@name = 's1.authpage']/@value}">
61 <table id="loginTable">
62 <tr><td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.username')"/>: </td><td><input type="text" name="username"/></td></tr>
63 <tr><td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.password')"/>: </td><td><input type="password" name="password"/></td></tr>
64 <tr><td><input type="submit" value="Login"/></td><td><xsl:text> </xsl:text></td></tr>
65 </table>
66 </form>
67 <script type="text/javascript">
68 <xsl:text disable-output-escaping="yes">
69 {
70 $("#loginTable input[name=\"username\"]").focus();
71 }
72 </xsl:text>
73 </script>
74 </xsl:when>
75
76 <!-- *************** -->
77 <!-- LIST USERS PAGE -->
78 <!-- *************** -->
79 <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'ListUsers'">
80 <table id="userListTable">
81 <tr class="ui-widget-header">
82 <td colspan="7"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.list_of_current_users_title')"/></td>
83 </tr>
84 <tr class="ui-state-default">
85 <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.username')"/></td>
86 <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.account_status')"/></td>
87 <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.groups')"/></td>
88 <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.comment')"/></td>
89 <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.email')"/></td>
90 <td><xsl:text> </xsl:text></td>
91 <td><xsl:text> </xsl:text></td>
92 </tr>
93 <xsl:for-each select="/page/pageResponse/authenticationNode/service/userNodeList/userNode">
94 <tr class="ui-widget-content">
95 <td><xsl:value-of select="@username"/></td>
96 <td>
97 <xsl:choose>
98 <xsl:when test="@status = 'true'">
99 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.enabled')"/>
100 </xsl:when>
101 <xsl:otherwise>
102 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.disabled')"/>
103 </xsl:otherwise>
104 </xsl:choose>
105 </td>
106 <td><xsl:value-of select='util:replace(@groups, ",", " ")'/></td>
107 <td><xsl:value-of select="@comment"/></td>
108 <td><xsl:value-of select="@email"/></td>
109 <td><a href="{$library_name}/admin/EditUser?s1.username={@username}"><button><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.edit')"/></button></a></td>
110 <td>
111 <xsl:variable name="user-pos">username<xsl:number value="position()"/></xsl:variable>
112 <xsl:variable name="message-pos">confirmMessage<xsl:number value="position()"/></xsl:variable>
113 <form method="GET" action="{$library_name}/admin/PerformDeleteUser">
114 <input type="hidden" name="s1.username" value="{@username}"/>
115 <input id="delUser{@username}" type="submit" value="{util:getInterfaceText($interface_name, /page/@lang, 'authen.delete')}"/>
116 <script type="text/javascript">
117 <xsl:text disable-output-escaping="yes">
118 {
119 var </xsl:text><xsl:value-of select="$user-pos"/><xsl:text disable-output-escaping="yes"> = "</xsl:text><xsl:value-of select="@username"/><xsl:text disable-output-escaping="yes">";
120 var </xsl:text><xsl:value-of select="$message-pos"/><xsl:text disable-output-escaping="yes"> = "</xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.delete_warning')"/><xsl:text disable-output-escaping="yes">" + </xsl:text><xsl:value-of select="$user-pos"/><xsl:text disable-output-escaping="yes"> + "?";
121 var button = $("#delUser" + </xsl:text><xsl:value-of select="$user-pos"/><xsl:text disable-output-escaping="yes">);
122 button.click(function()
123 {
124 if(confirm(</xsl:text><xsl:value-of select="$message-pos"/><xsl:text disable-output-escaping="yes">))
125 {
126 return true;
127 }
128 else
129 {
130 return false;
131 }
132 });
133 }
134 </xsl:text>
135 </script>
136 </form>
137 </td>
138 </tr>
139 </xsl:for-each>
140 </table>
141 <div id="auth_navbar">
142 <!-- Add User link-->
143 <span class="ui-state-default ui-corner-all">
144 <a href="{$library_name}/admin/AddUser"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.add_a_new_user')"/></a>
145 </span>
146 </div>
147 </xsl:when>
148
149 <!-- ********************************* -->
150 <!-- EDIT USER / ACCOUNT SETTINGS PAGE -->
151 <!-- ********************************* -->
152 <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'EditUser' or /page/pageResponse/authenticationNode/service/@operation = 'AccountSettings'">
153 <form method="POST">
154 <xsl:attribute name="action">
155 <xsl:choose>
156 <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'EditUser'">
157 <xsl:value-of select="$library_name"/><xsl:text>/admin/PerformEdit</xsl:text>
158 </xsl:when>
159 <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'AccountSettings'">
160 <xsl:value-of select="$library_name"/><xsl:text>/admin/PerformAccEdit</xsl:text>
161 </xsl:when>
162 </xsl:choose>
163 </xsl:attribute>
164 <input type="hidden" name="s1.prevUsername" value="{/page/pageResponse/authenticationNode/service/userNodeList/userNode/@username}"/>
165 <table>
166 <tr>
167 <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.username')"/><xsl:text>: </xsl:text></td>
168 <td>
169 <input type="text" name="s1.newUsername" value="{/page/pageResponse/authenticationNode/service/userNodeList/userNode/@username}"/>
170 </td>
171 </tr>
172 <tr>
173 <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.email')"/><xsl:text>: </xsl:text></td>
174 <td>
175 <input type="text" name="s1.newEmail" value="{/page/pageResponse/authenticationNode/service/userNodeList/userNode/@email}"/>
176 </td>
177 </tr>
178 <xsl:choose>
179 <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'EditUser'">
180 <tr>
181 <td id="passwordLabelCell">
182 <button id="changePasswordButton"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.change_password')"/>...</button>
183 <script type="text/javascript">
184 <xsl:text disable-output-escaping="yes">
185 var passwordLabelText = "</xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.password')"/><xsl:text disable-output-escaping="yes">";
186 var changePasswordButton = document.getElementById("changePasswordButton");
187 changePasswordButton.onclick = function()
188 {
189 changePasswordButton.parentNode.removeChild(changePasswordButton);
190
191 var passwordLabel = document.createTextNode(passwordLabelText + ": ");
192 document.getElementById("passwordLabelCell").appendChild(passwordLabel);
193
194 var passwordInput = document.createElement("INPUT");
195 passwordInput.setAttribute("name", "s1.password");
196 passwordInput.setAttribute("type", "password");
197 document.getElementById("passwordInputCell").appendChild(passwordInput);
198 }
199 </xsl:text>
200 </script>
201 </td>
202 <td id="passwordInputCell">
203 <xsl:text> </xsl:text>
204 </td>
205 </tr>
206 </xsl:when>
207 <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'AccountSettings'">
208 <tr>
209 <xsl:if test="not(/page/pageResponse/error/@type = 'INCORRECT_PASSWORD')">
210 <td><button id="changePasswordButton"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.change_password')"/>...</button></td>
211 <script type="text/javascript">
212 <xsl:text disable-output-escaping="yes">
213 var oldPasswordLabelText = "</xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.old_password')"/><xsl:text disable-output-escaping="yes">";
214 var newPasswordLabelText = "</xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.new_password')"/><xsl:text disable-output-escaping="yes">";
215 var rtNewPasswordLabelText = "</xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.retype_password')"/><xsl:text disable-output-escaping="yes">";
216
217 var changePasswordButton = document.getElementById("changePasswordButton");
218 changePasswordButton.onclick = function()
219 {
220 changePasswordButton.parentNode.removeChild(changePasswordButton);
221
222 var names = ["s1.oldPassword", "s1.newPassword", ""];
223 var ids = ["oldPassword", "passwordOne", "passwordTwo"];
224 var labels = [oldPasswordLabelText, newPasswordLabelText, rtNewPasswordLabelText];
225 var parents = ["oldPassword", "password", "retypePassword"];
226
227 for(var i = 0; i &lt; names.length; i++)
228 {
229 $("#" + parents[i] + "LabelCell").append(labels[i] + ": ");
230
231 var input = $("&lt;input&gt;");
232 input.attr("name", names[i]);
233 input.attr("type", "password");
234 input.attr("id", ids[i]);
235
236 $("#" + parents[i] + "InputCell").append(input);
237 }
238 }
239 </xsl:text>
240 </script>
241 </xsl:if>
242 </tr>
243
244 <xsl:choose>
245 <xsl:when test="not(/page/pageResponse/error/@type = 'INCORRECT_PASSWORD')">
246 <tr>
247 <td id="oldPasswordLabelCell"><xsl:text> </xsl:text></td>
248 <td id="oldPasswordInputCell"><xsl:text> </xsl:text></td>
249 </tr>
250 <tr>
251 <td id="passwordLabelCell"><xsl:text> </xsl:text></td>
252 <td id="passwordInputCell"><xsl:text> </xsl:text></td>
253 </tr>
254 <tr>
255 <td id="retypePasswordLabelCell"><xsl:text> </xsl:text></td>
256 <td id="retypePasswordInputCell"><xsl:text> </xsl:text></td>
257 </tr>
258 </xsl:when>
259 <xsl:otherwise>
260 <tr>
261 <td id="oldPasswordLabelCell"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.old_password')"/></td>
262 <td id="oldPasswordInputCell"><input id="oldPassword" name="s1.oldPassword" type="password"/></td>
263 </tr>
264 <tr>
265 <td id="passwordLabelCell"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.new_password')"/></td>
266 <td id="passwordInputCell"><input id="passwordOne" name="s1.newPassword" type="password"/></td>
267 </tr>
268 <tr>
269 <td id="retypePasswordLabelCell"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.retype_password')"/></td>
270 <td id="retypePasswordInputCell"><input id="passwordTwo" type="password"/></td>
271 </tr>
272 </xsl:otherwise>
273 </xsl:choose>
274 </xsl:when>
275 </xsl:choose>
276 <xsl:if test="/page/pageResponse/authenticationNode/service/@operation = 'EditUser'">
277 <xsl:call-template name="addGroupInputField"><xsl:with-param name="default_value"><xsl:value-of select="/page/pageResponse/authenticationNode/service/userNodeList/userNode/@groups"/></xsl:with-param></xsl:call-template>
278 <tr>
279 <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.comment')"/><xsl:text>: </xsl:text></td>
280 <td>
281 <textarea name="s1.comment" style="width:100%;"><xsl:value-of select="/page/pageResponse/authenticationNode/service/userNodeList/userNode/@comment"/></textarea>
282 </td>
283 </tr>
284 <tr>
285 <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.status')"/><xsl:text>: </xsl:text></td>
286 <td>
287 <input type="radio" name="s1.status" value="true">
288 <xsl:if test="/page/pageResponse/authenticationNode/service/userNodeList/userNode/@status = 'true'">
289 <xsl:attribute name="checked">true</xsl:attribute>
290 </xsl:if>
291 </input>
292 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.enabled')"/><xsl:text> </xsl:text>
293
294 <input type="radio" name="s1.status" value="false">
295 <xsl:if test="/page/pageResponse/authenticationNode/service/userNodeList/userNode/@status = 'false'">
296 <xsl:attribute name="checked">true</xsl:attribute>
297 </xsl:if>
298 </input>
299 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.disabled')"/><xsl:text> </xsl:text>
300 </td>
301 </tr>
302 </xsl:if>
303 <tr>
304 <td>
305 <input id="submitButton" type="submit" value="{util:getInterfaceText($interface_name, /page/@lang, 'authen.submit')}"/>
306 <xsl:if test="/page/pageResponse/authenticationNode/service/@operation = 'AccountSettings'">
307 <xsl:call-template name="addPasswordCheckJavascript"/>
308 </xsl:if>
309 </td>
310 </tr>
311 <!--<tr>
312 <td style="font-size:0.6em;"><a href="{$library_name}/admin/PerformResetPassword?s1.username={/page/pageResponse/authenticationNode/service/userNodeList/userNode/@username}"><br/><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.reset_password')"/>...</a></td>
313 </tr>-->
314 </table>
315 </form>
316 </xsl:when>
317
318 <!-- ************************ -->
319 <!-- ADD USER / REGISTER PAGE -->
320 <!-- ************************ -->
321 <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'AddUser' or /page/pageResponse/authenticationNode/service/@operation = 'Register'">
322 <div id="errorArea"><xsl:text> </xsl:text></div>
323 <form method="POST" id="registerForm">
324 <xsl:attribute name="action">
325 <xsl:choose>
326 <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'AddUser'">
327 <xsl:value-of select="$library_name"/><xsl:text>/admin/PerformAdd</xsl:text>
328 </xsl:when>
329 <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'Register'">
330 <xsl:value-of select="$library_name"/><xsl:text>/admin/PerformRegister</xsl:text>
331 </xsl:when>
332 </xsl:choose>
333 </xsl:attribute>
334 <table>
335 <tr>
336 <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.username')"/><xsl:text>: </xsl:text></td>
337 <td>
338 <input type="text" name="s1.username"/>
339 </td>
340 </tr>
341 <tr>
342 <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.password')"/><xsl:text>: </xsl:text></td>
343 <td>
344 <input id="passwordOne" type="password" name="s1.password"/>
345 </td>
346 </tr>
347 <tr>
348 <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.retype_password')"/><xsl:text>: </xsl:text></td>
349 <td>
350 <input id="passwordTwo" type="password"/>
351 </td>
352 </tr>
353 <tr>
354 <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.email')"/><xsl:text>: </xsl:text></td>
355 <td>
356 <input type="text" name="s1.email"/>
357 </td>
358 </tr>
359 <xsl:if test="/page/pageResponse/authenticationNode/service/@operation = 'AddUser'">
360 <xsl:call-template name="addGroupInputField"/>
361 <tr>
362 <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.comment')"/><xsl:text>: </xsl:text></td>
363 <td>
364 <textarea name="s1.comment" style="width:100%;"><xsl:text> </xsl:text></textarea>
365 </td>
366 </tr>
367 <tr>
368 <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.status')"/><xsl:text>: </xsl:text></td>
369 <td>
370 <input type="radio" name="s1.status" value="true" checked="true"/><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.enabled')"/><xsl:text> </xsl:text>
371 <input type="radio" name="s1.status" value="false"/><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.disabled')"/><xsl:text> </xsl:text>
372 </td>
373 </tr>
374 </xsl:if>
375 <xsl:call-template name="addRecaptcha">
376 <xsl:with-param name="formName">registerForm</xsl:with-param>
377 </xsl:call-template>
378 <tr>
379 <td>
380 <input id="submitButton" type="submit" value="{util:getInterfaceText($interface_name, /page/@lang, 'authen.submit')}"/>
381 <xsl:call-template name="addPasswordCheckJavascript"/>
382 </td>
383 </tr>
384 </table>
385 </form>
386 </xsl:when>
387
388 <!-- ********************** -->
389 <!-- REGISTER RESPONSE PAGE -->
390 <!-- ********************** -->
391 <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'PerformRegister'">
392 <xsl:choose>
393 <xsl:when test="/page/pageResponse/error">
394 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.error_failed_to_add')"/>
395 </xsl:when>
396 <xsl:otherwise>
397 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.user_added_success')"/>
398 <meta http-equiv="refresh" content="2; url={/page/pageRequest/@baseURL}{$library_name}"/>
399 </xsl:otherwise>
400 </xsl:choose>
401 </xsl:when>
402
403 <xsl:when test="/page/pageResponse/authenticationNode/service/@operation = 'Info'">
404 <!-- do nothing -->
405 </xsl:when>
406 <xsl:otherwise>
407 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.page_not_found')"/>
408 </xsl:otherwise>
409 </xsl:choose>
410 </div>
411 </xsl:template>
412
413 <xsl:template name="addGroupInputField">
414 <xsl:param name="default_value"/>
415 <tr>
416 <td><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.groups')"/><xsl:text>: </xsl:text></td>
417 <td>
418 <input id="groupsInput" size="50" type="text" name="s1.groups" value="{$default_value}"/>
419 </td>
420 <td>
421 <select id="groupSelector">
422 <option>COLLNAME-collection-editor</option>
423 <option>personal-collections-editor</option>
424 <option>all-collections-editor</option>
425 <option>administrator</option>
426 </select>
427 </td>
428 <td>
429 <button id="addGroupButton"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.add_group')"/></button>
430 <script type="text/javascript">
431 <xsl:text disable-output-escaping="yes">
432 var addGroupButton = document.getElementById("addGroupButton");
433 addGroupButton.onclick = function()
434 {
435 var groupsInput = document.getElementById("groupsInput");
436 var groupSelector = document.getElementById("groupSelector");
437 var options = groupSelector.getElementsByTagName("OPTION");
438 var selectedGroup = options[groupSelector.selectedIndex].innerHTML;
439 var currentValue = groupsInput.value;
440
441 if(currentValue &amp;&amp; currentValue.search(/\w/) != -1)
442 {
443 groupsInput.value = currentValue + "," + selectedGroup;
444 }
445 else
446 {
447 groupsInput.value = selectedGroup;
448 }
449 return false;
450 }
451 </xsl:text>
452 </script>
453 </td>
454 </tr>
455 <tr><td colspan="4"><xsl:value-of select="util:getInterfaceText('default', /page/@lang, 'authen.group_desc')"/><ul><li><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.admin_desc')"/></li><li><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.all_coll_edit_desc')"/> </li> <li><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.pers_coll_edit_desc')"/></li><li><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'authen.single_coll_edit_desc')"/> </li></ul></td></tr>
456
457 </xsl:template>
458
459 <xsl:template name="addPasswordCheckJavascript">
460 <script type="text/javascript">
461 <xsl:text disable-output-escaping="yes">
462 $("#submitButton").click(function()
463 {
464 var passwordOne = $("#passwordOne");
465 var passwordTwo = $("#passwordTwo");
466
467 if(passwordOne.val() != passwordTwo.val())
468 {
469 alert("The passwords you have entered do not match");
470 return false;
471 }
472 else
473 {
474 return true;
475 }
476 });
477 </xsl:text>
478 </script>
479
480 </xsl:template>
481
482 <!-- adds in recaptcha box if the recaptcha_key attribute is set for authenticationNode/service - this is determined by operations element in Authentication serviceRack -->
483 <xsl:template name="addRecaptcha">
484 <xsl:param name="formName"/>
485 <xsl:variable name="recaptcha_key"><xsl:value-of select="/page/pageResponse/authenticationNode/service/@recaptcha_key"/></xsl:variable>
486 <xsl:if test="$recaptcha_key">
487 <tr>
488 <td colspan="2">
489 <div class="g-recaptcha" data-sitekey="{$recaptcha_key}"><xsl:text> </xsl:text></div>
490 <!-- need to add s1. to the name of g-recaptcha-response, so that it gets passed to the service -->
491 <script type="text/javascript">
492 <xsl:text disable-output-escaping="yes">
493 $( "#</xsl:text><xsl:value-of select="$formName"/><xsl:text disable-output-escaping="yes">").submit(function( event ) {
494 var captchaelem = $("#g-recaptcha-response");
495 captchaelem.attr("name", "s1.g-recaptcha-response");
496 return true;
497 });
498
499 </xsl:text>
500 </script>
501 </td></tr>
502 </xsl:if>
503 </xsl:template>
504</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.