Index: login/login-tool/tool/src/java/org/sakaiproject/login/tool/SkinnableLogin.java =================================================================== --- login/login-tool/tool/src/java/org/sakaiproject/login/tool/SkinnableLogin.java (revision 3883) +++ login/login-tool/tool/src/java/org/sakaiproject/login/tool/SkinnableLogin.java (revision 3887) @@ -135,6 +135,14 @@ skipContainer = true; } + // pda arg for xlogin?pda, i.e. guest login in PDA mode + String pdaArg = req.getParameter("pda"); + boolean forcePDA = false; + if (pdaArg != null) { + forcePDA = true; + skipContainer = true; + } + // get the parts (the first will be "", second will be "login" or "logout") String[] parts = option.split("/"); @@ -189,12 +197,14 @@ if ( portalUrl != null ) { isPDA = (portalUrl.indexOf (PDA_PORTAL_SUFFIX) > -1); } + log.debug("isPDA: " + isPDA); // Present the xlogin template LoginRenderContext rcontext = startPageContext("", req, res); rcontext.put("isPDA", isPDA); + rcontext.put("forcePDA", forcePDA); // Decide whether or not to put up the Cancel String actualPortal = ServerConfigurationService.getPortalUrl(); @@ -223,11 +233,14 @@ // Get the Sakai session Session session = SessionManager.getCurrentSession(); + // Get my tool registration Tool tool = (Tool) req.getAttribute(Tool.TOOL); String eid = req.getParameter("eid"); String pw = req.getParameter("pw"); + String forcePDAS = req.getParameter("forcePDA"); + boolean forcePDA = (forcePDAS != null && forcePDAS.equals("true")); // Rutgers downtime code if (new File("/tmp/goingdown").exists()) { @@ -245,6 +258,8 @@ // get the session info complete needs, since the logout will invalidate and clear the session String returnUrl = (String) session.getAttribute(Tool.HELPER_DONE_URL); + if (forcePDA) + returnUrl = "/portal/pda/"; // Trim off the force.login parameter from return URL if present if ( returnUrl != null ) @@ -266,6 +281,8 @@ try { loginService.authenticate(credentials); String returnUrl = (String) session.getAttribute(Tool.HELPER_DONE_URL); + if (forcePDA) + returnUrl = "/portal/pda/"; complete(returnUrl, session, tool, res); } catch (LoginException le) { @@ -276,6 +293,8 @@ boolean showAdvice = false; + rcontext.put("forcePDA", forcePDA); + if (message.equals(EXCEPTION_INVALID_CREDENTIALS)) { rcontext.put(ATTR_MSG, rb.getString("log.invalid.credentials")); showAdvice = true; @@ -436,9 +455,6 @@ String ruagain = req.getParameter("ruagain"); boolean again = (ruagain != null && ruagain.trim().equals("1")); - System.out.println("request " + req.getRequestURL()); - System.out.println("query " + req.getQueryString()); - // if url not to main address, someone is using ha1, etc. in which case we don't do this. if (url.toLowerCase().indexOf(servername) < 0) return; Index: login/login-render-engine-impl/pack/src/webapp/vm/nuskin/xlogin.vm =================================================================== --- login/login-render-engine-impl/pack/src/webapp/vm/nuskin/xlogin.vm (revision 3883) +++ login/login-render-engine-impl/pack/src/webapp/vm/nuskin/xlogin.vm (revision 3887) @@ -25,6 +25,9 @@
+ #if (${forcePDA}) + + #end #if (${notify})
${notify}
#end Index: login/login-render-engine-impl/pack/src/webapp/vm/defaultskin/xlogin.vm =================================================================== --- login/login-render-engine-impl/pack/src/webapp/vm/defaultskin/xlogin.vm (revision 3883) +++ login/login-render-engine-impl/pack/src/webapp/vm/defaultskin/xlogin.vm (revision 3887) @@ -26,6 +26,9 @@ + #if ($forcePDA) + + #end #if (${notify})
${notify}
#end Index: portal/portal-render-engine-impl/pack/src/webapp/vm/neoskin/pda.vm =================================================================== --- portal/portal-render-engine-impl/pack/src/webapp/vm/neoskin/pda.vm (revision 3883) +++ portal/portal-render-engine-impl/pack/src/webapp/vm/neoskin/pda.vm (revision 3887) @@ -135,6 +135,7 @@ #if ( $loggedIn ) #else + #end @@ -153,6 +154,7 @@ #else ## need to get string from bundle + #end