Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dto/LearnerDetailsDTO.java
===================================================================
diff -u -r87916b2e9c4406342e26149d731a5ab070f4d4e0 -re4775d8e6fe34e04f7de5751b73976705fd43e79
--- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dto/LearnerDetailsDTO.java (.../LearnerDetailsDTO.java) (revision 87916b2e9c4406342e26149d731a5ab070f4d4e0)
+++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/dto/LearnerDetailsDTO.java (.../LearnerDetailsDTO.java) (revision e4775d8e6fe34e04f7de5751b73976705fd43e79)
@@ -10,6 +10,8 @@
import java.util.Date;
import java.util.List;
+import org.lamsfoundation.lams.usermanagement.dto.UserDTO;
+
/**
* @author Manpreet Minhas
* @serial 5900249986365640342L
@@ -18,9 +20,11 @@
private static final long serialVersionUID = 5900249986365640342L;
private Long toolSessionID;
-
- private Long userID;
- private String userName;
+
+ //learner personal info dto
+ private UserDTO userDto;
+
+ //learner uploaded file info
private String fileName;
private String fileDescription;
private String comments;
@@ -156,19 +160,8 @@
public void setToolSessionID(Long toolSessionID) {
this.toolSessionID = toolSessionID;
}
+
/**
- * @return Returns the userID.
- */
- public Long getUserID() {
- return userID;
- }
- /**
- * @param userID The userID to set.
- */
- public void setUserID(Long userID) {
- this.userID = userID;
- }
- /**
* @return Returns the filesUploaded.
*/
public List getFilesUploaded() {
@@ -192,16 +185,11 @@
public void setLocked(boolean locked) {
this.locked = locked;
}
- /**
- * @return Returns the userName.
- */
- public String getUserName() {
- return userName;
+
+ public UserDTO getUserDto() {
+ return userDto;
}
- /**
- * @param userName The userName to set.
- */
- public void setUserName(String userName) {
- this.userName = userName;
+ public void setUserDto(UserDTO userDto) {
+ this.userDto = userDto;
}
}
Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/LearnerAction.java
===================================================================
diff -u -r218109b0df4286a49f8426d903457f30760d7109 -re4775d8e6fe34e04f7de5751b73976705fd43e79
--- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/LearnerAction.java (.../LearnerAction.java) (revision 218109b0df4286a49f8426d903457f30760d7109)
+++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/LearnerAction.java (.../LearnerAction.java) (revision e4775d8e6fe34e04f7de5751b73976705fd43e79)
@@ -11,6 +11,7 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
@@ -30,6 +31,9 @@
import org.lamsfoundation.lams.tool.sbmt.service.ISubmitFilesService;
import org.lamsfoundation.lams.tool.sbmt.service.SubmitFilesServiceProxy;
import org.lamsfoundation.lams.tool.sbmt.util.SbmtConstants;
+import org.lamsfoundation.lams.usermanagement.dto.UserDTO;
+import org.lamsfoundation.lams.web.session.SessionManager;
+import org.lamsfoundation.lams.web.util.AttributeNames;
/**
* @author Manpreet Minhas
@@ -51,7 +55,14 @@
public ISubmitFilesService submitFilesService;
public static Logger logger = Logger.getLogger(LearnerAction.class);
-
+ /**
+ * The initial page of learner in Submission tool. This page will list all uploaded files and learn
+ * @param mapping
+ * @param form
+ * @param request
+ * @param response
+ * @return
+ */
public ActionForward listFiles(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
@@ -60,7 +71,11 @@
DynaActionForm authForm= (DynaActionForm)form;
Long sessionID =(Long) authForm.get(SbmtConstants.TOOL_SESSION_ID);
- Long userID = (Long)authForm.get(SbmtConstants.USER_ID);
+ //get session from shared session.
+ HttpSession ss = SessionManager.getSession();
+ //get back login user DTO
+ UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER);
+ Long userID = new Long(user.getUserID().longValue());
//get submission information from content table.E.g., title, instruction
submitFilesService = SubmitFilesServiceProxy.getSubmitFilesService(this.getServlet().getServletContext());
@@ -72,7 +87,7 @@
List filesUploaded = submitFilesService.getFilesUploadedByUser(userID,sessionID);
Learner learner = submitFilesService.getLearner(sessionID,userID);
- setLearnerDTO(request, sessionID,userID,learner, content, filesUploaded);
+ setLearnerDTO(request, sessionID,user,learner, content, filesUploaded);
//to avoid user without patience click "upload" button too fast
saveToken(request);
return mapping.getInputForward();
@@ -95,20 +110,30 @@
DynaActionForm authForm= (DynaActionForm)form;
if(!isTokenValid(request,true)){
Long sessionID =(Long) authForm.get(SbmtConstants.TOOL_SESSION_ID);
- Long userID = (Long)authForm.get(SbmtConstants.USER_ID);
+ //get session from shared session.
+ HttpSession ss = SessionManager.getSession();
+ //get back login user DTO
+ UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER);
+ Long userID = new Long(user.getUserID().longValue());
+
submitFilesService = SubmitFilesServiceProxy.getSubmitFilesService(this.getServlet().getServletContext());
List filesUploaded = submitFilesService.getFilesUploadedByUser(userID,sessionID);
submitFilesService = SubmitFilesServiceProxy.getSubmitFilesService(this.getServlet().getServletContext());
SubmitFilesSession session = submitFilesService.getSessionById(sessionID);
SubmitFilesContent content = session.getContent();
Learner learner = submitFilesService.getLearner(sessionID,userID);
- setLearnerDTO(request, sessionID,userID,learner, content, filesUploaded);
+ setLearnerDTO(request, sessionID,user,learner, content, filesUploaded);
return returnErrors(mapping,request,"submit.upload.twice","upload");
}
Long sessionID =(Long) authForm.get(SbmtConstants.TOOL_SESSION_ID);
- Long userID = (Long)authForm.get(SbmtConstants.USER_ID);
+ //get session from shared session.
+ HttpSession ss = SessionManager.getSession();
+ //get back login user DTO
+ UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER);
+ Long userID = new Long(user.getUserID().longValue());
+
FormFile uploadedFile= (FormFile) authForm.get("filePath");
String fileDescription = (String) authForm.get("fileDescription");
@@ -121,7 +146,7 @@
SubmitFilesSession session = submitFilesService.getSessionById(sessionID);
SubmitFilesContent content = session.getContent();
Learner learner = submitFilesService.getLearner(sessionID,userID);
- setLearnerDTO(request,sessionID,userID, learner, content, filesUploaded);
+ setLearnerDTO(request,sessionID,user, learner, content, filesUploaded);
return mapping.getInputForward();
}catch(SubmitFilesException se){
logger.error("uploadFile: Submit Files Exception has occured" + se.getMessage());
@@ -182,16 +207,19 @@
* @param filesUploaded
*/
private void setLearnerDTO(HttpServletRequest request, Long sessionID,
- Long userID, Learner learner, SubmitFilesContent content,
+ UserDTO userDto, Learner learner, SubmitFilesContent content,
List filesUploaded) {
LearnerDetailsDTO dto = new LearnerDetailsDTO();
//don't use learner data, becuase these 2 values come from web page. Learner maybe empty.
dto.setToolSessionID(sessionID);
- dto.setUserID(userID);
+ dto.setUserDto(userDto);
+
if(learner != null){
//only content is lock-on-finished, then check whehter learner choose "finish"
if(content.isLockOnFinished())
+ //if learner already finished and lcokonfinished is true, the lock the page, learner
+ //can not "finish" again.
dto.setLocked(learner.isFinished());
else
dto.setLocked(false);
Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/MonitoringAction.java
===================================================================
diff -u -r0b91d14af990013a1f529eca5d701ebe37a5fc73 -re4775d8e6fe34e04f7de5751b73976705fd43e79
--- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/MonitoringAction.java (.../MonitoringAction.java) (revision 0b91d14af990013a1f529eca5d701ebe37a5fc73)
+++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/MonitoringAction.java (.../MonitoringAction.java) (revision e4775d8e6fe34e04f7de5751b73976705fd43e79)
@@ -30,7 +30,6 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
import org.apache.commons.lang.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFCell;
@@ -53,8 +52,6 @@
import org.lamsfoundation.lams.tool.sbmt.util.SbmtConstants;
import org.lamsfoundation.lams.usermanagement.dto.UserDTO;
import org.lamsfoundation.lams.util.WebUtil;
-import org.lamsfoundation.lams.web.session.SessionManager;
-import org.lamsfoundation.lams.web.util.AttributeNames;
/**
@@ -116,18 +113,8 @@
HttpServletRequest request,
HttpServletResponse response){
Long sessionID =new Long(WebUtil.readLongParam(request,SbmtConstants.TOOL_SESSION_ID));
-// Long userID = new Long(WebUtil.readLongParam(request,"userID"));
-// Session session = SessionManager.getCurrentSession();
- System.out.println(request.getRemoteUser());
- System.out.println(request.getUserPrincipal());
-// ToolSession toolSession = SessionManager.getCurrentToolSession();
-// session.setAttribute("TS","from sesson");
-// toolSession.setAttribute("TTS","from tool session");
-
- HttpSession ss = SessionManager.getSession();
- UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER);
- Long userID = new Long(user.getUserID().longValue());
-
+ Long userID = new Long(WebUtil.readLongParam(request,"userID"));
+
submitFilesService = getSubmitFilesService();
//return FileDetailsDTO list according to the given userID and sessionID
List files = submitFilesService.getFilesUploadedByUser(userID,sessionID);
Index: lams_tool_sbmt/web/learner/sbmtLearner.jsp
===================================================================
diff -u -r6dc489ffc6bc1ff7b073f5c98ad518aafcd1e5cd -re4775d8e6fe34e04f7de5751b73976705fd43e79
--- lams_tool_sbmt/web/learner/sbmtLearner.jsp (.../sbmtLearner.jsp) (revision 6dc489ffc6bc1ff7b073f5c98ad518aafcd1e5cd)
+++ lams_tool_sbmt/web/learner/sbmtLearner.jsp (.../sbmtLearner.jsp) (revision e4775d8e6fe34e04f7de5751b73976705fd43e79)
@@ -13,7 +13,7 @@
function finish(){
var lockOnFinished =