|
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.
|