From df3730ee61378927b0575a3efea03a9fdbf01b19 Mon Sep 17 00:00:00 2001 From: uhensler <urs.hensler@frentix.com> Date: Tue, 10 Sep 2019 08:30:08 +0200 Subject: [PATCH] OO-4207: Refactoring live stream course node to new edit controller structure --- .../course/nodes/LiveStreamCourseNode.java | 8 ++++- .../ui/LiveStreamEditController.java | 35 +++---------------- .../ui/_i18n/LocalStrings_de.properties | 2 -- .../ui/_i18n/LocalStrings_en.properties | 2 -- .../ui/_i18n/LocalStrings_fr.properties | 2 -- .../ui/_i18n/LocalStrings_pt_BR.properties | 2 -- 6 files changed, 12 insertions(+), 39 deletions(-) diff --git a/src/main/java/org/olat/course/nodes/LiveStreamCourseNode.java b/src/main/java/org/olat/course/nodes/LiveStreamCourseNode.java index cf571df75e9..08befccb1be 100644 --- a/src/main/java/org/olat/course/nodes/LiveStreamCourseNode.java +++ b/src/main/java/org/olat/course/nodes/LiveStreamCourseNode.java @@ -32,6 +32,7 @@ import org.olat.core.gui.translator.Translator; import org.olat.core.util.Util; import org.olat.course.ICourse; import org.olat.course.condition.ConditionEditController; +import org.olat.course.editor.ConditionAccessEditConfig; import org.olat.course.editor.CourseEditorEnv; import org.olat.course.editor.NodeEditController; import org.olat.course.editor.StatusDescription; @@ -75,11 +76,16 @@ public class LiveStreamCourseNode extends AbstractAccessableCourseNode { public TabbableController createEditController(UserRequest ureq, WindowControl wControl, BreadcrumbPanel stackPanel, ICourse course, UserCourseEnvironment euce) { updateModuleConfigDefaults(false); - LiveStreamEditController editCtrl = new LiveStreamEditController(ureq, wControl, this, course, euce); + LiveStreamEditController editCtrl = new LiveStreamEditController(ureq, wControl, getModuleConfiguration()); CourseNode chosenNode = course.getEditorTreeModel().getCourseNode(euce.getCourseEditorEnv().getCurrentCourseNodeId()); return new NodeEditController(ureq, wControl, course, chosenNode, euce, editCtrl); } + @Override + public ConditionAccessEditConfig getAccessEditConfig() { + return ConditionAccessEditConfig.regular(false); + } + @Override public NodeRunConstructionResult createNodeRunConstructionResult(UserRequest ureq, WindowControl wControl, UserCourseEnvironment userCourseEnv, CourseNodeSecurityCallback nodeSecCallback, String nodecmd) { diff --git a/src/main/java/org/olat/course/nodes/livestream/ui/LiveStreamEditController.java b/src/main/java/org/olat/course/nodes/livestream/ui/LiveStreamEditController.java index 51993b6d189..b9467f172a1 100644 --- a/src/main/java/org/olat/course/nodes/livestream/ui/LiveStreamEditController.java +++ b/src/main/java/org/olat/course/nodes/livestream/ui/LiveStreamEditController.java @@ -27,13 +27,8 @@ import org.olat.core.gui.control.ControllerEventListener; 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.nodes.LiveStreamCourseNode; -import org.olat.course.run.userview.UserCourseEnvironment; +import org.olat.modules.ModuleConfiguration; /** * @@ -43,36 +38,22 @@ import org.olat.course.run.userview.UserCourseEnvironment; */ public class LiveStreamEditController extends ActivateableTabbableDefaultController implements ControllerEventListener { - private static final String PANE_TAB_ACCESSIBILITY = "pane.tab.accessibility"; private static final String PANE_TAB_CONFIG = "pane.tab.config"; - private final static String[] paneKeys = { PANE_TAB_CONFIG, PANE_TAB_ACCESSIBILITY }; + private final static String[] paneKeys = { PANE_TAB_CONFIG }; private TabbedPane tabPane; - private ConditionEditController accessibilityCondContr; private LiveStreamConfigController liveStreamConfigController; - private final LiveStreamCourseNode courseNode; - - public LiveStreamEditController(UserRequest ureq, WindowControl wControl, LiveStreamCourseNode liveStreamCourseNode, - ICourse course, UserCourseEnvironment userCourseEnv) { + public LiveStreamEditController(UserRequest ureq, WindowControl wControl, ModuleConfiguration moduleConfig) { super(ureq, wControl); - this.courseNode = liveStreamCourseNode; - - Condition accessCondition = liveStreamCourseNode.getPreConditionAccess(); - accessibilityCondContr = new ConditionEditController(ureq, wControl, userCourseEnv, accessCondition, - AssessmentHelper.getAssessableNodes(course.getEditorTreeModel(), liveStreamCourseNode)); - listenTo(accessibilityCondContr); - liveStreamConfigController = new LiveStreamConfigController(ureq, wControl, - liveStreamCourseNode.getModuleConfiguration()); + liveStreamConfigController = new LiveStreamConfigController(ureq, wControl, moduleConfig); listenTo(liveStreamConfigController); } @Override public void addTabs(TabbedPane tabbedPane) { tabPane = tabbedPane; - tabbedPane.addTab(translate(PANE_TAB_ACCESSIBILITY), - accessibilityCondContr.getWrappedDefaultAccessConditionVC(translate("condition.accessibility.title"))); tabbedPane.addTab(translate(PANE_TAB_CONFIG), liveStreamConfigController.getInitialComponent()); } @@ -88,13 +69,7 @@ public class LiveStreamEditController extends ActivateableTabbableDefaultControl @Override public void event(UserRequest ureq, Controller source, Event event) { - if (source == accessibilityCondContr) { - if (event == Event.CHANGED_EVENT) { - Condition cond = accessibilityCondContr.getCondition(); - courseNode.setPreConditionAccess(cond); - fireEvent(ureq, NodeEditController.NODECONFIG_CHANGED_EVENT); - } - } else if (source == liveStreamConfigController && event.equals(Event.DONE_EVENT)) { + if (source == liveStreamConfigController && event.equals(Event.DONE_EVENT)) { liveStreamConfigController.getUpdatedConfig(); fireEvent(ureq, NodeEditController.NODECONFIG_CHANGED_EVENT); } diff --git a/src/main/java/org/olat/course/nodes/livestream/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/course/nodes/livestream/ui/_i18n/LocalStrings_de.properties index 64015ecc6c6..29a9ee10af5 100644 --- a/src/main/java/org/olat/course/nodes/livestream/ui/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/course/nodes/livestream/ui/_i18n/LocalStrings_de.properties @@ -7,14 +7,12 @@ admin.general.title=$:\admin.menu.title admin.menu.title=Livestream admin.menu.title.alt=$:\admin.menu.title admin.module.enabled=Kursbaustein -condition.accessibility.title=Zugang config.buffer.before.min=Vorlaufzeit (in Minuten) config.buffer.after.min=Nachlaufzeit (in Minuten) config.coach.edit=Betreuer darf Termine bearbeiten form.error.wrong.int=Falsches Zahlenformat. Beispiele\: 2, 10, 144 link.text=Video Livestream list.title=Anstehende Livestreams -pane.tab.accessibility=Zugang pane.tab.config=Konfiguration peekview.no.streams=Es sind keine Livestreams geplant. peekview.open.live=Livestream anzeigen diff --git a/src/main/java/org/olat/course/nodes/livestream/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/course/nodes/livestream/ui/_i18n/LocalStrings_en.properties index 75ab5aa3dcb..f0d1afbf889 100644 --- a/src/main/java/org/olat/course/nodes/livestream/ui/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/course/nodes/livestream/ui/_i18n/LocalStrings_en.properties @@ -7,14 +7,12 @@ admin.general.title=$:\admin.menu.title admin.menu.title=Live stream admin.menu.title.alt=$:\admin.menu.title admin.module.enabled=Course element -condition.accessibility.title=Access config.buffer.before.min=Buffer time before start (in minutes) config.buffer.after.min=Buffer time after end (in minutes) config.coach.edit=Coach is allowed to edit form.error.wrong.int=Wrong numeral format. Examples\: 2, 10, 144 link.text=Video live stream list.title=Upcoming live streams -pane.tab.accessibility=Access pane.tab.config=Configuration peekview.no.streams=No live streams are planned. peekview.open.live=Show live stream diff --git a/src/main/java/org/olat/course/nodes/livestream/ui/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/course/nodes/livestream/ui/_i18n/LocalStrings_fr.properties index 485d5ec9645..0830a1cc6e7 100644 --- a/src/main/java/org/olat/course/nodes/livestream/ui/_i18n/LocalStrings_fr.properties +++ b/src/main/java/org/olat/course/nodes/livestream/ui/_i18n/LocalStrings_fr.properties @@ -8,14 +8,12 @@ admin.general.title=$\:admin.menu.title admin.menu.title=Live stream admin.menu.title.alt=$\:admin.menu.title admin.module.enabled=El\u00E9ment de cours -condition.accessibility.title=Acc\u00E8s config.buffer.after.min=P\u00E9riode de pr\u00E9paration (en minutes) config.buffer.before.min=P\u00E9riode de temporisation (en minutes) config.coach.edit=Les coaches peuvent \u00E9diter les rendez-vous. form.error.wrong.int=Format de nombre invalide. Exemples\: 2, 10, 144 link.text=Diffusion vid\u00E9o en direct list.title=Futures diffusions -pane.tab.accessibility=Acc\u00E8s pane.tab.config=Configuration peekview.no.streams=Aucune diffusion n'est pr\u00E9vue. peekview.open.live=Afficher la diffusion en direct diff --git a/src/main/java/org/olat/course/nodes/livestream/ui/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/course/nodes/livestream/ui/_i18n/LocalStrings_pt_BR.properties index ca4dca335ec..8a51ba12d2f 100644 --- a/src/main/java/org/olat/course/nodes/livestream/ui/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/course/nodes/livestream/ui/_i18n/LocalStrings_pt_BR.properties @@ -8,14 +8,12 @@ admin.general.title=$\:admin.menu.title admin.menu.title=Transmiss\u00E3o ao vivo admin.menu.title.alt=$\:admin.menu.title admin.module.enabled=Elemento de curso -condition.accessibility.title=Acesso config.buffer.after.min=Tempo de buffer ap\u00F3s o final (em minutos) config.buffer.before.min=Tempo de buffer antes do in\u00EDcio (em minutos) config.coach.edit=O treinador tem permiss\u00E3o para editar form.error.wrong.int=Formato numeral incorreto. Exemplos\: 2, 10, 144 link.text=V\u00EDdeo ao vivo list.title=Pr\u00F3ximas transmiss\u00F5es ao vivo -pane.tab.accessibility=Acesso pane.tab.config=Configura\u00E7\u00E3o peekview.no.streams=N\u00E3o h\u00E1 transmiss\u00F5es ao vivo planejadas. peekview.open.live=Mostrar transmiss\u00E3o ao vivo -- GitLab