diff options
author | Simon Rettberg | 2018-06-14 16:18:42 +0200 |
---|---|---|
committer | Simon Rettberg | 2018-06-14 16:18:42 +0200 |
commit | ade450e19527dbf377d945ca7bae7a145cf44196 (patch) | |
tree | aa6098a0a6b907fd39b3ca7591b9fe8670b08567 /dozentenmodul/src/main/java/org/openslx/dozmod/gui/window | |
parent | [server] Don't wipe network shares if client didn't set field (diff) | |
download | tutor-module-ade450e19527dbf377d945ca7bae7a145cf44196.tar.gz tutor-module-ade450e19527dbf377d945ca7bae7a145cf44196.tar.xz tutor-module-ade450e19527dbf377d945ca7bae7a145cf44196.zip |
Add support for LDAP lecture filters
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/gui/window')
2 files changed, 33 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 b7dce83a..4ae8af93 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 @@ -145,7 +145,7 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements private String originalRunscript = null; private List<NetShare> currentNetshares = null; private List<NetShare> originalNetshares = null; - + /** * Constructor * @@ -331,6 +331,7 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements dtpEndDate.addActionListener(actionListener); spnStartTime.addChangeListener(changeListener); spnEndTime.addChangeListener(changeListener); + ctlLdapFilterConfigurator.addLdapFilterListTableContentConfigurationChangeEventListener(changeListener); // save default color of date/time stuff to reset the background later dateTimeTextColor = dtpStartDate.getForeground(); @@ -431,6 +432,7 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements // init advanced info ctlRunscriptConfigurator.setState(lecture.runscript); ctlNetshareConfigurator.setState(lecture.networkShares); + ctlLdapFilterConfigurator.setState(lecture.ldapFilters); txtTitle.setText(lecture.getLectureName()); lblTitleInfo.setText(lecture.getLectureName()); @@ -640,7 +642,13 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements } // done with mandatory checks, remove error message lblError.setText(null); + + + // TODO: Refactor change detection and error display so you don't lose your mind when + // trying to work with it. + return true; + /* // check for changes in all fields changed = !txtTitle.getText().equals(lecture.getLectureName()) || !txtDescription.getText().equals(lecture.getDescription()) @@ -660,6 +668,7 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements || (currentNetshares != null && !currentNetshares.equals(originalNetshares)) || imageLinkChanged; return changed; + */ } /** @@ -669,10 +678,11 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements private void saveChanges() { boolean saved = saveChangesInternal(); callback.updated(saved); - if (saved) + if (saved) { dispose(); - else + } else { btnSaveChanges.setEnabled(true); + } } /** @@ -703,6 +713,7 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements false, chkHasUsbAccess.isSelected()); metadata.setNetworkExceptions(currentNetrules); metadata.setNetworkShares(currentNetshares); + metadata.setLdapFilters(ctlLdapFilterConfigurator.getState()); // now trigger the actual action try { 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 57a82b6d..ab20567c 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 @@ -30,6 +30,7 @@ import org.openslx.bwlp.thrift.iface.ImageVersionDetails; import org.openslx.dozmod.gui.Gui; import org.openslx.dozmod.gui.control.ComboBox; import org.openslx.dozmod.gui.control.ComboBox.ComboBoxRenderer; +import org.openslx.dozmod.gui.control.LdapFilterConfigurator; import org.openslx.dozmod.gui.control.LectureCustomPermissionManager; import org.openslx.dozmod.gui.control.LocationSelector; import org.openslx.dozmod.gui.control.NetshareConfigurator; @@ -93,6 +94,7 @@ public abstract class LectureDetailsWindowLayout extends JDialog { protected final LocationSelector ctlLocationSelector; protected final RunscriptConfigurator ctlRunscriptConfigurator; protected final NetshareConfigurator ctlNetshareConfigurator; + protected final LdapFilterConfigurator ctlLdapFilterConfigurator; private static final Properties pickerStrings = new Properties(); @@ -104,7 +106,8 @@ public abstract class LectureDetailsWindowLayout extends JDialog { protected JPanel pnlTabPermissions; protected JPanel pnlTabLocations; protected JPanel pnlTabRunscript; - private JPanel pnlTabNetshare; + protected JPanel pnlTabNetshare; + protected JPanel pnlTabLdapFilter; static { pickerStrings.put("text.today", "Heute"); @@ -375,6 +378,18 @@ public abstract class LectureDetailsWindowLayout extends JDialog { GridManager grdNetshare = new GridManager(pnlTabNetshare, 1, false, new Insets(8, 2, 8, 2)); grdNetshare.add(ctlNetshareConfigurator).fill(true, true).expand(true, true); grdNetshare.finish(false); + + /* ******************************************************************************* + * + * Tab "LDAP-Filters" + * + ********************************************************************************/ + ctlLdapFilterConfigurator = new LdapFilterConfigurator(); + pnlTabLdapFilter = new JPanel(); + GridManager grdLdap = new GridManager(pnlTabLdapFilter, 1, false, new Insets(8, 2, 8, 2)); + grdLdap.add(ctlLdapFilterConfigurator).fill(true, true).expand(true, true); + grdLdap.finish(false); + /* ******************************************************************************* * * Main panel containing the tabs @@ -397,6 +412,9 @@ public abstract class LectureDetailsWindowLayout extends JDialog { if (Session.hasFeature(Feature.NETWORK_SHARES)) { pnlTabs.addTab("Netzlaufwerke", pnlTabNetshare); } + if (Session.hasFeature(Feature.LECTURE_FILTER_LDAP)) { + pnlTabs.addTab("LDAP-Filter", pnlTabLdapFilter); + } add(pnlTabs, BorderLayout.CENTER); // usage counter + button panel on the bottom JPanel buttonPanel = new JPanel(); |