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

OO-4630: Participant gets directly to the appointment selection if appropriate

Appropriate means, if only one topic is available and he has not selected
an appointment yet.
parent 69b300aa
No related branches found
No related tags found
No related merge requests found
...@@ -27,6 +27,7 @@ import org.olat.core.gui.control.Controller; ...@@ -27,6 +27,7 @@ import org.olat.core.gui.control.Controller;
import org.olat.core.gui.control.Event; import org.olat.core.gui.control.Event;
import org.olat.core.gui.control.WindowControl; import org.olat.core.gui.control.WindowControl;
import org.olat.core.gui.control.controller.BasicController; import org.olat.core.gui.control.controller.BasicController;
import org.olat.core.gui.control.generic.dtabs.Activateable2;
import org.olat.course.nodes.appointments.AppointmentsSecurityCallback; import org.olat.course.nodes.appointments.AppointmentsSecurityCallback;
import org.olat.repository.RepositoryEntry; import org.olat.repository.RepositoryEntry;
...@@ -58,6 +59,10 @@ public class AppointmentsRunController extends BasicController { ...@@ -58,6 +59,10 @@ public class AppointmentsRunController extends BasicController {
} }
listenTo(topicsCtrl); listenTo(topicsCtrl);
stackPanel.pushController("topics", topicsCtrl); stackPanel.pushController("topics", topicsCtrl);
if (topicsCtrl instanceof Activateable2) {
((Activateable2)topicsCtrl).activate(ureq, null, null);
}
mainVC.put("topics", stackPanel); mainVC.put("topics", stackPanel);
putInitialPanel(mainVC); putInitialPanel(mainVC);
......
...@@ -43,6 +43,9 @@ import org.olat.core.gui.control.Event; ...@@ -43,6 +43,9 @@ import org.olat.core.gui.control.Event;
import org.olat.core.gui.control.WindowControl; import org.olat.core.gui.control.WindowControl;
import org.olat.core.gui.control.controller.BasicController; import org.olat.core.gui.control.controller.BasicController;
import org.olat.core.gui.control.generic.closablewrapper.CloseableModalController; import org.olat.core.gui.control.generic.closablewrapper.CloseableModalController;
import org.olat.core.gui.control.generic.dtabs.Activateable2;
import org.olat.core.id.context.ContextEntry;
import org.olat.core.id.context.StateEntry;
import org.olat.core.util.StringHelper; import org.olat.core.util.StringHelper;
import org.olat.course.nodes.appointments.Appointment; import org.olat.course.nodes.appointments.Appointment;
import org.olat.course.nodes.appointments.AppointmentSearchParams; import org.olat.course.nodes.appointments.AppointmentSearchParams;
...@@ -61,7 +64,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -61,7 +64,7 @@ import org.springframework.beans.factory.annotation.Autowired;
* @author uhensler, urs.hensler@frentix.com, http://www.frentix.com * @author uhensler, urs.hensler@frentix.com, http://www.frentix.com
* *
*/ */
public class TopicsRunController extends BasicController { public class TopicsRunController extends BasicController implements Activateable2 {
private static final String CMD_OPEN = "open"; private static final String CMD_OPEN = "open";
private static final String CMD_EMAIL = "email"; private static final String CMD_EMAIL = "email";
...@@ -77,6 +80,7 @@ public class TopicsRunController extends BasicController { ...@@ -77,6 +80,7 @@ public class TopicsRunController extends BasicController {
private final String subIdent; private final String subIdent;
private final Configuration config; private final Configuration config;
private List<TopicWrapper> topics;
private int counter; private int counter;
@Autowired @Autowired
...@@ -98,9 +102,19 @@ public class TopicsRunController extends BasicController { ...@@ -98,9 +102,19 @@ public class TopicsRunController extends BasicController {
putInitialPanel(mainVC); putInitialPanel(mainVC);
} }
@Override
public void activate(UserRequest ureq, List<ContextEntry> entries, StateEntry state) {
if (topics.size() == 1) {
TopicWrapper topicWrapper = topics.get(0);
if (topicWrapper.getDate() == null) {
doOpenTopic(ureq, topicWrapper.getTopic());
}
}
}
private void refresh() { private void refresh() {
removeButtons(); removeButtons();
List<TopicWrapper> topics = loadTopicWrappers(); topics = loadTopicWrappers();
mainVC.contextPut("topics", topics); mainVC.contextPut("topics", topics);
} }
......
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