summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Bauer2016-08-17 15:02:51 +0200
committerJonathan Bauer2016-08-17 15:02:51 +0200
commit69dbf28b8eedf7e0824cc85ef7122f593678f6dc (patch)
treeaaa66aec89120642e1af6c464bfd69e6be408d43
parentMerge branch 'v1.1' of git.openslx.org:openslx-ng/tutor-module into v1.1 (diff)
downloadtutor-module-69dbf28b8eedf7e0824cc85ef7122f593678f6dc.tar.gz
tutor-module-69dbf28b8eedf7e0824cc85ef7122f593678f6dc.tar.xz
tutor-module-69dbf28b8eedf7e0824cc85ef7122f593678f6dc.zip
[client] re-enable advanced and restrictions tabs based on API version
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java13
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageListWindowLayout.java7
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LectureDetailsWindowLayout.java11
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureOptionsPage.java12
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/thrift/Session.java9
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