summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java
diff options
context:
space:
mode:
authorJonathan Bauer2016-03-03 18:01:37 +0100
committerJonathan Bauer2016-03-03 18:01:37 +0100
commitf6a0867f2d8235a9c38c06dc0702c6e948928bcf (patch)
treebcd38a61059097cf559d6f4b8898628285871fce /dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java
parent[client] add 10px border to wizard's footer (diff)
downloadtutor-module-f6a0867f2d8235a9c38c06dc0702c6e948928bcf.tar.gz
tutor-module-f6a0867f2d8235a9c38c06dc0702c6e948928bcf.tar.xz
tutor-module-f6a0867f2d8235a9c38c06dc0702c6e948928bcf.zip
[client/server] add support for advanced configuration for usb/netrules stuff
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java')
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java33
1 files changed, 29 insertions, 4 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 752c6625..df91e811 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
@@ -36,6 +36,7 @@ import org.openslx.bwlp.thrift.iface.LectureWrite;
import org.openslx.bwlp.thrift.iface.UserInfo;
import org.openslx.dozmod.gui.Gui;
import org.openslx.dozmod.gui.MainWindow;
+import org.openslx.dozmod.gui.control.AdvancedConfigurator.AdvancedConfiguration;
import org.openslx.dozmod.gui.helper.DateTimeHelper;
import org.openslx.dozmod.gui.helper.MessageType;
import org.openslx.dozmod.gui.helper.TextChangeListener;
@@ -112,7 +113,9 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements
private LocationInfo locationInfo = null;
- /**
+ private AdvancedConfiguration currentAdvConf = null;
+
+ /**
* Constructor
*
* @param modalParent parent of this popup window
@@ -173,6 +176,16 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements
cboVersions.setEnabled(!chkAutoUpdate.isSelected());
}
});
+ btnAdvancedOptions.addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ AdvancedConfiguration conf = LectureAdvancedSettingsWindow.open(JOptionPane.getFrameForComponent(me), currentAdvConf);
+ if (conf == null)
+ return;
+ currentAdvConf = conf;
+ reactToChange();
+ }
+ });
btnChangeOwner.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
@@ -260,6 +273,7 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements
chkAutoUpdate.addActionListener(actionListener);
chkIsExam.addActionListener(actionListener);
chkHasInternetAccess.addActionListener(actionListener);
+ chkHasUsbAccess.addActionListener(actionListener);
chkIsActive.addActionListener(actionListener);
dtpStartDate.addActionListener(actionListener);
dtpEndDate.addActionListener(actionListener);
@@ -311,11 +325,15 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements
makeEditable(false);
return;
}
+
if (image == null) {
txtImageName.setText("-");
} else {
txtImageName.setText(image.getImageName());
}
+ // remember original advanced config
+ currentAdvConf = new AdvancedConfiguration(lecture.networkExceptions, lecture.runscript);
+
// remember default permissions
if (lecture.defaultPermissions != null) {
originalDefaultPermissions = new LecturePermissions(lecture.defaultPermissions);
@@ -345,6 +363,7 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements
chkIsActive.setSelected(lecture.isEnabled);
chkHasInternetAccess.setSelected(lecture.hasInternetAccess);
+ chkHasUsbAccess.setSelected(lecture.hasUsbAccess);
chkIsExam.setSelected(lecture.isExam);
chkAutoUpdate.setSelected(lecture.autoUpdate);
cboVersions.setEnabled(!lecture.autoUpdate);
@@ -488,9 +507,12 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements
final LectureWrite metadata = new LectureWrite(txtTitle.getText(), txtDescription.getText(),
lecture.getImageVersionId(), chkAutoUpdate.isSelected(), chkIsActive.isSelected(),
DateTimeHelper.getDateFrom(dtpStartDate, spnStartTime).getTime() / 1000L,
- DateTimeHelper.getDateFrom(dtpEndDate, spnEndTime).getTime() / 1000L, null, null,
- chkIsExam.isSelected(), chkHasInternetAccess.isSelected(),
- lecture.getDefaultPermissions(), locationInfo.locationList, locationInfo.limitToLocations, false); // TODO: Location related
+ DateTimeHelper.getDateFrom(dtpEndDate, spnEndTime).getTime() / 1000L, currentAdvConf.runScriptText, null,
+ chkIsExam.isSelected(), chkHasInternetAccess.isSelected(), // TODO USBACCESS
+ lecture.getDefaultPermissions(), locationInfo.locationList, locationInfo.limitToLocations,
+ // TODO: coming "false" is Location related
+ false, chkHasUsbAccess.isSelected());
+ metadata.setNetworkExceptions(currentAdvConf.netRulesList);
// now trigger the actual action
try {
ThriftManager.getSatClient().updateLecture(Session.getSatelliteToken(),
@@ -620,10 +642,13 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements
|| chkAutoUpdate.isSelected() != lecture.autoUpdate
|| chkIsExam.isSelected() != lecture.isExam
|| chkHasInternetAccess.isSelected() != lecture.hasInternetAccess
+ || chkHasUsbAccess.isSelected() != lecture.hasUsbAccess
|| chkIsActive.isSelected() != lecture.isEnabled
|| !lecture.defaultPermissions.equals(originalDefaultPermissions)
|| (locationInfo != null && lecture.locationIds != null && !lecture.locationIds.equals(locationInfo.locationList))
|| (locationInfo != null && lecture.limitToLocations != locationInfo.limitToLocations)
+ || (currentAdvConf != null && lecture.networkExceptions != null && !lecture.networkExceptions.equals(currentAdvConf.netRulesList))
+ || (currentAdvConf != null && lecture.runscript != null && !lecture.runscript.equals(currentAdvConf.runScriptText))
|| imageLinkChanged;
return changed;