diff options
author | Jonathan Bauer | 2016-03-03 18:01:37 +0100 |
---|---|---|
committer | Jonathan Bauer | 2016-03-03 18:01:37 +0100 |
commit | f6a0867f2d8235a9c38c06dc0702c6e948928bcf (patch) | |
tree | bcd38a61059097cf559d6f4b8898628285871fce /dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java | |
parent | [client] add 10px border to wizard's footer (diff) | |
download | tutor-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.java | 33 |
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; |