Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/LessonCompleteActivityAction.java =================================================================== diff -u -r3e839d147e5cb7e2afe7e39acc4b5e4ca928fc6b -r8e56d1654c6d28d0d0bac2c48f6685c3142e5974 --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/LessonCompleteActivityAction.java (.../LessonCompleteActivityAction.java) (revision 3e839d147e5cb7e2afe7e39acc4b5e4ca928fc6b) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/LessonCompleteActivityAction.java (.../LessonCompleteActivityAction.java) (revision 8e56d1654c6d28d0d0bac2c48f6685c3142e5974) @@ -24,14 +24,19 @@ /* $$Id$$ */ package org.lamsfoundation.lams.learning.web.action; +import java.io.UnsupportedEncodingException; + import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; +import org.lamsfoundation.lams.integration.service.IntegrationService; import org.lamsfoundation.lams.learning.web.form.ActivityForm; import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; +import org.lamsfoundation.lams.lesson.LearnerProgress; +import org.springframework.web.context.support.WebApplicationContextUtils; @@ -49,15 +54,33 @@ * ----------------XDoclet Tags-------------------- */ public class LessonCompleteActivityAction extends ActivityAction { + + private static IntegrationService integrationService = null; /** * Gets an activity from the request (attribute) and forwards onto a display action using the ActionMappings class. * If no activity is in request then use the current activity in learnerProgress. */ public ActionForward execute(ActionMapping mapping, ActionForm actionForm, HttpServletRequest request, - HttpServletResponse response) { - LearningWebUtil.setupProgressInRequest((ActivityForm) actionForm, request, LearningWebUtil.getLearnerProgress(request, - getLearnerService())); + HttpServletResponse response) throws UnsupportedEncodingException { + LearnerProgress learnerProgress = LearningWebUtil.getLearnerProgress(request, getLearnerService()); + LearningWebUtil.setupProgressInRequest((ActivityForm) actionForm, request, learnerProgress); + + //checks for lessonFinishUrl parameter + String lessonFinishCallbackUrl = getIntegrationService().getLessonFinishCallbackUrl(learnerProgress.getUser(), + learnerProgress.getLesson()); + if (lessonFinishCallbackUrl != null) { + request.setAttribute("lessonFinishUrl", lessonFinishCallbackUrl); + } + return mapping.findForward("lessonComplete"); } + + private IntegrationService getIntegrationService() { + if (integrationService == null) { + integrationService = (IntegrationService) WebApplicationContextUtils.getRequiredWebApplicationContext( + getServlet().getServletContext()).getBean("integrationService"); + } + return integrationService; + } } \ No newline at end of file Index: lams_learning/web/lessonComplete.jsp =================================================================== diff -u -r535553ca550c8e94b6d1722b5076c9d201cb3acf -r8e56d1654c6d28d0d0bac2c48f6685c3142e5974 --- lams_learning/web/lessonComplete.jsp (.../lessonComplete.jsp) (revision 535553ca550c8e94b6d1722b5076c9d201cb3acf) +++ lams_learning/web/lessonComplete.jsp (.../lessonComplete.jsp) (revision 8e56d1654c6d28d0d0bac2c48f6685c3142e5974) @@ -71,4 +71,6 @@ - + + +