From 09b81b609bb93df6092036c8771bc3d457fa9d10 Mon Sep 17 00:00:00 2001 From: srosse <stephane.rosse@frentix.com> Date: Thu, 9 May 2019 16:02:02 +0200 Subject: [PATCH] OO-4034: fix some usability issues in GoToMeeting admin. configuration --- .../gotomeeting/ui/GoToAdminController.java | 3 ++ .../ui/GoToConfigurationController.java | 41 ++++++++++++------- 2 files changed, 30 insertions(+), 14 deletions(-) diff --git a/src/main/java/org/olat/modules/gotomeeting/ui/GoToAdminController.java b/src/main/java/org/olat/modules/gotomeeting/ui/GoToAdminController.java index 6bbf08da097..2817ac5bfa7 100644 --- a/src/main/java/org/olat/modules/gotomeeting/ui/GoToAdminController.java +++ b/src/main/java/org/olat/modules/gotomeeting/ui/GoToAdminController.java @@ -84,11 +84,14 @@ public class GoToAdminController extends BasicController implements Activateable String type = entries.get(0).getOLATResourceable().getResourceableTypeName(); if("Configuration".equalsIgnoreCase(type)) { doOpenAccountSettings(ureq); + segmentView.select(accountLink); } else if("Organizers".equalsIgnoreCase(type)) { List<ContextEntry> subEntries = entries.subList(1, entries.size()); doOpenOrganizersList(ureq).activate(ureq, subEntries, entries.get(0).getTransientState()); + segmentView.select(organizersLink); } else if("Meetings".equalsIgnoreCase(type)) { doOpenMeetingsList(ureq); + segmentView.select(meetingsLink); } } diff --git a/src/main/java/org/olat/modules/gotomeeting/ui/GoToConfigurationController.java b/src/main/java/org/olat/modules/gotomeeting/ui/GoToConfigurationController.java index 253f2429d1d..c119c59168f 100644 --- a/src/main/java/org/olat/modules/gotomeeting/ui/GoToConfigurationController.java +++ b/src/main/java/org/olat/modules/gotomeeting/ui/GoToConfigurationController.java @@ -19,6 +19,10 @@ */ package org.olat.modules.gotomeeting.ui; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.form.flexible.FormItem; import org.olat.core.gui.components.form.flexible.FormItemContainer; @@ -72,9 +76,8 @@ public class GoToConfigurationController extends FormBasicController { String consumerSecret = goToMeetingModule.getTrainingConsumerSecret(); trainingConsumerSecretEl = uifactory.addTextElement("training.consumersecret", "training.consumersecret", 128, consumerSecret, formLayout); - timeZoneEls = uifactory.addDropdownSingleselect("timezone.ids", "timezone.id", formLayout, - GoToTimezoneIDs.TIMEZONE_IDS, GoToTimezoneIDs.TIMEZONE_IDS, null); - timeZoneEls.addActionListener(FormEvent.ONCHANGE); + String[] timezoneIds = orderedTimezoneIds(); + timeZoneEls = uifactory.addDropdownSingleselect("timezone.ids", "timezone.id", formLayout, timezoneIds, timezoneIds, null); String timeZoneId = goToMeetingModule.getGoToTimeZoneId(); for(String key: GoToTimezoneIDs.TIMEZONE_IDS) { if(key.equals(timeZoneId)) { @@ -88,9 +91,17 @@ public class GoToConfigurationController extends FormBasicController { uifactory.addFormSubmitButton("save", buttonLayout); } + private String[] orderedTimezoneIds() { + String[] timezoneIds = GoToTimezoneIDs.TIMEZONE_IDS; + List<String> timezoneIdList = Arrays.asList(timezoneIds); + Collections.sort(timezoneIdList); + return timezoneIdList.toArray(new String[timezoneIdList.size()]); + } + private void updateEnabled() { boolean enabled = enabledEl.isAtLeastSelected(1); trainingConsumerKeyEl.setVisible(enabled); + trainingConsumerSecretEl.setVisible(enabled); timeZoneEls.setVisible(enabled); } @@ -102,23 +113,25 @@ public class GoToConfigurationController extends FormBasicController { @Override protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) { if(enabledEl == source) { - goToMeetingModule.setEnabled(enabledEl.isAtLeastSelected(1)); updateEnabled(); - } else if(timeZoneEls == source) { - String selectedTimeZoneId = timeZoneEls.getSelectedKey(); - goToMeetingModule.setGoToTimeZoneId(selectedTimeZoneId); } super.formInnerEvent(ureq, source, event); } @Override protected void formOK(UserRequest ureq) { - String trainingConsumerKey = trainingConsumerKeyEl.getValue(); - goToMeetingModule.setTrainingConsumerKey(trainingConsumerKey); - String trainingConsumerSecret = trainingConsumerSecretEl.getValue(); - goToMeetingModule.setTrainingConsumerSecret(trainingConsumerSecret); - - String selectedTimeZoneId = timeZoneEls.getSelectedKey(); - goToMeetingModule.setGoToTimeZoneId(selectedTimeZoneId); + goToMeetingModule.setEnabled(enabledEl.isAtLeastSelected(1)); + if(enabledEl.isAtLeastSelected(1)) { + String trainingConsumerKey = trainingConsumerKeyEl.getValue(); + goToMeetingModule.setTrainingConsumerKey(trainingConsumerKey); + String trainingConsumerSecret = trainingConsumerSecretEl.getValue(); + goToMeetingModule.setTrainingConsumerSecret(trainingConsumerSecret); + String selectedTimeZoneId = timeZoneEls.getSelectedKey(); + goToMeetingModule.setGoToTimeZoneId(selectedTimeZoneId); + } else { + goToMeetingModule.setTrainingConsumerKey(null); + goToMeetingModule.setTrainingConsumerSecret(null); + goToMeetingModule.setGoToTimeZoneId(null); + } } } -- GitLab