Fixed issue with lesson tracking
This commit is contained in:
@ -43,7 +43,6 @@ import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* <p>LessonMenuService class.</p>
|
||||
@ -56,7 +55,7 @@ import java.util.Optional;
|
||||
public class LessonMenuService {
|
||||
|
||||
private final Course course;
|
||||
private final UserTracker userTracker;
|
||||
private UserTracker userTracker;
|
||||
private final WebSession webSession;
|
||||
|
||||
/**
|
||||
@ -82,8 +81,8 @@ public class LessonMenuService {
|
||||
lessonItem.setName(lesson.getTitle());
|
||||
lessonItem.setLink(lesson.getLink());
|
||||
lessonItem.setType(LessonMenuItemType.LESSON);
|
||||
Optional<LessonTracker> lessonTracker = userTracker.getLessonTracker(lesson);
|
||||
lessonItem.setComplete(lessonTracker.isPresent() ? lessonTracker.get().getCompleted() : false);
|
||||
LessonTracker lessonTracker = userTracker.getLessonTracker(lesson);
|
||||
lessonItem.setComplete(lessonTracker.isLessonSolved());
|
||||
categoryItem.addChild(lessonItem);
|
||||
}
|
||||
menu.add(categoryItem);
|
||||
|
@ -6,6 +6,7 @@ import org.owasp.webgoat.i18n.LabelManager;
|
||||
import org.owasp.webgoat.lessons.model.LessonInfoModel;
|
||||
import org.owasp.webgoat.session.LessonTracker;
|
||||
import org.owasp.webgoat.session.UserTracker;
|
||||
import org.owasp.webgoat.session.WebSession;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
@ -24,6 +25,7 @@ public class LessonProgressService {
|
||||
|
||||
private LabelManager labelManager;
|
||||
private UserTracker userTracker;
|
||||
private WebSession webSession;
|
||||
|
||||
/**
|
||||
* <p>LessonProgressService.</p>
|
||||
@ -33,10 +35,14 @@ public class LessonProgressService {
|
||||
@RequestMapping(value = "/service/lessonprogress.mvc", produces = "application/json")
|
||||
@ResponseBody
|
||||
public Map getLessonInfo() {
|
||||
LessonTracker lessonTracker = userTracker.getCurrentLessonTracker();
|
||||
boolean lessonCompleted = lessonTracker.getCompleted();
|
||||
String successMessage = labelManager.get("LessonCompleted");
|
||||
LessonTracker lessonTracker = userTracker.getLessonTracker(webSession.getCurrentLesson());
|
||||
Map json = Maps.newHashMap();
|
||||
String successMessage = "";
|
||||
boolean lessonCompleted = false;
|
||||
if (lessonTracker != null) {
|
||||
lessonCompleted = lessonTracker.isLessonSolved();
|
||||
successMessage = labelManager.get("LessonCompleted");
|
||||
}
|
||||
json.put("lessonCompleted", lessonCompleted);
|
||||
json.put("successMessage", successMessage);
|
||||
return json;
|
||||
|
@ -55,7 +55,7 @@ public class RestartLessonService {
|
||||
String restartLesson() {
|
||||
AbstractLesson al = webSession.getCurrentLesson();
|
||||
System.out.println("Restarting lesson: " + al);
|
||||
userTracker.getCurrentLessonTracker().setCompleted(false);
|
||||
userTracker.getLessonTracker(al).reset();
|
||||
|
||||
return webSession.getCurrentLesson().getLink();
|
||||
}
|
||||
|
Reference in New Issue
Block a user