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

OO-4207: Refactoring checklist course node to new edit controller structure

parent 8e037d98
No related branches found
No related tags found
No related merge requests found
......@@ -57,6 +57,7 @@ import org.olat.course.ICourse;
import org.olat.course.assessment.AssessmentManager;
import org.olat.course.assessment.CourseAssessmentService;
import org.olat.course.assessment.handler.AssessmentConfig;
import org.olat.course.editor.ConditionAccessEditConfig;
import org.olat.course.editor.CourseEditorEnv;
import org.olat.course.editor.NodeEditController;
import org.olat.course.editor.PublishEvents;
......@@ -106,9 +107,6 @@ public class CheckListCourseNode extends AbstractAccessableCourseNode implements
public static final String FOLDER_NAME = "checklistfiles";
/**
* Constructor for a course building block of the type structure
*/
public CheckListCourseNode() {
super(TYPE);
updateModuleConfigDefaults(true);
......@@ -117,12 +115,16 @@ public class CheckListCourseNode extends AbstractAccessableCourseNode implements
@Override
public TabbableController createEditController(UserRequest ureq, WindowControl wControl, BreadcrumbPanel stackPanel, ICourse course, UserCourseEnvironment euce) {
updateModuleConfigDefaults(false);
// only the precondition "access" can be configured till now
CheckListEditController childTabCntrllr = new CheckListEditController(this, ureq, wControl, course, euce);
CheckListEditController childTabCntrllr = new CheckListEditController(this, ureq, wControl, course);
CourseNode chosenNode = course.getEditorTreeModel().getCourseNode(euce.getCourseEditorEnv().getCurrentCourseNodeId());
return new NodeEditController(ureq, wControl, course, chosenNode, euce, childTabCntrllr);
}
@Override
public ConditionAccessEditConfig getAccessEditConfig() {
return ConditionAccessEditConfig.regular(false);
}
@Override
public NodeRunConstructionResult createNodeRunConstructionResult(UserRequest ureq, WindowControl wControl,
final UserCourseEnvironment userCourseEnv, NodeEvaluation ne, String nodecmd) {
......
......@@ -29,15 +29,11 @@ import org.olat.core.gui.control.Event;
import org.olat.core.gui.control.WindowControl;
import org.olat.core.gui.control.generic.tabbable.ActivateableTabbableDefaultController;
import org.olat.course.ICourse;
import org.olat.course.assessment.AssessmentHelper;
import org.olat.course.condition.Condition;
import org.olat.course.condition.ConditionEditController;
import org.olat.course.editor.NodeEditController;
import org.olat.course.highscore.ui.HighScoreEditController;
import org.olat.course.nodes.CheckListCourseNode;
import org.olat.course.nodes.MSCourseNode;
import org.olat.course.nodes.cl.CheckboxManager;
import org.olat.course.run.userview.UserCourseEnvironment;
/**
*
......@@ -48,12 +44,9 @@ import org.olat.course.run.userview.UserCourseEnvironment;
public class CheckListEditController extends ActivateableTabbableDefaultController implements ControllerEventListener {
public static final String PANE_TAB_CLCONFIG = "pane.tab.clconfig";
private static final String PANE_TAB_ACCESSIBILITY = "pane.tab.accessibility";
private static final String PANE_TAB_CHECKBOX = "pane.tab.checkbox";
public static final String PANE_TAB_HIGHSCORE = "pane.tab.highscore";
private ConditionEditController accessibilityCondCtrl;
private CheckListBoxListEditController checkboxListEditCtrl;
private CheckListConfigurationController configurationCtrl;
private HighScoreEditController highScoreNodeConfigController;
......@@ -63,24 +56,11 @@ public class CheckListEditController extends ActivateableTabbableDefaultControll
private static final String[] paneKeys = { PANE_TAB_CLCONFIG, PANE_TAB_CHECKBOX };
/**
* @param cpNode
* @param ureq
* @param wControl
* @param course
*/
public CheckListEditController(CheckListCourseNode courseNode, UserRequest ureq, WindowControl wControl,
ICourse course, UserCourseEnvironment euce) {
ICourse course) {
super(ureq, wControl);
this.courseNode = courseNode;
// Accessibility precondition
Condition accessCondition = courseNode.getPreConditionAccess();
accessibilityCondCtrl = new ConditionEditController(ureq, getWindowControl(), euce,
accessCondition, AssessmentHelper.getAssessableNodes(course.getEditorTreeModel(), courseNode));
listenTo(accessibilityCondCtrl);
CheckboxManager checkboxManager = CoreSpringFactory.getImpl(CheckboxManager.class);
int numOfChecks = checkboxManager.countChecks(course, courseNode.getIdent());
......@@ -110,15 +90,12 @@ public class CheckListEditController extends ActivateableTabbableDefaultControll
private void updateHighscoreTab() {
Boolean sf = courseNode.getModuleConfiguration().getBooleanSafe(MSCourseNode.CONFIG_KEY_HAS_SCORE_FIELD,false);
myTabbedPane.setEnabled(5, sf);
myTabbedPane.setEnabled(4, sf);
}
@Override
public void addTabs(TabbedPane tabbedPane) {
myTabbedPane = tabbedPane;
tabbedPane.addTab(translate(PANE_TAB_ACCESSIBILITY),
accessibilityCondCtrl.getWrappedDefaultAccessConditionVC(translate("condition.accessibility.title")));
tabbedPane.addTab(translate(PANE_TAB_CLCONFIG), configurationCtrl.getInitialComponent());
tabbedPane.addTab(translate(PANE_TAB_CHECKBOX), checkboxListEditCtrl.getInitialComponent());
tabbedPane.addTab(translate(PANE_TAB_HIGHSCORE) , highScoreNodeConfigController.getInitialComponent());
......@@ -132,13 +109,7 @@ public class CheckListEditController extends ActivateableTabbableDefaultControll
@Override
public void event(UserRequest ureq, Controller source, Event event) {
if (source == accessibilityCondCtrl) {
if (event == Event.DONE_EVENT || event == Event.CHANGED_EVENT) {
Condition cond = accessibilityCondCtrl.getCondition();
courseNode.setPreConditionAccess(cond);
fireEvent(ureq, NodeEditController.NODECONFIG_CHANGED_EVENT);
}
} else if(source == configurationCtrl) {
if(source == configurationCtrl) {
if (event == Event.DONE_EVENT || event == Event.CHANGED_EVENT) {
fireEvent(ureq, NodeEditController.NODECONFIG_CHANGED_EVENT);
checkboxListEditCtrl.dispatchEvent(ureq, configurationCtrl, event);
......
......@@ -23,7 +23,6 @@ column.header.node.points=Kursbaustein Punkte
column.header.points=$\:box.points
comment.nocomment=$org.olat.course.nodes.ms\:comment.nocomment
comment.title=$org.olat.course.nodes.ms\:comment.title
condition.accessibility.title=Zugang
config.checkbox.description=W\u00E4hlen Sie "$\:add.checkbox" um eine neue Checkbox zu erzeugen oder "$org.olat.core\:edit" um eine bestehende Checkbox zu ver\u00E4ndern.
config.checkbox.title=$\:pane.tab.checkbox
config.comment=Individueller Kommentar
......@@ -70,7 +69,6 @@ label.presented=Vorgef\u00FChrt
label.read=Gelesen
label.viewed=Gesehen
num.of.checklist=Anzahl Checklisten
pane.tab.accessibility=Zugang
pane.tab.checkbox=Checkboxen
pane.tab.clconfig=Konfiguration
pane.tab.highscore=HighScore
......
......@@ -23,7 +23,6 @@ column.header.points=$\:box.points
column.header.seqnum=Sequence number
comment.nocomment=$org.olat.course.nodes.ms\:comment.nocomment
comment.title=$org.olat.course.nodes.ms\:comment.title
condition.accessibility.title=Access
config.checkbox.description=Click "$\:add.checkbox" to create a new checkbox or select "$org.olat.core\:edit" to configure an existing checkbox.
config.checkbox.title=$\:pane.tab.checkbox
config.comment=Individual comment
......@@ -70,7 +69,6 @@ label.presented=Presented
label.read=Read
label.viewed=Viewed
num.of.checklist=Quantity
pane.tab.accessibility=Access
pane.tab.checkbox=Checkboxes
pane.tab.clconfig=Configuration
pane.tab.highscore=HighScore
......
......@@ -23,7 +23,6 @@ column.header.points=$\:box.points
column.header.seqnum=Num\u00E9ro
comment.nocomment=$org.olat.course.nodes.ms\:comment.nocomment
comment.title=$org.olat.course.nodes.ms\:comment.title
condition.accessibility.title=Acc\u00E8s
config.checkbox.description=Clicuez "$\:add.checkbox" pour cr\u00E9er une nouvelle case \u00E0 cocher ou s\u00E9lectionnez "$org.olat.core\:edit" pour configurer une case \u00E0 cocher existante.
config.checkbox.title=$\:pane.tab.checkbox
config.comment=Commentaire individuel
......@@ -70,7 +69,6 @@ label.presented=Pr\u00E9sent\u00E9
label.read=Lu
label.viewed=Vu
num.of.checklist=Nombre
pane.tab.accessibility=Acc\u00E8s
pane.tab.checkbox=Cases \u00E0 cocher
pane.tab.clconfig=Configuration
pane.tab.highscore=HighScore
......
......@@ -18,7 +18,6 @@ column.header.score=$\:box.points
column.header.homepage=Home page
comment.nocomment=$org.olat.course.nodes.ms\:comment.nocomment
comment.title=$org.olat.course.nodes.ms\:comment.title
condition.accessibility.title=Accesso
config.checkbox.description=Cliccare "$\:add.checkbox" per creare una nuova checkbox, oppure selezionare "$org.olat.core\:edit" per modificare una checkbox esistente.
config.checkbox.title=$\:pane.tab.checkbox
config.comment=Commento individuale
......@@ -62,7 +61,6 @@ label.passed=Superato
label.present=Presente
label.presented=Presentato
num.of.checklist=Quantit\u00E0
pane.tab.accessibility=Accesso
pane.tab.checkbox=Checkbox
pane.tab.clconfig=Configurazione
pane.tab.highscore=Punteggio
......
......@@ -23,7 +23,6 @@ column.header.points=$\:box.points
column.header.seqnum=N\u00FAmero sequencial
comment.nocomment=$org.olat.course.nodes.ms\:comment.nocomment
comment.title=$org.olat.course.nodes.ms\:comment.title
condition.accessibility.title=Acesso
config.checkbox.description=Clique em "$\:add.checkbox" para criar uma nova caixa de sele\u00E7\u00E3o ou selecione "$org.olat.core\:edit" para configurar uma caixa de sele\u00E7\u00E3o existente.
config.checkbox.title=$\:pane.tab.checkbox
config.comment=Coment\u00E1rio individual
......@@ -68,7 +67,6 @@ label.passed=Aprovado
label.present=Presente
label.presented=Apresentado
num.of.checklist=Quantidade
pane.tab.accessibility=Acesso
pane.tab.checkbox=Checkboxes
pane.tab.clconfig=Configura\u00E7\u00E3o
pane.tab.highscore=HighScore (Pontua\u00E7\u00E3o Alta)
......
......@@ -16,7 +16,6 @@ coach.desc=\u5728\u4E0B\u9762\u7684\u5217\u8868\u4E2D\uFF0C\u60A8\u5C06\u627E\u5
coach.due.date.desc=\u8BF7\u6CE8\u610F\uFF0C\u672C\u6E05\u5355\u6709\u622A\u81F3\u65E5\u671F\u3002\u4F5C\u4E3A\u4E00\u540D\u6559\u5E08\uFF0C\u60A8\u5E94\u8BE5\u5728\u6700\u540E\u671F\u9650\u5230\u671F\u540E\u8FDB\u884C\u4FEE\u6539\u3002
comment.nocomment=$org.olat.course.nodes.ms\:comment.nocomment
comment.title=$org.olat.course.nodes.ms\:comment.title
condition.accessibility.title=\u8BBF\u95EE
config.checkbox.description=\u70B9\u51FB "$\:add.checkbox" \u521B\u5EFA\u590D\u9009\u6846\u6216\u9009\u62E9"$org.olat.core\:edit" \u8BBE\u7F6E\u73B0\u6709\u590D\u9009\u6846\u3002
config.checkbox.title=$\:pane.tab.checkbox
config.comment=\u4E2A\u4EBA\u8BC4\u8BBA
......@@ -57,7 +56,6 @@ label.passed=\u901A\u8FC7
label.present=Attendant
label.presented=Presented
num.of.checklist=\u6570\u91CF
pane.tab.accessibility=\u8BBF\u95EE
pane.tab.checkbox=\u590D\u9009\u6846
pane.tab.clconfig=\u8BBE\u7F6E
pane.tab.highscore=\u6700\u9AD8\u5206
......
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