diff options
author | Jonathan Bauer | 2016-09-02 17:29:47 +0200 |
---|---|---|
committer | Jonathan Bauer | 2016-09-02 17:29:47 +0200 |
commit | b794e38b72473538461b97882f4f20ede7042ea9 (patch) | |
tree | 7a4fad9eb687f451c6bd5e3e293f205790ac0bc3 /dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java | |
parent | [client] don't use System.lineSeparator() but regular linefeed/carriage return (diff) | |
download | tutor-module-b794e38b72473538461b97882f4f20ede7042ea9.tar.gz tutor-module-b794e38b72473538461b97882f4f20ede7042ea9.tar.xz tutor-module-b794e38b72473538461b97882f4f20ede7042ea9.zip |
[client] splitted netrules & runscript tab/panel/w/e
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 | 46 |
1 files changed, 25 insertions, 21 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 9d6b6134..58ce9b89 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 @@ -39,13 +39,12 @@ 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.control.AdvancedConfigurator.AdvancedConfigurationChangeEvent; -import org.openslx.dozmod.gui.control.AdvancedConfigurator.AdvancedConfigurationChangeEventListener; import org.openslx.dozmod.gui.control.JCheckBoxTree.CheckChangeEvent; import org.openslx.dozmod.gui.control.JCheckBoxTree.CheckChangeEventListener; import org.openslx.dozmod.gui.control.LectureCustomPermissionManager.UserChangeEvent; import org.openslx.dozmod.gui.control.LectureCustomPermissionManager.UserChangeEventListener; +import org.openslx.dozmod.gui.control.NetrulesConfigurator.NetrulesConfiguration; +import org.openslx.dozmod.gui.control.RunscriptConfigurator.RunscriptConfiguration; import org.openslx.dozmod.gui.helper.DateTimeHelper; import org.openslx.dozmod.gui.helper.MessageType; import org.openslx.dozmod.gui.helper.TextChangeListener; @@ -136,7 +135,8 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements /** * Holder of the netrules/runscript of this lecture */ - private AdvancedConfiguration currentAdvConf = null; + private NetrulesConfiguration currentNetrules = null; + private RunscriptConfiguration currentRunscript = null; /** * Constructor @@ -258,12 +258,16 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements chkCustomPermAdmin.addActionListener(changeReacter); chkCustomPermEdit.addActionListener(changeReacter); - ctlAdvancedConfigurator.addAdvancedConfigurationChangeEventListener(new AdvancedConfigurationChangeEventListener() { + btnNetrules.addActionListener(new ActionListener() { @Override - public void stateChanged(AdvancedConfigurationChangeEvent event) { - btnSaveChanges.setEnabled(ctlAdvancedConfigurator.hasChanged()); + public void actionPerformed(ActionEvent e) { + NetrulesConfiguration newNetrules = LectureNetrulesWindow.open(me, new NetrulesConfiguration(currentNetrules.netRulesList)); + if (newNetrules != null) + currentNetrules = newNetrules; + reactToChange(); } }); + final TextChangeListener docListener = new TextChangeListener() { @Override public void changed() { @@ -369,7 +373,8 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements lblImageNameInfo.setText(image.getImageName()); } // remember original advanced config - currentAdvConf = new AdvancedConfiguration(lecture.networkExceptions, lecture.runscript); + currentNetrules = new NetrulesConfiguration(lecture.networkExceptions); + currentRunscript = new RunscriptConfiguration(lecture.runscript); // remember default permissions if (lecture.defaultPermissions != null) { @@ -395,10 +400,9 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements locationInfo = new LocationInfo(lecture.locationIds, lecture.limitToLocations); ctlLocationSelector.setOnlyInSelection(locationInfo.limitToLocations); ctlLocationSelector.setSelectedLocationsAsIds(locationInfo.locationList); - // advanced config stuff, save current information - currentAdvConf = new AdvancedConfiguration(lecture.networkExceptions, lecture.runscript); + // init advanced info - ctlAdvancedConfigurator.setState(new AdvancedConfiguration(lecture.networkExceptions, lecture.runscript)); + ctlRunscriptConfigurator.setState(new RunscriptConfiguration(lecture.runscript)); txtTitle.setText(lecture.getLectureName()); lblTitleInfo.setText(lecture.getLectureName()); @@ -608,8 +612,8 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements || !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)) + || (currentNetrules != null && lecture.networkExceptions != null && !lecture.networkExceptions.equals(currentNetrules)) + || (currentRunscript != null && lecture.runscript != null && !lecture.runscript.equals(currentRunscript)) || imageLinkChanged; return changed; @@ -640,27 +644,27 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements : cboVersions.getItemAt(cboVersions.getSelectedIndex()).versionId; } // goto to advanced tab and check (by getting) the state of the textAreas - currentAdvConf = ctlAdvancedConfigurator.getState(); - if (currentAdvConf == null) { + currentRunscript = ctlRunscriptConfigurator.getState(); + if (currentRunscript == null) { // getState() will return null only if it couldn't parse the rules // which means that the user got informed about what was invalid // So we just return here until the parsing works. - pnlTabs.setSelectedIndex(pnlTabs.indexOfTab("Erweitert")); + pnlTabs.setSelectedIndex(pnlTabs.indexOfTab("Startskript")); return false; } - metadataChanged |= (currentAdvConf.netRulesList != lecture.networkExceptions || currentAdvConf.runScriptText != lecture.runscript); + metadataChanged |= (currentNetrules.netRulesList != lecture.networkExceptions || currentRunscript.runScriptText != lecture.runscript); // now check if we need to push a new LectureWrite if (metadataChanged) { // first build the LectureWrite from the GUI fields 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, currentAdvConf.runScriptText, null, + DateTimeHelper.getDateFrom(dtpEndDate, spnEndTime).getTime() / 1000L, currentRunscript.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); + metadata.setNetworkExceptions(currentNetrules.netRulesList); // now trigger the actual action try { ThriftManager.getSatClient().updateLecture(Session.getSatelliteToken(), @@ -745,8 +749,8 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements if (pnlTabs.indexOfTab("Raumauswahl") != -1) { pnlTabs.setEnabledAt(pnlTabs.indexOfTab("Raumauswahl"), editable); } - if (pnlTabs.indexOfTab("Erweitert") != -1) { - pnlTabs.setEnabledAt(pnlTabs.indexOfTab("Erweitert"), editable); + if (pnlTabs.indexOfTab("Startskript") != -1) { + pnlTabs.setEnabledAt(pnlTabs.indexOfTab("Startskript"), editable); } btnChangeOwner.setEnabled(LecturePerms.canAdmin(lecture)); btnDownloadImage.setEnabled(ImagePerms.canDownload(image)); |