Skip to content
Snippets Groups Projects
Commit b8dfad67 authored by uhensler's avatar uhensler
Browse files

OO-4207: Do not update fully assessed if conventional course node

parent 353c3eb8
No related branches found
No related tags found
No related merge requests found
...@@ -83,6 +83,11 @@ public class ConditionNodeAccessProvider implements NodeAccessProvider { ...@@ -83,6 +83,11 @@ public class ConditionNodeAccessProvider implements NodeAccessProvider {
return new ConditionCourseTreeModelBuilder(userCourseEnv); return new ConditionCourseTreeModelBuilder(userCourseEnv);
} }
@Override
public boolean onNodeVisited(CourseNode courseNode, UserCourseEnvironment userCourseEnvironment) {
return false;
}
@Override @Override
public boolean isAssessmentConfirmationEnabled(CourseNode courseNode, UserCourseEnvironment userCourseEnv) { public boolean isAssessmentConfirmationEnabled(CourseNode courseNode, UserCourseEnvironment userCourseEnv) {
return false; return false;
......
...@@ -34,7 +34,6 @@ import org.olat.course.learningpath.ui.LearningPathNodeConfigController; ...@@ -34,7 +34,6 @@ import org.olat.course.learningpath.ui.LearningPathNodeConfigController;
import org.olat.course.learningpath.ui.TabbableLeaningPathNodeConfigController; import org.olat.course.learningpath.ui.TabbableLeaningPathNodeConfigController;
import org.olat.course.nodeaccess.NodeAccessProvider; import org.olat.course.nodeaccess.NodeAccessProvider;
import org.olat.course.nodes.CourseNode; import org.olat.course.nodes.CourseNode;
import org.olat.course.run.navigation.NodeVisitedListener;
import org.olat.course.run.userview.CourseTreeModelBuilder; import org.olat.course.run.userview.CourseTreeModelBuilder;
import org.olat.course.run.userview.UserCourseEnvironment; import org.olat.course.run.userview.UserCourseEnvironment;
import org.olat.course.tree.CourseEditorTreeModel; import org.olat.course.tree.CourseEditorTreeModel;
...@@ -51,7 +50,7 @@ import org.springframework.stereotype.Service; ...@@ -51,7 +50,7 @@ import org.springframework.stereotype.Service;
* *
*/ */
@Service @Service
public class LearningPathNodeAccessProvider implements NodeAccessProvider, NodeVisitedListener { public class LearningPathNodeAccessProvider implements NodeAccessProvider {
public static final String TYPE = "learningpath"; public static final String TYPE = "learningpath";
......
...@@ -44,6 +44,8 @@ public interface NodeAccessProvider extends NodeAccessProviderIdentifier { ...@@ -44,6 +44,8 @@ public interface NodeAccessProvider extends NodeAccessProviderIdentifier {
public CourseTreeModelBuilder getCourseTreeModelBuilder(UserCourseEnvironment userCourseEnv); public CourseTreeModelBuilder getCourseTreeModelBuilder(UserCourseEnvironment userCourseEnv);
public boolean onNodeVisited(CourseNode courseNode, UserCourseEnvironment userCourseEnvironment);
public boolean isAssessmentConfirmationEnabled(CourseNode courseNode, UserCourseEnvironment userCourseEnv); public boolean isAssessmentConfirmationEnabled(CourseNode courseNode, UserCourseEnvironment userCourseEnv);
public void onAssessmentConfirmed(CourseNode courseNode, UserCourseEnvironment userCourseEnv); public void onAssessmentConfirmed(CourseNode courseNode, UserCourseEnvironment userCourseEnv);
......
...@@ -31,6 +31,7 @@ import org.olat.course.nodeaccess.NodeAccessProviderIdentifier; ...@@ -31,6 +31,7 @@ import org.olat.course.nodeaccess.NodeAccessProviderIdentifier;
import org.olat.course.nodeaccess.NodeAccessService; import org.olat.course.nodeaccess.NodeAccessService;
import org.olat.course.nodeaccess.NodeAccessType; import org.olat.course.nodeaccess.NodeAccessType;
import org.olat.course.nodes.CourseNode; import org.olat.course.nodes.CourseNode;
import org.olat.course.run.navigation.NodeVisitedListener;
import org.olat.course.run.userview.CourseTreeModelBuilder; import org.olat.course.run.userview.CourseTreeModelBuilder;
import org.olat.course.run.userview.UserCourseEnvironment; import org.olat.course.run.userview.UserCourseEnvironment;
import org.olat.course.tree.CourseEditorTreeModel; import org.olat.course.tree.CourseEditorTreeModel;
...@@ -46,7 +47,7 @@ import org.springframework.stereotype.Service; ...@@ -46,7 +47,7 @@ import org.springframework.stereotype.Service;
* *
*/ */
@Service @Service
public class NodeAccessServiceImpl implements NodeAccessService { public class NodeAccessServiceImpl implements NodeAccessService, NodeVisitedListener {
private static final Logger log = Tracing.createLoggerFor(NodeAccessServiceImpl.class); private static final Logger log = Tracing.createLoggerFor(NodeAccessServiceImpl.class);
...@@ -109,4 +110,10 @@ public class NodeAccessServiceImpl implements NodeAccessService { ...@@ -109,4 +110,10 @@ public class NodeAccessServiceImpl implements NodeAccessService {
getNodeAccessProvider(type).onCompletionUpdate(courseNode, userCourseEnv, completion, status, by); getNodeAccessProvider(type).onCompletionUpdate(courseNode, userCourseEnv, completion, status, by);
} }
@Override
public boolean onNodeVisited(CourseNode courseNode, UserCourseEnvironment userCourseEnvironment) {
NodeAccessType type = NodeAccessType.of(userCourseEnvironment);
return getNodeAccessProvider(type).onNodeVisited(courseNode, userCourseEnvironment);
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment