diff --git a/src/main/java/org/olat/course/config/ui/CourseExecutionSettingsController.java b/src/main/java/org/olat/course/config/ui/CourseExecutionSettingsController.java index 9d2e2b03981dcc767b6d5f054fae96bf81a3eff3..86b7f77551288dda0b3ede196e4b8ab29f188a91 100644 --- a/src/main/java/org/olat/course/config/ui/CourseExecutionSettingsController.java +++ b/src/main/java/org/olat/course/config/ui/CourseExecutionSettingsController.java @@ -26,6 +26,7 @@ import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; import org.olat.core.gui.control.controller.BasicController; +import org.olat.course.nodeaccess.ui.NodeAccessSettingsController; import org.olat.modules.lecture.LectureModule; import org.olat.modules.lecture.ui.LectureRepositorySettingsController; import org.olat.repository.RepositoryEntry; @@ -42,6 +43,7 @@ public class CourseExecutionSettingsController extends BasicController { private RepositoryEntryLifecycleController lifecycleCtrl; private LectureRepositorySettingsController lectureSettingsCtrl; + private NodeAccessSettingsController nodeAccessSettingsCtrl; @Autowired private LectureModule lectureModule; @@ -61,6 +63,10 @@ public class CourseExecutionSettingsController extends BasicController { mainVC.put("lectures", lectureSettingsCtrl.getInitialComponent()); } + nodeAccessSettingsCtrl = new NodeAccessSettingsController(ureq, wControl, entry); + listenTo(nodeAccessSettingsCtrl); + mainVC.put("nodeAccess", nodeAccessSettingsCtrl.getInitialComponent()); + putInitialPanel(mainVC); } diff --git a/src/main/java/org/olat/course/config/ui/_content/execution_settings.html b/src/main/java/org/olat/course/config/ui/_content/execution_settings.html index be4743bbae126dee34da0fb63e53767faa4cb08b..1256da6c06ae74a7bdba43c2156bb47e5c5fe6df 100644 --- a/src/main/java/org/olat/course/config/ui/_content/execution_settings.html +++ b/src/main/java/org/olat/course/config/ui/_content/execution_settings.html @@ -3,4 +3,5 @@ $r.render("lifecycle") #if($r.available("lectures")) $r.render("lectures") #end +$r.render("nodeAccess") </div> \ No newline at end of file diff --git a/src/main/java/org/olat/course/nodeaccess/ui/NodeAccessSettingsController.java b/src/main/java/org/olat/course/nodeaccess/ui/NodeAccessSettingsController.java new file mode 100644 index 0000000000000000000000000000000000000000..35a350a5ac103b5bc8620e8eec1a74c089a67e88 --- /dev/null +++ b/src/main/java/org/olat/course/nodeaccess/ui/NodeAccessSettingsController.java @@ -0,0 +1,82 @@ +/** + * <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.nodeaccess.ui; + +import org.olat.core.gui.UserRequest; +import org.olat.core.gui.components.form.flexible.FormItemContainer; +import org.olat.core.gui.components.form.flexible.elements.SingleSelection; +import org.olat.core.gui.components.form.flexible.impl.FormBasicController; +import org.olat.core.gui.components.util.KeyValues; +import org.olat.core.gui.control.Controller; +import org.olat.core.gui.control.WindowControl; +import org.olat.course.CourseFactory; +import org.olat.course.ICourse; +import org.olat.course.nodeaccess.NodeAccessProviderIdentifier; +import org.olat.course.nodeaccess.NodeAccessService; +import org.olat.repository.RepositoryEntry; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * + * Initial date: 27 Aug 2019<br> + * @author uhensler, urs.hensler@frentix.com, http://www.frentix.com + * + */ +public class NodeAccessSettingsController extends FormBasicController { + + private SingleSelection nodeAccessEl; + + private final String nodeAccessType; + + @Autowired + private NodeAccessService nodeAccessService; + + public NodeAccessSettingsController(UserRequest ureq, WindowControl wControl, RepositoryEntry entry) { + super(ureq, wControl); + ICourse course = CourseFactory.loadCourse(entry); + this.nodeAccessType = course.getCourseConfig().getNodeAccessType(); + initForm(ureq); + } + + @Override + protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { + setFormTitle("settings.title"); + + KeyValues nodeAccessKV = new KeyValues(); + for (NodeAccessProviderIdentifier identifier : nodeAccessService.getNodeAccessProviderIdentifer()) { + nodeAccessKV.add(KeyValues.entry(identifier.getType(), identifier.getDisplayName(getLocale()))); + } + nodeAccessEl = uifactory.addDropdownSingleselect("settings.type", "settings.type", formLayout, + nodeAccessKV.keys(), nodeAccessKV.values()); + nodeAccessEl.setEnabled(false); + nodeAccessEl.select(nodeAccessType, true); + } + + @Override + protected void formOK(UserRequest ureq) { + // + } + + @Override + protected void doDispose() { + // + } + +} diff --git a/src/main/java/org/olat/course/nodeaccess/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/course/nodeaccess/ui/_i18n/LocalStrings_de.properties new file mode 100644 index 0000000000000000000000000000000000000000..8cf0e1f9c399f16c0d16cd070f2f347e29b1f5d3 --- /dev/null +++ b/src/main/java/org/olat/course/nodeaccess/ui/_i18n/LocalStrings_de.properties @@ -0,0 +1,2 @@ +settings.title=Zugriff Kursbausteine +settings.type=Typ \ No newline at end of file diff --git a/src/main/java/org/olat/course/nodeaccess/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/course/nodeaccess/ui/_i18n/LocalStrings_en.properties new file mode 100644 index 0000000000000000000000000000000000000000..35d892206a1aa1b51e4e2c9ca5da5029925afa37 --- /dev/null +++ b/src/main/java/org/olat/course/nodeaccess/ui/_i18n/LocalStrings_en.properties @@ -0,0 +1,2 @@ +settings.title=Access course elements +settings.type=Type \ No newline at end of file