From: <rv...@us...> - 2010-01-15 18:00:22
|
Revision: 464 http://treebase.svn.sourceforge.net/treebase/?rev=464&view=rev Author: rvos Date: 2010-01-15 18:00:16 +0000 (Fri, 15 Jan 2010) Log Message: ----------- Refactoring reviewer login logic Modified Paths: -------------- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/BaseFormController.java trunk/treebase-web/src/main/webapp/WEB-INF/pages/search/study/nav.jsp Modified: trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/BaseFormController.java =================================================================== --- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/BaseFormController.java 2010-01-15 17:23:48 UTC (rev 463) +++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/BaseFormController.java 2010-01-15 18:00:16 UTC (rev 464) @@ -180,45 +180,29 @@ private boolean isReviewerAccessGranted(HttpServletRequest pRequest) { boolean reviewerAccessGranted = false; + if ( "cancel".equals(pRequest.getParameter("agreement")) ) { + pRequest.getSession().setAttribute(Constants.REVIEWER_ACCESS_GRANTED, false); + } + if ( "ok".equals(pRequest.getParameter("agreement")) ) { + pRequest.getSession().setAttribute(Constants.REVIEWER_ACCESS_GRANTED, true); + } Object xAccesCodeObject = pRequest.getSession().getAttribute(Constants.X_ACCESS_CODE); if ( xAccesCodeObject != null ) { String storedHashedStudyId = xAccesCodeObject.toString(); - LOGGER.info("x-access-code="+storedHashedStudyId); - Long studyId = Long.parseLong(pRequest.getParameter("id")); - LOGGER.info("studyId="+studyId); - TreebaseIDString tbidstr = new TreebaseIDString(Study.class,studyId); - LOGGER.info("TreebaseIDString="+tbidstr); - NamespacedGUID nsguid = tbidstr.getNamespacedGUID(); - LOGGER.info("NamespacedGUID="+nsguid); - String computedHashedStudyId = nsguid.getHashedIDString(); - LOGGER.info("computedHashedStudyId="+computedHashedStudyId); - if ( storedHashedStudyId.equals(computedHashedStudyId) ) { - reviewerAccessGranted = true; - //saveMessage(pRequest,"You are in reviewer access mode."); - LOGGER.info("x-access-code matches computed hashed study id"); - LOGGER.info("Reviewer access is granted"); - if ( pRequest.getSession().getAttribute(Constants.REVIEWER_ACCESS_GRANTED) == null ) { + TreebaseIDString tbidstr = new TreebaseIDString(Study.class,Long.parseLong(pRequest.getParameter("id"))); + if ( storedHashedStudyId.equals(tbidstr.getNamespacedGUID().getHashedIDString()) ) { + Object accessGranted = pRequest.getSession().getAttribute(Constants.REVIEWER_ACCESS_GRANTED); + if ( accessGranted == null || ((Boolean)accessGranted).booleanValue() == false ) { + LOGGER.info("Going to display agreement"); pRequest.getSession().setAttribute("displayAgreement",true); } else { + LOGGER.info("Reviewer access is granted"); + reviewerAccessGranted = true; pRequest.getSession().setAttribute("displayAgreement",false); } pRequest.getSession().setAttribute(Constants.REVIEWER_ACCESS_GRANTED, reviewerAccessGranted); - pRequest.getSession().removeAttribute(Constants.REVIEWER_ACCESS_DENIED); } - else { - LOGGER.info("x-access-code doesn't match computed hashed study id"); - LOGGER.info("access denied"); - } - } - else { - LOGGER.info("No x-access-code parameter supplied"); - } - if ( "cancel".equals(pRequest.getParameter("agreement")) || pRequest.getSession().getAttribute(Constants.REVIEWER_ACCESS_DENIED) != null) { - pRequest.getSession().setAttribute(Constants.REVIEWER_ACCESS_GRANTED, false); - pRequest.getSession().setAttribute("displayAgreement",true); - pRequest.getSession().setAttribute(Constants.REVIEWER_ACCESS_DENIED, true); - return false; } return reviewerAccessGranted; } Modified: trunk/treebase-web/src/main/webapp/WEB-INF/pages/search/study/nav.jsp =================================================================== --- trunk/treebase-web/src/main/webapp/WEB-INF/pages/search/study/nav.jsp 2010-01-15 17:23:48 UTC (rev 463) +++ trunk/treebase-web/src/main/webapp/WEB-INF/pages/search/study/nav.jsp 2010-01-15 18:00:16 UTC (rev 464) @@ -185,8 +185,9 @@ <img src="<fmt:message key="icons.info"/>" alt="<fmt:message key="icon.information"/>" class="icon" /> <span style="color: red; ">You are in reviewer mode.</span> </div> - <c:if test="${displayAgreement || reviewerAccessDenied}"> - <div id="agreement" style="position:fixed;left:10%;top:5%;width:80%;height:80%;background-color:white;padding:10px;border:5px solid orange"> +</c:if> +<c:if test="${displayAgreement}"> + <div id="agreement" style="position:fixed;left:10%;top:5%;width:80%;height:80%;background-color:white;padding:10px;border:5px solid orange"> <h2>Reviewer/Referee Access Agreement</h2> <div style="width:100%;overflow:auto"> You have reached this page using a special URL that is intended to be used @@ -240,11 +241,10 @@ general public; you agree to keep the URL confidential. </div> <div style="width:100%;text-align:center;padding-top:10px"> - <input type="submit" id="agreementOk" value="OK" onclick="$('agreement').style.display = 'none'"/> + <input type="submit" id="agreementOk" value="OK" onclick="window.location=location.href+'&agreement=ok'"/> <input type="submit" id="agreementCancel" value="Cancel" onclick="window.location=location.href+'&agreement=cancel'"/> </div> </div> - </c:if> </c:if> <c:if test="${! empty study.citation.title}"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |