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

OO-4186: Delete interface PersistentAssessableCourseNode

parent 40ea4d96
No related branches found
No related tags found
No related merge requests found
Showing
with 63 additions and 117 deletions
...@@ -59,7 +59,7 @@ import org.olat.resource.OLATResource; ...@@ -59,7 +59,7 @@ import org.olat.resource.OLATResource;
* @author guido * @author guido
* @author Charles Severance * @author Charles Severance
*/ */
public class BasicLTICourseNode extends AbstractAccessableCourseNode implements PersistentAssessableCourseNode { public class BasicLTICourseNode extends AbstractAccessableCourseNode implements AssessableCourseNode {
private static final long serialVersionUID = 2210572148308757127L; private static final long serialVersionUID = 2210572148308757127L;
private static final String translatorPackage = Util.getPackageName(LTIEditController.class); private static final String translatorPackage = Util.getPackageName(LTIEditController.class);
......
...@@ -87,7 +87,7 @@ import org.olat.repository.RepositoryEntry; ...@@ -87,7 +87,7 @@ import org.olat.repository.RepositoryEntry;
* @author srosse, stephane.rosse@frentix.com, http://www.frentix.com * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
* *
*/ */
public class CheckListCourseNode extends AbstractAccessableCourseNode implements PersistentAssessableCourseNode { public class CheckListCourseNode extends AbstractAccessableCourseNode implements AssessableCourseNode {
private static final String PACKAGE_CL = Util.getPackageName(CheckListEditController.class); private static final String PACKAGE_CL = Util.getPackageName(CheckListEditController.class);
private static final long serialVersionUID = -7460670977531082040L; private static final long serialVersionUID = -7460670977531082040L;
......
...@@ -91,7 +91,7 @@ import org.olat.user.UserManager; ...@@ -91,7 +91,7 @@ import org.olat.user.UserManager;
* @author srosse, stephane.rosse@frentix.com, http://www.frentix.com * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
* *
*/ */
public class GTACourseNode extends AbstractAccessableCourseNode implements PersistentAssessableCourseNode { public class GTACourseNode extends AbstractAccessableCourseNode implements AssessableCourseNode {
private static final Logger log = Tracing.createLoggerFor(GTACourseNode.class); private static final Logger log = Tracing.createLoggerFor(GTACourseNode.class);
private static final String PACKAGE_GTA = Util.getPackageName(GTAEditController.class); private static final String PACKAGE_GTA = Util.getPackageName(GTAEditController.class);
...@@ -535,7 +535,7 @@ public class GTACourseNode extends AbstractAccessableCourseNode implements Persi ...@@ -535,7 +535,7 @@ public class GTACourseNode extends AbstractAccessableCourseNode implements Persi
String courseTitle = course.getCourseTitle(); String courseTitle = course.getCourseTitle();
String fileName = ExportUtil.createFileNameWithTimeStamp(courseTitle, "xlsx"); String fileName = ExportUtil.createFileNameWithTimeStamp(courseTitle, "xlsx");
List<AssessableCourseNode> nodes = Collections.<AssessableCourseNode>singletonList(this); List<AssessableCourseNode> nodes = Collections.singletonList(this);
try(OutputStream out = new ShieldOutputStream(exportStream)) { try(OutputStream out = new ShieldOutputStream(exportStream)) {
exportStream.putNextEntry(new ZipEntry(dirName + "/" + fileName)); exportStream.putNextEntry(new ZipEntry(dirName + "/" + fileName));
ScoreAccountingHelper.createCourseResultsOverviewXMLTable(users, nodes, course, locale, out); ScoreAccountingHelper.createCourseResultsOverviewXMLTable(users, nodes, course, locale, out);
......
...@@ -122,7 +122,7 @@ import uk.ac.ed.ph.jqtiplus.resolution.ResolvedAssessmentTest; ...@@ -122,7 +122,7 @@ import uk.ac.ed.ph.jqtiplus.resolution.ResolvedAssessmentTest;
* @author Mike Stock Comment: * @author Mike Stock Comment:
* @author BPS (<a href="http://www.bps-system.de/">BPS Bildungsportal Sachsen GmbH</a>) * @author BPS (<a href="http://www.bps-system.de/">BPS Bildungsportal Sachsen GmbH</a>)
*/ */
public class IQTESTCourseNode extends AbstractAccessableCourseNode implements PersistentAssessableCourseNode, QTICourseNode { public class IQTESTCourseNode extends AbstractAccessableCourseNode implements AssessableCourseNode, QTICourseNode {
private static final long serialVersionUID = 5806292895738005387L; private static final long serialVersionUID = 5806292895738005387L;
private static final Logger log = Tracing.createLoggerFor(IQTESTCourseNode.class); private static final Logger log = Tracing.createLoggerFor(IQTESTCourseNode.class);
private static final String translatorStr = Util.getPackageName(IQEditController.class); private static final String translatorStr = Util.getPackageName(IQEditController.class);
......
...@@ -85,7 +85,7 @@ import org.olat.resource.OLATResource; ...@@ -85,7 +85,7 @@ import org.olat.resource.OLATResource;
* @author gnaegi * @author gnaegi
* @author BPS (<a href="http://www.bps-system.de/">BPS Bildungsportal Sachsen GmbH</a>) * @author BPS (<a href="http://www.bps-system.de/">BPS Bildungsportal Sachsen GmbH</a>)
*/ */
public class MSCourseNode extends AbstractAccessableCourseNode implements PersistentAssessableCourseNode { public class MSCourseNode extends AbstractAccessableCourseNode implements AssessableCourseNode {
private static final long serialVersionUID = -7741172700015384397L; private static final long serialVersionUID = -7741172700015384397L;
......
/**
* <a href="http://www.openolat.org">
* OpenOLAT - Online Learning and Training</a><br>
* <p>
* Licensed under the Apache License, Version 2.0 (the "License"); <br>
* you may not use this file except in compliance with the License.<br>
* You may obtain a copy of the License at the
* <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
* <p>
* Unless required by applicable law or agreed to in writing,<br>
* software distributed under the License is distributed on an "AS IS" BASIS, <br>
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
* See the License for the specific language governing permissions and <br>
* limitations under the License.
* <p>
* Initial code contributed and copyrighted by<br>
* frentix GmbH, http://www.frentix.com
* <p>
*/
package org.olat.course.nodes;
/**
* Most of the course node saved their data on the database with the
* assessment service.
*
* Initial date: 26.10.2015<br>
* @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
*
*/
public interface PersistentAssessableCourseNode extends AssessableCourseNode {
}
...@@ -78,7 +78,7 @@ import org.olat.repository.handlers.RepositoryHandlerFactory; ...@@ -78,7 +78,7 @@ import org.olat.repository.handlers.RepositoryHandlerFactory;
* Initial Date: 6 oct. 2010 <br> * Initial Date: 6 oct. 2010 <br>
* @author srosse, stephane.rosse@frentix.com, http://www.frentix.com * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
*/ */
public class PortfolioCourseNode extends AbstractAccessableCourseNode implements PersistentAssessableCourseNode { public class PortfolioCourseNode extends AbstractAccessableCourseNode implements AssessableCourseNode {
private static final Logger log = Tracing.createLoggerFor(PortfolioCourseNode.class); private static final Logger log = Tracing.createLoggerFor(PortfolioCourseNode.class);
private static final int CURRENT_CONFIG_VERSION = 2; private static final int CURRENT_CONFIG_VERSION = 2;
......
...@@ -115,7 +115,7 @@ import com.thoughtworks.xstream.XStream; ...@@ -115,7 +115,7 @@ import com.thoughtworks.xstream.XStream;
* @author Christian Guretzki * @author Christian Guretzki
*/ */
public class ProjectBrokerCourseNode extends GenericCourseNode implements PersistentAssessableCourseNode { public class ProjectBrokerCourseNode extends GenericCourseNode implements AssessableCourseNode {
private static final long serialVersionUID = -8177448874150049173L; private static final long serialVersionUID = -8177448874150049173L;
private static final Logger log = Tracing.createLoggerFor(ProjectBrokerCourseNode.class); private static final Logger log = Tracing.createLoggerFor(ProjectBrokerCourseNode.class);
......
...@@ -76,7 +76,7 @@ import org.olat.repository.handlers.RepositoryHandlerFactory; ...@@ -76,7 +76,7 @@ import org.olat.repository.handlers.RepositoryHandlerFactory;
* @author Felix Jost * @author Felix Jost
* @author BPS (<a href="http://www.bps-system.de/">BPS Bildungsportal Sachsen GmbH</a>) * @author BPS (<a href="http://www.bps-system.de/">BPS Bildungsportal Sachsen GmbH</a>)
*/ */
public class ScormCourseNode extends AbstractAccessableCourseNode implements PersistentAssessableCourseNode { public class ScormCourseNode extends AbstractAccessableCourseNode implements AssessableCourseNode {
private static final Logger log = Tracing.createLoggerFor(ScormCourseNode.class); private static final Logger log = Tracing.createLoggerFor(ScormCourseNode.class);
private static final long serialVersionUID = 2970594874787761801L; private static final long serialVersionUID = 2970594874787761801L;
......
...@@ -101,7 +101,7 @@ import org.olat.resource.OLATResource; ...@@ -101,7 +101,7 @@ import org.olat.resource.OLATResource;
* @author BPS (<a href="http://www.bps-system.de/">BPS Bildungsportal Sachsen GmbH</a>) * @author BPS (<a href="http://www.bps-system.de/">BPS Bildungsportal Sachsen GmbH</a>)
*/ */
public class TACourseNode extends GenericCourseNode implements PersistentAssessableCourseNode { public class TACourseNode extends GenericCourseNode implements AssessableCourseNode {
private static final long serialVersionUID = -7266553843441305310L; private static final long serialVersionUID = -7266553843441305310L;
...@@ -505,7 +505,7 @@ public class TACourseNode extends GenericCourseNode implements PersistentAssessa ...@@ -505,7 +505,7 @@ public class TACourseNode extends GenericCourseNode implements PersistentAssessa
String courseTitle = course.getCourseTitle(); String courseTitle = course.getCourseTitle();
String fileName = ExportUtil.createFileNameWithTimeStamp(courseTitle, "xlsx"); String fileName = ExportUtil.createFileNameWithTimeStamp(courseTitle, "xlsx");
List<AssessableCourseNode> nodes = Collections.<AssessableCourseNode>singletonList(this); List<AssessableCourseNode> nodes = Collections.singletonList(this);
// write course results overview table to filesystem // write course results overview table to filesystem
try(OutputStream out = new ShieldOutputStream(exportStream)) { try(OutputStream out = new ShieldOutputStream(exportStream)) {
exportStream.putNextEntry(new ZipEntry(dirName + "/" + fileName)); exportStream.putNextEntry(new ZipEntry(dirName + "/" + fileName));
......
...@@ -30,13 +30,13 @@ import java.util.zip.ZipOutputStream; ...@@ -30,13 +30,13 @@ import java.util.zip.ZipOutputStream;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import org.apache.logging.log4j.Logger;
import org.olat.basesecurity.GroupRoles; import org.olat.basesecurity.GroupRoles;
import org.olat.core.CoreSpringFactory; import org.olat.core.CoreSpringFactory;
import org.olat.core.gui.media.MediaResource; import org.olat.core.gui.media.MediaResource;
import org.olat.core.gui.media.ServletUtil; import org.olat.core.gui.media.ServletUtil;
import org.olat.core.id.Identity; import org.olat.core.id.Identity;
import org.olat.core.id.OLATResourceable; import org.olat.core.id.OLATResourceable;
import org.apache.logging.log4j.Logger;
import org.olat.core.logging.Tracing; import org.olat.core.logging.Tracing;
import org.olat.core.util.ExportUtil; import org.olat.core.util.ExportUtil;
import org.olat.core.util.Formatter; import org.olat.core.util.Formatter;
...@@ -130,7 +130,7 @@ public class GroupBulkDownloadResource implements MediaResource { ...@@ -130,7 +130,7 @@ public class GroupBulkDownloadResource implements MediaResource {
.getMembers(groups, GroupRoles.participant.name()); .getMembers(groups, GroupRoles.participant.name());
String courseTitle = course.getCourseTitle(); String courseTitle = course.getCourseTitle();
String fileName = ExportUtil.createFileNameWithTimeStamp(courseTitle, "xlsx"); String fileName = ExportUtil.createFileNameWithTimeStamp(courseTitle, "xlsx");
List<AssessableCourseNode> nodes = Collections.<AssessableCourseNode>singletonList(courseNode); List<AssessableCourseNode> nodes = Collections.singletonList(courseNode);
try(OutputStream out = new ShieldOutputStream(zout)) { try(OutputStream out = new ShieldOutputStream(zout)) {
zout.putNextEntry(new ZipEntry(fileName)); zout.putNextEntry(new ZipEntry(fileName));
ScoreAccountingHelper.createCourseResultsOverviewXMLTable(assessableIdentities, nodes, course, locale, out); ScoreAccountingHelper.createCourseResultsOverviewXMLTable(assessableIdentities, nodes, course, locale, out);
......
...@@ -81,7 +81,6 @@ import org.olat.course.nodes.IQSELFCourseNode; ...@@ -81,7 +81,6 @@ import org.olat.course.nodes.IQSELFCourseNode;
import org.olat.course.nodes.IQSURVCourseNode; import org.olat.course.nodes.IQSURVCourseNode;
import org.olat.course.nodes.IQTESTCourseNode; import org.olat.course.nodes.IQTESTCourseNode;
import org.olat.course.nodes.ObjectivesHelper; import org.olat.course.nodes.ObjectivesHelper;
import org.olat.course.nodes.PersistentAssessableCourseNode;
import org.olat.course.nodes.SelfAssessableCourseNode; import org.olat.course.nodes.SelfAssessableCourseNode;
import org.olat.course.nodes.ms.DocumentsMapper; import org.olat.course.nodes.ms.DocumentsMapper;
import org.olat.course.run.scoring.ScoreEvaluation; import org.olat.course.run.scoring.ScoreEvaluation;
...@@ -211,10 +210,6 @@ public class IQRunController extends BasicController implements GenericEventList ...@@ -211,10 +210,6 @@ public class IQRunController extends BasicController implements GenericEventList
myContent.contextPut("changelogconfig", courseModule.isDisplayChangeLog()); myContent.contextPut("changelogconfig", courseModule.isDisplayChangeLog());
} }
/**
* @param ureq
* @return
*/
private StringBuilder createChangelogMsg(UserRequest ureq) { private StringBuilder createChangelogMsg(UserRequest ureq) {
//re could be null, but if we are here it should not be null! //re could be null, but if we are here it should not be null!
Roles userRoles = ureq.getUserSession().getRoles(); Roles userRoles = ureq.getUserSession().getRoles();
...@@ -350,9 +345,6 @@ public class IQRunController extends BasicController implements GenericEventList ...@@ -350,9 +345,6 @@ public class IQRunController extends BasicController implements GenericEventList
myContent.contextPut("infobox", courseModule.isDisplayInfoBox()); myContent.contextPut("infobox", courseModule.isDisplayInfoBox());
myContent.contextPut("changelogconfig", courseModule.isDisplayChangeLog()); myContent.contextPut("changelogconfig", courseModule.isDisplayChangeLog());
} }
private void init(UserRequest ureq) { private void init(UserRequest ureq) {
startButton = LinkFactory.createButton("start", myContent, this); startButton = LinkFactory.createButton("start", myContent, this);
...@@ -424,9 +416,6 @@ public class IQRunController extends BasicController implements GenericEventList ...@@ -424,9 +416,6 @@ public class IQRunController extends BasicController implements GenericEventList
} }
} }
/**
* @see org.olat.core.gui.control.DefaultController#event(org.olat.core.gui.UserRequest, org.olat.core.gui.components.Component, org.olat.core.gui.control.Event)
*/
@Override @Override
public void event(UserRequest ureq, Component source, Event event) { public void event(UserRequest ureq, Component source, Event event) {
if (source == startButton && startButton.isEnabled() && startButton.isVisible()){ if (source == startButton && startButton.isEnabled() && startButton.isVisible()){
...@@ -486,7 +475,7 @@ public class IQRunController extends BasicController implements GenericEventList ...@@ -486,7 +475,7 @@ public class IQRunController extends BasicController implements GenericEventList
AssessmentManager am = userCourseEnv.getCourseEnvironment().getAssessmentManager(); AssessmentManager am = userCourseEnv.getCourseEnvironment().getAssessmentManager();
Long assessmentID = am.getAssessmentID(courseNode, ureq.getIdentity()); Long assessmentID = am.getAssessmentID(courseNode, ureq.getIdentity());
if(assessmentID==null) { if(assessmentID==null) {
//fallback solution: if the assessmentID is not available via AssessmentManager than try to get it via IQManager //fallback solution: if the assessmentID is not available via AssessmentManager than try to get it via IQManager
long callingResId = userCourseEnv.getCourseEnvironment().getCourseResourceableId().longValue(); long callingResId = userCourseEnv.getCourseEnvironment().getCourseResourceableId().longValue();
String callingResDetail = courseNode.getIdent(); String callingResDetail = courseNode.getIdent();
assessmentID = iqManager.getLastAssessmentID(ureq.getIdentity(), callingResId, callingResDetail); assessmentID = iqManager.getLastAssessmentID(ureq.getIdentity(), callingResId, callingResDetail);
...@@ -566,9 +555,6 @@ public class IQRunController extends BasicController implements GenericEventList ...@@ -566,9 +555,6 @@ public class IQRunController extends BasicController implements GenericEventList
// //
} }
/**
* @see org.olat.core.gui.control.DefaultController#event(org.olat.core.gui.UserRequest, org.olat.core.gui.control.Controller, org.olat.core.gui.control.Event)
*/
@Override @Override
public void event(UserRequest urequest, Controller source, Event event) { public void event(UserRequest urequest, Controller source, Event event) {
if (source == displayController) { if (source == displayController) {
...@@ -637,54 +623,51 @@ public class IQRunController extends BasicController implements GenericEventList ...@@ -637,54 +623,51 @@ public class IQRunController extends BasicController implements GenericEventList
// user data // user data
Identity identity = userCourseEnv.getIdentityEnvironment().getIdentity(); Identity identity = userCourseEnv.getIdentityEnvironment().getIdentity();
if(courseNode instanceof PersistentAssessableCourseNode) { AssessmentEntry assessmentEntry = courseAssessmentService.getAssessmentEntry(courseNode, userCourseEnv);
PersistentAssessableCourseNode acn = (PersistentAssessableCourseNode)courseNode; if(assessmentEntry == null) {
AssessmentEntry assessmentEntry = courseAssessmentService.getAssessmentEntry(courseNode, userCourseEnv); myContent.contextPut("blockAfterSuccess", Boolean.FALSE);
if(assessmentEntry == null) { myContent.contextPut("score", null);
myContent.contextPut("blockAfterSuccess", Boolean.FALSE); myContent.contextPut("hasPassedValue", Boolean.FALSE);
myContent.contextPut("score", null); myContent.contextPut("passed", Boolean.FALSE);
myContent.contextPut("hasPassedValue", Boolean.FALSE); myContent.contextPut("comment", null);
myContent.contextPut("passed", Boolean.FALSE); myContent.contextPut("docs", null);
myContent.contextPut("comment", null); myContent.contextPut("attempts", 0);
myContent.contextPut("docs", null); } else {
myContent.contextPut("attempts", 0); //block if test passed (and config set to check it)
} else { Boolean blockAfterSuccess = modConfig.getBooleanEntry(IQEditController.CONFIG_KEY_BLOCK_AFTER_SUCCESS);
//block if test passed (and config set to check it) Boolean blocked = Boolean.FALSE;
Boolean blockAfterSuccess = modConfig.getBooleanEntry(IQEditController.CONFIG_KEY_BLOCK_AFTER_SUCCESS); if(blockAfterSuccess != null && blockAfterSuccess.booleanValue()) {
Boolean blocked = Boolean.FALSE; Boolean passed = assessmentEntry.getPassed();
if(blockAfterSuccess != null && blockAfterSuccess.booleanValue()) { if(passed != null && passed.booleanValue()) {
Boolean passed = assessmentEntry.getPassed(); blocked = Boolean.TRUE;
if(passed != null && passed.booleanValue()) { }
blocked = Boolean.TRUE; }
} myContent.contextPut("blockAfterSuccess", blocked);
} boolean resultsVisible = assessmentEntry.getUserVisibility() == null || assessmentEntry.getUserVisibility().booleanValue();
myContent.contextPut("blockAfterSuccess", blocked); myContent.contextPut("resultsVisible", resultsVisible);
boolean resultsVisible = assessmentEntry.getUserVisibility() == null || assessmentEntry.getUserVisibility().booleanValue(); myContent.contextPut("score", AssessmentHelper.getRoundedScore(assessmentEntry.getScore()));
myContent.contextPut("resultsVisible", resultsVisible); myContent.contextPut("hasPassedValue", (assessmentEntry.getPassed() == null ? Boolean.FALSE : Boolean.TRUE));
myContent.contextPut("score", AssessmentHelper.getRoundedScore(assessmentEntry.getScore())); myContent.contextPut("passed", assessmentEntry.getPassed());
myContent.contextPut("hasPassedValue", (assessmentEntry.getPassed() == null ? Boolean.FALSE : Boolean.TRUE)); if(resultsVisible) {
myContent.contextPut("passed", assessmentEntry.getPassed()); AssessmentConfig assessmentConfig = courseAssessmentService.getAssessmentConfig(courseNode);
if(resultsVisible) { if(assessmentConfig.hasComment()) {
AssessmentConfig assessmentConfig = courseAssessmentService.getAssessmentConfig(courseNode); StringBuilder comment = Formatter.stripTabsAndReturns(assessmentEntry.getComment());
if(assessmentConfig.hasComment()) { myContent.contextPut("comment", StringHelper.xssScan(comment));
StringBuilder comment = Formatter.stripTabsAndReturns(assessmentEntry.getComment()); myContent.contextPut("incomment", isPanelOpen(ureq, "comment", true));
myContent.contextPut("comment", StringHelper.xssScan(comment)); }
myContent.contextPut("incomment", isPanelOpen(ureq, "comment", true));
} if(assessmentConfig.hasIndividualAsssessmentDocuments()) {
List<File> docs = courseAssessmentService.getIndividualAssessmentDocuments(courseNode, userCourseEnv);
if(assessmentConfig.hasIndividualAsssessmentDocuments()) { String mapperUri = registerCacheableMapper(ureq, null, new DocumentsMapper(docs));
List<File> docs = courseAssessmentService.getIndividualAssessmentDocuments(acn, userCourseEnv); myContent.contextPut("docsMapperUri", mapperUri);
String mapperUri = registerCacheableMapper(ureq, null, new DocumentsMapper(docs)); myContent.contextPut("docs", docs);
myContent.contextPut("docsMapperUri", mapperUri); myContent.contextPut("inassessmentDocuments", isPanelOpen(ureq, "assessmentDocuments", true));
myContent.contextPut("docs", docs); }
myContent.contextPut("inassessmentDocuments", isPanelOpen(ureq, "assessmentDocuments", true)); }
} myContent.contextPut("attempts", assessmentEntry.getAttempts() == null ? 0 : assessmentEntry.getAttempts());
} }
myContent.contextPut("attempts", assessmentEntry.getAttempts() == null ? 0 : assessmentEntry.getAttempts());
} UserNodeAuditManager am = userCourseEnv.getCourseEnvironment().getAuditManager();
}
UserNodeAuditManager am = userCourseEnv.getCourseEnvironment().getAuditManager();
myContent.contextPut("log", am.getUserNodeLog(courseNode, identity)); myContent.contextPut("log", am.getUserNodeLog(courseNode, identity));
exposeResults(ureq); exposeResults(ureq);
...@@ -780,10 +763,6 @@ public class IQRunController extends BasicController implements GenericEventList ...@@ -780,10 +763,6 @@ public class IQRunController extends BasicController implements GenericEventList
return panelId + "::" + userCourseEnv.getCourseEnvironment().getCourseResourceableId() + "::" + courseNode.getIdent(); return panelId + "::" + userCourseEnv.getCourseEnvironment().getCourseResourceableId() + "::" + courseNode.getIdent();
} }
/**
*
* @see org.olat.core.gui.control.DefaultController#doDisspose(boolean)
*/
@Override @Override
protected void doDispose() { protected void doDispose() {
// child controllers disposed by basic controller // child controllers disposed by basic controller
......
...@@ -50,10 +50,10 @@ import org.olat.course.assessment.CourseAssessmentService; ...@@ -50,10 +50,10 @@ import org.olat.course.assessment.CourseAssessmentService;
import org.olat.course.assessment.handler.AssessmentConfig; import org.olat.course.assessment.handler.AssessmentConfig;
import org.olat.course.auditing.UserNodeAuditManager; import org.olat.course.auditing.UserNodeAuditManager;
import org.olat.course.highscore.ui.HighScoreRunController; import org.olat.course.highscore.ui.HighScoreRunController;
import org.olat.course.nodes.AssessableCourseNode;
import org.olat.course.nodes.CourseNode; import org.olat.course.nodes.CourseNode;
import org.olat.course.nodes.MSCourseNode; import org.olat.course.nodes.MSCourseNode;
import org.olat.course.nodes.ObjectivesHelper; import org.olat.course.nodes.ObjectivesHelper;
import org.olat.course.nodes.PersistentAssessableCourseNode;
import org.olat.course.run.userview.UserCourseEnvironment; import org.olat.course.run.userview.UserCourseEnvironment;
import org.olat.modules.ModuleConfiguration; import org.olat.modules.ModuleConfiguration;
import org.olat.modules.assessment.AssessmentEntry; import org.olat.modules.assessment.AssessmentEntry;
...@@ -74,7 +74,7 @@ public class MSCourseNodeRunController extends BasicController implements Activa ...@@ -74,7 +74,7 @@ public class MSCourseNodeRunController extends BasicController implements Activa
private boolean hasScore, hasPassed, hasComment; private boolean hasScore, hasPassed, hasComment;
private final UserCourseEnvironment userCourseEnv; private final UserCourseEnvironment userCourseEnv;
private final boolean overrideUserResultsVisiblity; private final boolean overrideUserResultsVisiblity;
private final PersistentAssessableCourseNode courseNode; private final AssessableCourseNode courseNode;
@Autowired @Autowired
private CourseModule courseModule; private CourseModule courseModule;
...@@ -92,7 +92,7 @@ public class MSCourseNodeRunController extends BasicController implements Activa ...@@ -92,7 +92,7 @@ public class MSCourseNodeRunController extends BasicController implements Activa
* @param showLog If true, the change log will be displayed * @param showLog If true, the change log will be displayed
*/ */
public MSCourseNodeRunController(UserRequest ureq, WindowControl wControl, UserCourseEnvironment userCourseEnv, public MSCourseNodeRunController(UserRequest ureq, WindowControl wControl, UserCourseEnvironment userCourseEnv,
PersistentAssessableCourseNode courseNode, boolean displayNodeInfo, boolean showLog) { AssessableCourseNode courseNode, boolean displayNodeInfo, boolean showLog) {
this(ureq, wControl, userCourseEnv, courseNode, displayNodeInfo, showLog, false); this(ureq, wControl, userCourseEnv, courseNode, displayNodeInfo, showLog, false);
} }
...@@ -108,7 +108,7 @@ public class MSCourseNodeRunController extends BasicController implements Activa ...@@ -108,7 +108,7 @@ public class MSCourseNodeRunController extends BasicController implements Activa
* @param overrideUserResultsVisiblity If the controller can override the user visiblity of the score evaluation * @param overrideUserResultsVisiblity If the controller can override the user visiblity of the score evaluation
*/ */
public MSCourseNodeRunController(UserRequest ureq, WindowControl wControl, public MSCourseNodeRunController(UserRequest ureq, WindowControl wControl,
UserCourseEnvironment userCourseEnv, PersistentAssessableCourseNode courseNode, UserCourseEnvironment userCourseEnv, AssessableCourseNode courseNode,
boolean displayNodeInfo, boolean showLog, boolean overrideUserResultsVisiblity) { boolean displayNodeInfo, boolean showLog, boolean overrideUserResultsVisiblity) {
super(ureq, wControl, Util.createPackageTranslator(CourseNode.class, ureq.getLocale())); super(ureq, wControl, Util.createPackageTranslator(CourseNode.class, ureq.getLocale()));
......
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