diff options
author | Jonathan Bauer | 2016-08-17 15:02:51 +0200 |
---|---|---|
committer | Jonathan Bauer | 2016-08-17 15:02:51 +0200 |
commit | 69dbf28b8eedf7e0824cc85ef7122f593678f6dc (patch) | |
tree | aaa66aec89120642e1af6c464bfd69e6be408d43 | |
parent | Merge branch 'v1.1' of git.openslx.org:openslx-ng/tutor-module into v1.1 (diff) | |
download | tutor-module-69dbf28b8eedf7e0824cc85ef7122f593678f6dc.tar.gz tutor-module-69dbf28b8eedf7e0824cc85ef7122f593678f6dc.tar.xz tutor-module-69dbf28b8eedf7e0824cc85ef7122f593678f6dc.zip |
[client] re-enable advanced and restrictions tabs based on API version
5 files changed, 35 insertions, 17 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java index 2781372e..b1ceb434 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java @@ -744,16 +744,19 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements protected void toggleEditable(boolean editable) { // if we don't have a lecture and an image set, just disable editable &= (LecturePerms.canEdit(lecture)); - // "Übersicht" is always enabled + // enable the standard tabs that are always enabled pnlTabs.setEnabledAt(pnlTabs.indexOfTab("Allgemein"), editable); - // TODO: enable when restriction stuff is finished - // pnlTabs.setEnabledAt(pnlTabs.indexOfTab("Beschränkungen"), editable); pnlTabs.setEnabledAt(pnlTabs.indexOfTab("Berechtigungen"), editable && LecturePerms.canAdmin(lecture)); + // enable the other tabs that might have been added to the panel (depends on API version) + if (pnlTabs.indexOfTab("Beschränkungen") != -1) { + pnlTabs.setEnabledAt(pnlTabs.indexOfTab("Beschränkungen"), editable); + } if (pnlTabs.indexOfTab("Raumauswahl") != -1) { pnlTabs.setEnabledAt(pnlTabs.indexOfTab("Raumauswahl"), editable); } - // TODO: enable when advanced stuff is finished - // pnlTabs.setEnabledAt(pnlTabs.indexOfTab("Erweitert"), editable); + if (pnlTabs.indexOfTab("Erweitert") != -1) { + pnlTabs.setEnabledAt(pnlTabs.indexOfTab("Erweitert"), editable); + } btnChangeOwner.setEnabled(LecturePerms.canAdmin(lecture)); btnDownloadImage.setEnabled(ImagePerms.canDownload(image)); } diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageListWindowLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageListWindowLayout.java index 74b218d5..df47ecf1 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageListWindowLayout.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageListWindowLayout.java @@ -16,6 +16,7 @@ import org.openslx.dozmod.gui.control.ImageListViewer.FilterType; import org.openslx.dozmod.gui.control.QLabel; import org.openslx.dozmod.gui.helper.CompositePage; import org.openslx.dozmod.gui.helper.GridManager; +import org.openslx.dozmod.thrift.Session; @SuppressWarnings("serial") public abstract class ImageListWindowLayout extends CompositePage { @@ -86,8 +87,10 @@ public abstract class ImageListWindowLayout extends CompositePage { buttonPanel.add(btnDownload); buttonPanel.add(Box.createHorizontalStrut(5)); buttonPanel.add(btnNewLecture); - //buttonPanel.add(Box.createHorizontalStrut(5)); - //buttonPanel.add(btnShowPublishedImages); + if (Session.isImagePublishSupported()) { + buttonPanel.add(Box.createHorizontalStrut(5)); + buttonPanel.add(btnShowPublishedImages); + } buttonPanel.add(Box.createHorizontalGlue()); buttonPanel.add(btnSwitchView); diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LectureDetailsWindowLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LectureDetailsWindowLayout.java index d405ba16..d75c1eed 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LectureDetailsWindowLayout.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LectureDetailsWindowLayout.java @@ -42,6 +42,7 @@ import org.openslx.dozmod.gui.control.QDatePickerImpl; import org.openslx.dozmod.gui.control.QLabel; import org.openslx.dozmod.gui.control.WordWrapLabel; import org.openslx.dozmod.gui.helper.GridManager; +import org.openslx.dozmod.thrift.Session; import org.openslx.dozmod.thrift.cache.MetaDataCache; import org.openslx.dozmod.util.DateLabelFormatter; import org.openslx.dozmod.util.FormatHelper; @@ -373,13 +374,15 @@ public abstract class LectureDetailsWindowLayout extends JDialog { pnlTabs = new JTabbedPane(); pnlTabs.addTab("Übersicht", pnlTabInfo); pnlTabs.addTab("Allgemein", pnlTabGeneral); - // TODO enable when restriction stuff is done - // pnlTabs.addTab("Beschränkungen", pnlTabRestrictions); + if (Session.isNetrulesSupported()) { + pnlTabs.addTab("Beschränkungen", pnlTabRestrictions); + } if (MetaDataCache.getLocations() != null && !MetaDataCache.getLocations().isEmpty()) { pnlTabs.addTab("Raumauswahl", pnlTabLocations); } - // TODO enable when advanced stuff is done - // pnlTabs.addTab("Erweitert", pnlTabAdvanced); + if (Session.isNetrulesSupported()) { + pnlTabs.addTab("Erweitert", pnlTabAdvanced); + } pnlTabs.addTab("Berechtigungen", pnlTabPermissions); add(pnlTabs, BorderLayout.CENTER); // usage counter + button panel on the bottom diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureOptionsPage.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureOptionsPage.java index cc7c802f..bbc2fedb 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureOptionsPage.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureOptionsPage.java @@ -11,6 +11,7 @@ import org.openslx.dozmod.gui.window.LectureAdvancedSettingsWindow; import org.openslx.dozmod.gui.wizard.Wizard; import org.openslx.dozmod.gui.wizard.layout.LectureOptionsPageLayout; import org.openslx.dozmod.state.LectureWizardState; +import org.openslx.dozmod.thrift.Session; @SuppressWarnings("serial") public class LectureOptionsPage extends LectureOptionsPageLayout { @@ -39,11 +40,12 @@ public class LectureOptionsPage extends LectureOptionsPageLayout { } } }); - // TODO Temporarily disabled until implemented - chkIsExam.setEnabled(false); - chkInternetEnabled.setEnabled(false); - btnAdvanced.setEnabled(false); - chkUsbEnabled.setEnabled(false); + if (Session.isNetrulesSupported()) { + chkIsExam.setEnabled(false); + chkInternetEnabled.setEnabled(false); + chkUsbEnabled.setEnabled(false); + btnAdvanced.setEnabled(false); + } } @Override diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/Session.java b/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/Session.java index f8c97151..a2677638 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/Session.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/Session.java @@ -134,13 +134,20 @@ public class Session { } /** - * @return true if the satellite's API version supports publications of images, false otherwise + * @return true if the satellite's API version supports publications of images (version 3 and above), false otherwise */ public static boolean isImagePublishSupported() { return satelliteApiVersion >= 3; } /** + * @return true if the satellite's API version supports netrules, internet blocking, exam mode (version 4 and above), false otherwise + */ + public static boolean isNetrulesSupported() { + return satelliteApiVersion >= 4; + } + + /** * Query the satellite server for its configuration and default values. * * @return |