Changeset 7530
Legend:
- Unmodified
- Added
- Removed
-
trunk/www/login.js
r7529 r7530 33 33 login.initPage = function() 34 34 { 35 // If there is no requested login form, we try to use the last one that was used 36 var requestedForm = Data.get(document.body, 'requested-form'); 37 if (!requestedForm) 38 { 39 var lastLoginForm = login.getLastLoginForm(); 40 var selectedLoginForm = Data.get(document.body, 'login-form'); 41 if (lastLoginForm && lastLoginForm != selectedLoginForm) 42 { 43 login.switchLoginForm(lastLoginForm); 44 return; 45 } 46 } 47 35 48 // Information links 36 49 Buttons.addClickHandler('aboutServer', login.showAbout); … … 44 57 Buttons.addClickHandler('close', App.closeWindow); 45 58 46 Events.addEventHandler('loginForm', 'change', login. switchLoginForm);59 Events.addEventHandler('loginForm', 'change', login.loginFormOnChange); 47 60 48 61 var extraField = Doc.element('extraField'); … … 70 83 } 71 84 72 login.switchLoginForm = function(event) 73 { 74 // TODO -- will not work when login form is in a different jsp 85 86 login.loginFormOnChange = function(event) 87 { 88 login.switchLoginForm(event.currentTarget.value); 89 } 90 91 login.switchLoginForm = function(loginForm) 92 { 75 93 var url = 'main.jsp?ID='+App.getSessionId(); 76 url += '&loginForm='+e vent.currentTarget.value;94 url += '&loginForm='+encodeURIComponent(loginForm); 77 95 location.replace(url); 78 96 } … … 141 159 return lastLogin; 142 160 } 161 162 163 /* 164 Save the last login form. If local storage is available we use that, 165 otherwise we simply save it on the top frameset. 166 */ 167 login.saveLastLoginForm = function(lastLoginForm) 168 { 169 var storage = App.localStorage(); 170 if (storage) 171 { 172 App.setLocal('last-login-form', lastLoginForm); 173 } 174 else 175 { 176 App.topWindow().lastLoginForm = lastLoginForm; 177 } 178 } 179 180 /** 181 Get the last used login form. If local storage is available we 182 use that, otherwise we use the top frameset. 183 */ 184 login.getLastLoginForm = function() 185 { 186 var lastLoginForm; 187 var storage = App.localStorage(); 188 if (storage) 189 { 190 lastLoginForm = App.getLocal('last-login-form'); 191 } 192 if (!lastLoginForm) 193 { 194 lastLoginForm = App.topWindow().lastLoginForm; 195 } 196 return lastLoginForm; 197 } 198 143 199 144 200 /** … … 202 258 } 203 259 204 alert(frm.loginForm.value);205 206 260 // On the impersonate form, check that a user has been selected 207 261 if (frm.user_id && !frm.user_id.value) … … 216 270 Login.saveLastLogin(frm.login.value); 217 271 } 218 // TODO -- save the login form 272 if (frm.loginForm) 273 { 274 Login.saveLastLoginForm(frm.loginForm.value); 275 } 219 276 220 277 // Check 'remain on page' and 'redirect' options … … 246 303 var frm2 = Forms.cloneAsHidden(frm); 247 304 document.body.appendChild(frm2); 248 alert(frm2.loginForm.value);249 305 frm2.submit(); 250 306 document.body.removeChild(frm2); -
trunk/www/login.jsp
r7529 r7530 61 61 String message = null; 62 62 String login = request.getParameter("login"); 63 String loginForm = Values.getStringOrNull(request.getParameter("loginForm")); 63 64 64 65 if ("Login".equals(cmd) || cmd == null) … … 67 68 String deviceToken = Values.getStringOrNull(request.getParameter("deviceToken")); 68 69 String extraValue = Values.getStringOrNull(request.getParameter("extraField")); 69 String loginForm = Values.getStringOrNull(request.getParameter("loginForm"));70 70 try 71 71 { … … 233 233 if (errorMessage != null) 234 234 { 235 response.sendRedirect(root+"main.jsp?ID="+ID+"&login="+HTML.urlEncode(login)+"& error="+HTML.urlEncode(errorMessage));235 response.sendRedirect(root+"main.jsp?ID="+ID+"&login="+HTML.urlEncode(login)+"&loginForm="+HTML.encodeTags(loginForm)+"&error="+HTML.urlEncode(errorMessage)); 236 236 } 237 237 else -
trunk/www/main.jsp
r7529 r7530 116 116 bean.setPasswordField(FieldInfo.DEFAULT_PASSWORD); 117 117 loginAction = bean; 118 selectedLoginForm = "password"; 118 119 } 119 120 … … 127 128 <ext:stylesheets context="<%=jspContext%>" /> 128 129 </base:head> 129 <base:body style="padding-top: 5em;" data-login-form="<%= Values.getString(selectedLoginForm)%>">130 <base:body style="padding-top: 5em;" data-login-form="<%=HTML.encodeTags(selectedLoginForm)%>" data-requested-form="<%=HTML.encodeTags(requestedLoginForm) %>"> 130 131 <form name="login" action="login.jsp" method="post"> 131 132 <input type="hidden" name="ID" value="<%=ID%>">
Note: See TracChangeset
for help on using the changeset viewer.