summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window
diff options
context:
space:
mode:
authorSimon Rettberg2018-06-14 16:18:42 +0200
committerSimon Rettberg2018-06-14 16:18:42 +0200
commitade450e19527dbf377d945ca7bae7a145cf44196 (patch)
treeaa6098a0a6b907fd39b3ca7591b9fe8670b08567 /dozentenmodul/src/main/java/org/openslx/dozmod/gui/window
parent[server] Don't wipe network shares if client didn't set field (diff)
downloadtutor-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')
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java17
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LectureDetailsWindowLayout.java20
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();