diff --git a/src/main/java/com/frentix/olat/course/nodes/ViteroCourseNode.java b/src/main/java/com/frentix/olat/course/nodes/ViteroCourseNode.java index 8807a4fda65300c8a247589df56aac6c9ecef4bf..2c1f44cd25a2da7fade1cfbf991a96f2a163bf78 100644 --- a/src/main/java/com/frentix/olat/course/nodes/ViteroCourseNode.java +++ b/src/main/java/com/frentix/olat/course/nodes/ViteroCourseNode.java @@ -50,8 +50,8 @@ import org.olat.repository.RepositoryManager; import com.frentix.olat.course.nodes.vitero.ViteroEditController; import com.frentix.olat.course.nodes.vitero.ViteroPeekViewController; -import com.frentix.olat.course.nodes.vitero.ViteroRunController; import com.frentix.olat.vitero.manager.ViteroManager; +import com.frentix.olat.vitero.ui.ViteroBookingsRunController; /** * @@ -119,8 +119,8 @@ public class ViteroCourseNode extends AbstractAccessableCourseNode { Long resourceId = userCourseEnv.getCourseEnvironment().getCourseResourceableId(); OLATResourceable ores = OresHelper.createOLATResourceableInstance(CourseModule.class, resourceId); - - Controller runCtr = new ViteroRunController(ureq, wControl, ores); + String courseTitle = userCourseEnv.getCourseEnvironment().getCourseTitle(); + Controller runCtr = new ViteroBookingsRunController(ureq, wControl, null, ores, courseTitle, moderator); Controller controller = TitledWrapperHelper.getWrapper(ureq, wControl, runCtr, this, "o_vc_icon"); return new NodeRunConstructionResult(controller); } diff --git a/src/main/java/com/frentix/olat/course/nodes/vitero/ViteroRunController.java b/src/main/java/com/frentix/olat/course/nodes/vitero/ViteroRunController.java index 209dc18bc34aaf00b50f4014c98d7059c1a8dfb8..24b7970866c6e847e235f6bb50e4afac60f2d17e 100644 --- a/src/main/java/com/frentix/olat/course/nodes/vitero/ViteroRunController.java +++ b/src/main/java/com/frentix/olat/course/nodes/vitero/ViteroRunController.java @@ -27,7 +27,7 @@ import org.olat.core.gui.control.WindowControl; import org.olat.core.gui.control.controller.BasicController; import org.olat.core.id.OLATResourceable; -import com.frentix.olat.vitero.ui.ViteroBookingsController; +import com.frentix.olat.vitero.ui.ViteroBookingsRunController; /** * @@ -40,12 +40,12 @@ import com.frentix.olat.vitero.ui.ViteroBookingsController; */ public class ViteroRunController extends BasicController { - private final ViteroBookingsController bookingsController; + private final ViteroBookingsRunController bookingsController; public ViteroRunController(UserRequest ureq, WindowControl wControl, OLATResourceable ores) { super(ureq, wControl); - bookingsController = new ViteroBookingsController(ureq, wControl, null, ores); + bookingsController = new ViteroBookingsRunController(ureq, wControl, null, ores, "Test", false); listenTo(bookingsController); putInitialPanel(bookingsController.getInitialComponent()); diff --git a/src/main/java/com/frentix/olat/vitero/ui/ViteroAdminBookingInfosController.java b/src/main/java/com/frentix/olat/vitero/ui/ViteroAdminBookingInfosController.java index db705a120748d8a59bbc8295a4349f5e85223929..8f88759506792ea7d20b251cc62dbd048da64e00 100644 --- a/src/main/java/com/frentix/olat/vitero/ui/ViteroAdminBookingInfosController.java +++ b/src/main/java/com/frentix/olat/vitero/ui/ViteroAdminBookingInfosController.java @@ -32,7 +32,6 @@ import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; import org.olat.core.gui.control.controller.BasicController; -import com.frentix.olat.vitero.ViteroModule; import com.frentix.olat.vitero.model.ViteroBooking; import com.frentix.olat.vitero.model.ViteroGroup; diff --git a/src/main/java/com/frentix/olat/vitero/ui/ViteroBookingEditController.java b/src/main/java/com/frentix/olat/vitero/ui/ViteroBookingEditController.java index 602ad1051dd831fc7aae11128ed8744244a71d76..1f7039821dae28566b5626928872cb96c4a0ed7a 100644 --- a/src/main/java/com/frentix/olat/vitero/ui/ViteroBookingEditController.java +++ b/src/main/java/com/frentix/olat/vitero/ui/ViteroBookingEditController.java @@ -101,7 +101,7 @@ public class ViteroBookingEditController extends FormBasicController { @Override protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { - setFormTitle("booking.title"); + setFormTitle("booking.admin.title"); boolean editable = booking.getBookingId() <= 0; if(editable) { setFormWarning("new.booking.warning"); diff --git a/src/main/java/com/frentix/olat/vitero/ui/ViteroBookingsRunController.java b/src/main/java/com/frentix/olat/vitero/ui/ViteroBookingsRunController.java new file mode 100644 index 0000000000000000000000000000000000000000..2b782647984fa09498c7e69c53deafd08852c120 --- /dev/null +++ b/src/main/java/com/frentix/olat/vitero/ui/ViteroBookingsRunController.java @@ -0,0 +1,124 @@ +/** + * OLAT - Online Learning and Training<br> + * http://www.olat.org + * <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 + * <p> + * http://www.apache.org/licenses/LICENSE-2.0 + * <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> + * Copyright (c) frentix GmbH<br> + * http://www.frentix.com<br> + * <p> + */ +package com.frentix.olat.vitero.ui; + +import org.olat.core.gui.UserRequest; +import org.olat.core.gui.components.Component; +import org.olat.core.gui.components.link.Link; +import org.olat.core.gui.components.link.LinkFactory; +import org.olat.core.gui.components.segmentedview.SegmentViewComponent; +import org.olat.core.gui.components.segmentedview.SegmentViewEvent; +import org.olat.core.gui.components.segmentedview.SegmentViewFactory; +import org.olat.core.gui.components.velocity.VelocityContainer; +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.core.id.OLATResourceable; +import org.olat.group.BusinessGroup; + +/** + * + * Description:<br> + * + * <P> + * Initial Date: 13 oct. 2011 <br> + * + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + */ +public class ViteroBookingsRunController extends BasicController { + + private Link bookingsLink; + private Link adminLink; + private SegmentViewComponent segmentView; + private VelocityContainer mainVC; + + private ViteroBookingsController bookingsController; + private ViteroBookingsEditController adminController; + + private final BusinessGroup group; + private final OLATResourceable ores; + private final String resourceName; + + public ViteroBookingsRunController(UserRequest ureq, WindowControl wControl, BusinessGroup group, OLATResourceable ores, + String resourceName, boolean admin) { + super(ureq, wControl); + + this.group = group; + this.ores = ores; + this.resourceName = resourceName; + + if(admin) { + mainVC = createVelocityContainer("run_admin"); + + segmentView = SegmentViewFactory.createSegmentView("segments", mainVC, this); + bookingsLink = LinkFactory.createLink("booking.title", mainVC, this); + segmentView.addSegment(bookingsLink, true); + + adminLink = LinkFactory.createLink("booking.admin.title", mainVC, this); + segmentView.addSegment(adminLink, false); + + doOpenBookings(ureq); + + putInitialPanel(mainVC); + } else { + bookingsController = new ViteroBookingsController(ureq, wControl,group, ores); + listenTo(bookingsController); + putInitialPanel(bookingsController.getInitialComponent()); + } + } + + @Override + protected void doDispose() { + // + } + + @Override + protected void event(UserRequest ureq, Component source, Event event) { + if(source == segmentView) { + if(event instanceof SegmentViewEvent) { + SegmentViewEvent sve = (SegmentViewEvent)event; + String segmentCName = sve.getComponentName(); + Component clickedLink = mainVC.getComponent(segmentCName); + if (clickedLink == bookingsLink) { + doOpenBookings(ureq); + } else if (clickedLink == adminLink){ + doOpenAdmin(ureq); + } + } + } + } + + private void doOpenBookings(UserRequest ureq) { + if(bookingsController == null) { + bookingsController = new ViteroBookingsController(ureq, getWindowControl(), group, ores); + listenTo(bookingsController); + } + mainVC.put("segmentCmp", bookingsController.getInitialComponent()); + } + + private void doOpenAdmin(UserRequest ureq) { + if(adminController == null) { + adminController = new ViteroBookingsEditController(ureq, getWindowControl(), group, ores, resourceName); + listenTo(adminController); + } + mainVC.put("segmentCmp", adminController.getInitialComponent()); + } +} \ No newline at end of file diff --git a/src/main/java/com/frentix/olat/vitero/ui/_content/edit.html b/src/main/java/com/frentix/olat/vitero/ui/_content/edit.html index a0739f37a62560502577be8a5b7c97677c6aa6db..68003bdee9139eb07f5d697b0caef9fc894d9cf6 100644 --- a/src/main/java/com/frentix/olat/vitero/ui/_content/edit.html +++ b/src/main/java/com/frentix/olat/vitero/ui/_content/edit.html @@ -1,5 +1,5 @@ <fieldset> - <legend>$r.translate("booking.title")</legend> + <legend>$r.translate("booking.admin.title")</legend> $r.contextHelpWithWrapper("com.frentix.olat.vitero.ui","ced-vitero-config.html","help.hover.vitero") <table> <tr> diff --git a/src/main/java/com/frentix/olat/vitero/ui/_content/run_admin.html b/src/main/java/com/frentix/olat/vitero/ui/_content/run_admin.html new file mode 100644 index 0000000000000000000000000000000000000000..3d776f938257908fbbff3a476ab4ca371c009513 --- /dev/null +++ b/src/main/java/com/frentix/olat/vitero/ui/_content/run_admin.html @@ -0,0 +1,7 @@ +<div class="b_clearfix"> + $r.render("segments") <br/> + + #if($r.available("segmentCmp")) + $r.render("segmentCmp") + #end +</div> \ No newline at end of file diff --git a/src/main/java/com/frentix/olat/vitero/ui/_i18n/LocalStrings_de.properties b/src/main/java/com/frentix/olat/vitero/ui/_i18n/LocalStrings_de.properties index 622b06cf9b64d76bee4211e84fa6d84f164f6083..b1656510f8aa092cfd549b9c667ef4dba5173e4f 100644 --- a/src/main/java/com/frentix/olat/vitero/ui/_i18n/LocalStrings_de.properties +++ b/src/main/java/com/frentix/olat/vitero/ui/_i18n/LocalStrings_de.properties @@ -33,6 +33,7 @@ booking.end=End booking.endBuffer=Ende buffer booking.resource=Resource booking.title=Termin f\u00fcr Meeting +booking.admin.title=Configure Termine booking.autoSignIn=Auto sign-in booking.roomSize=Room size booking.raw.title=Room