summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org
diff options
context:
space:
mode:
authorJonathan Bauer2015-08-24 16:52:13 +0200
committerJonathan Bauer2015-08-24 16:52:13 +0200
commit10084bed2fb3509cb007cb679acb334c9b1b6f37 (patch)
treeb983be9fd44a61d4d005d1bb1315c0494ccc9ed7 /dozentenmodul/src/main/java/org
parent[client] LectureDetails saving things [wip] (diff)
parent[client] created helper class PermissionDefaultToCustomLink (diff)
downloadtutor-module-10084bed2fb3509cb007cb679acb334c9b1b6f37.tar.gz
tutor-module-10084bed2fb3509cb007cb679acb334c9b1b6f37.tar.xz
tutor-module-10084bed2fb3509cb007cb679acb334c9b1b6f37.zip
Merge branch 'v1.1' of git.openslx.org:openslx-ng/tutor-module into v1.1
Diffstat (limited to 'dozentenmodul/src/main/java/org')
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageCustomPermissionManager.java33
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/LectureCustomPermissionManager.java4
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageCustomPermissionWindow.java53
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java52
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageCustomPermissionWindowLayout.java57
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageDetailsWindowLayout.java20
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ImageMetaDataPageLayout.java2
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/permissions/PermissionDefaultToCustomLink.java19
8 files changed, 158 insertions, 82 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageCustomPermissionManager.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageCustomPermissionManager.java
index 0c6d1837..39524fcc 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageCustomPermissionManager.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/ImageCustomPermissionManager.java
@@ -1,6 +1,5 @@
package org.openslx.dozmod.gui.control;
-import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
@@ -9,6 +8,8 @@ import java.util.Map;
import java.util.Map.Entry;
import javax.swing.BorderFactory;
+import javax.swing.Box;
+import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
@@ -19,6 +20,7 @@ import org.openslx.bwlp.thrift.iface.ImagePermissions;
import org.openslx.bwlp.thrift.iface.UserInfo;
import org.openslx.dozmod.gui.control.table.ImagePermissionTable;
import org.openslx.dozmod.gui.control.table.ImagePermissionTable.UserImagePermissions;
+import org.openslx.dozmod.gui.helper.GridManager;
import org.openslx.dozmod.gui.window.UserListWindow;
import org.openslx.dozmod.gui.window.UserListWindow.UserAddedCallback;
@@ -28,11 +30,11 @@ import org.openslx.dozmod.gui.window.UserListWindow.UserAddedCallback;
*/
public class ImageCustomPermissionManager extends JPanel {
-protected ImagePermissionTable permissionTable;
-
+ protected ImagePermissionTable permissionTable;
+
protected JButton btnAddUser;
protected JButton btnRemoveUser;
-
+
private ImageCustomPermissionManager me;
private ArrayList<UserImagePermissions> permissionList = new ArrayList<UserImagePermissions>();
@@ -46,17 +48,28 @@ protected ImagePermissionTable permissionTable;
public ImageCustomPermissionManager(){
super();
me = this;
- setLayout(new BorderLayout());
- setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
+ GridManager grid = new GridManager(this, 1);
+
permissionTable = new ImagePermissionTable();
- add(new JScrollPane(permissionTable), BorderLayout.CENTER);
+
+ // Panel for the add- and remove buttons
JPanel userButtonPane = new JPanel();
+ userButtonPane.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
+ userButtonPane.setLayout(new BoxLayout(userButtonPane, BoxLayout.LINE_AXIS));
+
btnAddUser = new JButton("Benutzer hinzufügern");
userButtonPane.add(btnAddUser);
btnRemoveUser = new JButton("Benutzer entfernen");
userButtonPane.add(btnRemoveUser);
- add(userButtonPane, BorderLayout.SOUTH);
-
+ userButtonPane.add(Box.createGlue());
+
+ // Put everything into the grid
+ grid.add(new JScrollPane(permissionTable)).fill(true, true).expand(true, true);
+ grid.nextRow();
+ grid.add(userButtonPane).fill(true, false).expand(true, false);
+ grid.nextRow();
+ grid.finish(false);
+
// add user button listener
btnAddUser.addActionListener(new ActionListener() {
@Override
@@ -82,7 +95,7 @@ protected ImagePermissionTable permissionTable;
}, "Hinzufügen");
}
});
-
+
// delete user button listener
btnRemoveUser.addActionListener(new ActionListener() {
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/LectureCustomPermissionManager.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/LectureCustomPermissionManager.java
index 22f1111d..6921ea2e 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/LectureCustomPermissionManager.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/LectureCustomPermissionManager.java
@@ -28,6 +28,9 @@ import org.openslx.dozmod.gui.window.UserListWindow.UserAddedCallback;
*/
public class LectureCustomPermissionManager extends JPanel{
+ /**
+ * Self reference
+ */
private LectureCustomPermissionManager me;
protected LecturePermissionTable permissionTable;
@@ -132,5 +135,4 @@ public class LectureCustomPermissionManager extends JPanel{
}
return newPermissionMap;
}
-
}
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageCustomPermissionWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageCustomPermissionWindow.java
index 27f1f9d8..551393ec 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageCustomPermissionWindow.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageCustomPermissionWindow.java
@@ -5,17 +5,10 @@ import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Map;
-import javax.swing.JOptionPane;
-
import org.apache.log4j.Logger;
-import org.apache.thrift.TException;
import org.openslx.bwlp.thrift.iface.ImagePermissions;
-import org.openslx.dozmod.gui.Gui;
-import org.openslx.dozmod.gui.helper.MessageType;
import org.openslx.dozmod.gui.window.layout.ImageCustomPermissionWindowLayout;
-import org.openslx.dozmod.thrift.Session;
-import org.openslx.dozmod.thrift.ThriftActions;
-import org.openslx.thrifthelper.ThriftManager;
+import org.openslx.dozmod.permissions.PermissionDefaultToCustomLink;
/**
* Window for modifying the custom permissions of an image.
@@ -25,18 +18,16 @@ public class ImageCustomPermissionWindow extends ImageCustomPermissionWindowLayo
private static final Logger LOGGER = Logger.getLogger(ImageCustomPermissionWindow.class);
- private final ImageCustomPermissionWindow me;
+ private boolean okUsed = false;
- protected ImageCustomPermissionWindow(final Frame modalParent, final Map<String, ImagePermissions> permissionMap, final ImagePermissions defaultPermissions, final String imageBaseId) {
+ protected ImageCustomPermissionWindow(final Frame modalParent, final Map<String, ImagePermissions> permissionMap, final ImagePermissions defaultPermissions) {
super(modalParent);
- me = this;
imagePermissionManager.initPanel(permissionMap, defaultPermissions);
- btnSave.addActionListener(new ActionListener() {
+ btnOk.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
- ThriftActions.writeImagePermissions(JOptionPane.getFrameForComponent(me),
- imageBaseId, imagePermissionManager.getMap());
+ okUsed = true;
dispose();
}
});
@@ -48,9 +39,39 @@ public class ImageCustomPermissionWindow extends ImageCustomPermissionWindowLayo
}
});
+ chkCustomPermAdmin.setSelected(defaultPermissions.admin);
+ chkCustomPermEdit.setSelected(defaultPermissions.edit);
+ chkCustomPermDownload.setSelected(defaultPermissions.download);
+ chkCustomPermLink.setSelected(defaultPermissions.link);
}
- public static void open(Frame modalParent, Map<String, ImagePermissions> permissionMap, ImagePermissions defaultPermissions, String imageBaseId) {
- new ImageCustomPermissionWindow(modalParent, permissionMap, defaultPermissions, imageBaseId).setVisible(true);
+
+ /**
+ * Set a created ImageCustomPermissionWindow visible and return resulting permissions
+ * @return PermissionLink with default- and customPermissions when using OK button, null otherwise
+ */
+ private PermissionDefaultToCustomLink<ImagePermissions> runAndReturn(){
+ setVisible(true);
+ if (okUsed){
+ return new PermissionDefaultToCustomLink<ImagePermissions>(imagePermissionManager.getMap(), new ImagePermissions(chkCustomPermLink.isSelected(), chkCustomPermDownload.isSelected(), chkCustomPermEdit.isSelected(), chkCustomPermAdmin.isSelected()));
+ } else {
+ return null;
+ }
+
}
+
+ /**
+ * Creates a new ImageCustomPermissionWindow dialog and returns the resulting Permissions
+ * @param modalParent
+ * @param permissionMap The current user permissions with which the permission manager to initialise, null creates empty list.
+ * @param defaultPermissions The current default permissions, should not be null!
+ * @return PermissionLink with resulting permissions or null, if abort has been used to exit the dialog
+ */
+ public static PermissionDefaultToCustomLink<ImagePermissions> open(Frame modalParent, Map<String, ImagePermissions> permissionMap, ImagePermissions defaultPermissions) {
+ return new ImageCustomPermissionWindow(modalParent, permissionMap, defaultPermissions).runAndReturn();
+
+ }
+
}
+
+
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java
index 6edddc96..175c1ae8 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java
@@ -19,6 +19,7 @@ import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import org.apache.log4j.Logger;
+import org.apache.thrift.TException;
import org.openslx.bwlp.thrift.iface.ImageBaseWrite;
import org.openslx.bwlp.thrift.iface.ImageDetailsRead;
import org.openslx.bwlp.thrift.iface.ImagePermissions;
@@ -38,6 +39,7 @@ import org.openslx.dozmod.gui.window.layout.ImageDetailsWindowLayout;
import org.openslx.dozmod.gui.wizard.LectureWizard;
import org.openslx.dozmod.gui.wizard.UpdateWizard;
import org.openslx.dozmod.permissions.ImagePerms;
+import org.openslx.dozmod.permissions.PermissionDefaultToCustomLink;
import org.openslx.dozmod.thrift.Session;
import org.openslx.dozmod.thrift.ThriftActions;
import org.openslx.dozmod.thrift.ThriftActions.DeleteCallback;
@@ -45,6 +47,7 @@ import org.openslx.dozmod.thrift.ThriftActions.ImageMetaCallback;
import org.openslx.dozmod.thrift.cache.MetaDataCache;
import org.openslx.dozmod.thrift.cache.UserCache;
import org.openslx.dozmod.util.FormatHelper;
+import org.openslx.thrifthelper.ThriftManager;
@SuppressWarnings("serial")
public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFeedback {
@@ -76,6 +79,11 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe
* The custom permissions of the image
*/
private Map<String, ImagePermissions> permissionMap;
+
+ /**
+ * Whether the custom permission window has been used.
+ */
+ private boolean permissionsChanged = false;
/**
* Popup menu items
@@ -134,7 +142,13 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe
@Override
public void actionPerformed(ActionEvent arg0) {
- ImageCustomPermissionWindow.open(JOptionPane.getFrameForComponent(me), permissionMap, image.defaultPermissions, image.imageBaseId);
+ PermissionDefaultToCustomLink<ImagePermissions> pl = ImageCustomPermissionWindow.open(JOptionPane.getFrameForComponent(me), me.permissionMap, image.defaultPermissions);
+ if (pl != null && pl.defaultPermissions != null && pl.customPermissions != null){
+ image.defaultPermissions = pl.defaultPermissions;
+ permissionMap = pl.customPermissions;
+ permissionsChanged = true;
+ }
+ reactToChange();
}
});
@@ -239,7 +253,7 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe
fill();
}
};
- ThriftActions.getImageDetails(JOptionPane.getFrameForComponent(me), imageBaseId, callback);
+ ThriftActions.getImageFullDetails(JOptionPane.getFrameForComponent(me), imageBaseId, callback);
}
/**
@@ -268,11 +282,18 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe
((OperatingSystem)cboOperatingSystem.getSelectedItem()).osId,
image.virtId,
chkIsTemplate.isSelected(),
- new ImagePermissions(chkCustomPermLink.isSelected(), chkCustomPermDownload.isSelected(), chkCustomPermEdit.isSelected(), chkCustomPermAdmin.isSelected()),
+ new ImagePermissions(image.defaultPermissions.link, image.defaultPermissions.download, image.defaultPermissions.edit, image.defaultPermissions.admin),
image.shareMode);
// now trigger the actual action
if (!ThriftActions.updateImageBase(JOptionPane.getFrameForComponent(me), image.getImageBaseId(), ibw))
return;
+ try {
+ LOGGER.info(permissionMap);
+ ThriftManager.getSatClient().writeImagePermissions(Session.getSatelliteToken(), image.imageBaseId, permissionMap);
+ permissionsChanged = false;
+ } catch (TException e) {
+ LOGGER.error("Fehler beim Übertragen der benutzerdefinierten Berechtigungen: ", e);
+ }
// success
btnSaveChanges.setEnabled(false);
refresh(true);
@@ -299,6 +320,8 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe
* @param version image version to delete
*/
private void deleteVersion(final ImageVersionDetails version) {
+ if(version == null)
+ return;
ThriftActions.deleteImageBaseOrVersion(JOptionPane.getFrameForComponent(this),
image.getImageBaseId(), version.versionId, new DeleteCallback() {
@Override
@@ -362,10 +385,6 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe
}
txtTags.setText(tagsString);
chkIsTemplate.setSelected(image.isTemplate);
- chkCustomPermAdmin.setSelected(image.defaultPermissions.admin);
- chkCustomPermEdit.setSelected(image.defaultPermissions.edit);
- chkCustomPermDownload.setSelected(image.defaultPermissions.download);
- chkCustomPermLink.setSelected(image.defaultPermissions.link);
// set the versions of the image to the table
versionTable.setData(image.getVersions(), true);
@@ -374,7 +393,6 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe
// make fields editable is allowed
makeEditable(true);
// finally do show it all
- pack();
setVisible(true);
}
@@ -418,10 +436,6 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe
}
};
chkIsTemplate.addActionListener(checkBoxListener);
- chkCustomPermAdmin.addActionListener(checkBoxListener);
- chkCustomPermEdit.addActionListener(checkBoxListener);
- chkCustomPermDownload.addActionListener(checkBoxListener);
- chkCustomPermLink.addActionListener(checkBoxListener);
}
/**
* Enables/disables the editable fields based on 'editable'
@@ -436,12 +450,8 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe
txtTags.setEditable(editable);
cboOperatingSystem.setEnabled(editable);
cboShareMode.setEnabled(editable);
- btnCustomPermissions.setEnabled(editable);
+ btnCustomPermissions.setEnabled(adminEdit);
btnChangeOwner.setEnabled(adminEdit);
- chkCustomPermAdmin.setEnabled(adminEdit);
- chkCustomPermEdit.setEnabled(adminEdit);
- chkCustomPermDownload.setEnabled(adminEdit);
- chkCustomPermLink.setEnabled(adminEdit);
}
/**
@@ -467,13 +477,7 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe
changed = true;
} else if (chkIsTemplate.isSelected() != image.isTemplate) {
changed = true;
- } else if (chkCustomPermAdmin.isSelected() != image.defaultPermissions.admin) {
- changed = true;
- } else if (chkCustomPermEdit.isSelected() != image.defaultPermissions.edit) {
- changed = true;
- } else if (chkCustomPermDownload.isSelected() != image.defaultPermissions.download) {
- changed = true;
- } else if (chkCustomPermLink.isSelected() != image.defaultPermissions.link) {
+ } else if (permissionsChanged){
changed = true;
}
// TODO TAGS
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageCustomPermissionWindowLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageCustomPermissionWindowLayout.java
index cf657c2e..b537250f 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageCustomPermissionWindowLayout.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageCustomPermissionWindowLayout.java
@@ -1,7 +1,5 @@
package org.openslx.dozmod.gui.window.layout;
-import java.awt.BorderLayout;
-import java.awt.Container;
import java.awt.Dimension;
import java.awt.Frame;
@@ -9,21 +7,32 @@ import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
+import javax.swing.JCheckBox;
import javax.swing.JDialog;
import javax.swing.JPanel;
import org.apache.log4j.Logger;
import org.openslx.dozmod.gui.control.ImageCustomPermissionManager;
+import org.openslx.dozmod.gui.helper.GridManager;
+/**
+ * Window for editing permissions of an Image
+ */
@SuppressWarnings("serial")
public class ImageCustomPermissionWindowLayout extends JDialog {
private static final Logger LOGGER = Logger.getLogger(ImageCustomPermissionWindowLayout.class);
+
+ protected final JCheckBox chkCustomPermAdmin;
+ protected final JCheckBox chkCustomPermEdit;
+ protected final JCheckBox chkCustomPermDownload;
+ protected final JCheckBox chkCustomPermLink;
- protected final JButton btnSave;
+ protected final JButton btnOk;
protected final JButton btnClose;
+
protected final ImageCustomPermissionManager imagePermissionManager;
private static String title = "Benutzerdefinierte Berechtigungen";
@@ -32,23 +41,47 @@ public class ImageCustomPermissionWindowLayout extends JDialog {
super(modalParent, title, modalParent != null ? ModalityType.APPLICATION_MODAL
: ModalityType.MODELESS);
+ // Panel to add everything into, needed for the border.
+ JPanel contentPanel = new JPanel();
+ contentPanel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
+ add(contentPanel);
+
+ GridManager grid = new GridManager(contentPanel, 1);
+
imagePermissionManager = new ImageCustomPermissionManager();
- // spaced buttons
+ // Panel for the buttons at the bottom
JPanel buttonPane = new JPanel();
buttonPane.setLayout(new BoxLayout(buttonPane, BoxLayout.LINE_AXIS));
- buttonPane.setBorder(BorderFactory.createEmptyBorder(0, 10, 10, 10));
- btnSave = new JButton("Änderungen speichern");
- buttonPane.add(btnSave);
+ btnOk = new JButton("Übernehmen");
buttonPane.add(Box.createGlue());
+ buttonPane.add(btnOk);
btnClose = new JButton("Abbrechen");
buttonPane.add(btnClose);
- // pack it all
- Container contentPane = getContentPane();
- contentPane.add(imagePermissionManager, BorderLayout.CENTER);
- contentPane.add(buttonPane, BorderLayout.PAGE_END);
- setPreferredSize(new Dimension(480, 350));
+ // Panel with the permissions for other users
+ JPanel defaultPermissionPane = new JPanel();
+ defaultPermissionPane.setBorder(BorderFactory.createTitledBorder( "Andere Nutzer"));
+ chkCustomPermAdmin = new JCheckBox("Admin");
+ chkCustomPermDownload = new JCheckBox("Download");
+ chkCustomPermEdit = new JCheckBox("Bearbeiten");
+ chkCustomPermLink = new JCheckBox("Link");
+ defaultPermissionPane.add(chkCustomPermLink);
+ defaultPermissionPane.add(chkCustomPermDownload);
+ defaultPermissionPane.add(chkCustomPermEdit);
+ defaultPermissionPane.add(chkCustomPermAdmin);
+
+ // Put everything into the grid
+ grid.add(imagePermissionManager).fill(true, true).expand(true, true);
+ grid.nextRow();
+ grid.add(defaultPermissionPane).fill(true, false).expand(true, false);
+ grid.nextRow();
+ grid.add(buttonPane).fill(true, false).expand(false, false);
+ grid.nextRow();
+ grid.finish(false);
+
+ contentPanel.setPreferredSize(new Dimension(480, 350));
+
pack();
setLocationRelativeTo( modalParent );
}
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageDetailsWindowLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageDetailsWindowLayout.java
index 565d7b12..13e6e39a 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageDetailsWindowLayout.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageDetailsWindowLayout.java
@@ -50,10 +50,6 @@ public abstract class ImageDetailsWindowLayout extends JDialog {
protected final JTextField txtId;
protected final JTextField txtVersion;
- protected final JCheckBox chkCustomPermAdmin;
- protected final JCheckBox chkCustomPermEdit;
- protected final JCheckBox chkCustomPermDownload;
- protected final JCheckBox chkCustomPermLink;
protected final JButton btnCustomPermissions;
@@ -179,19 +175,7 @@ public abstract class ImageDetailsWindowLayout extends JDialog {
grid.add(txtId, 2).expand(true, false).fill(true, false);
grid.nextRow();
- JPanel defaultPermissionPane = new JPanel();
- defaultPermissionPane.setBorder(BorderFactory.createTitledBorder( "Default Berechtigungen"));
- chkCustomPermAdmin = new JCheckBox("Admin");
- chkCustomPermDownload = new JCheckBox("Download");
- chkCustomPermEdit = new JCheckBox("Bearbeiten");
- chkCustomPermLink = new JCheckBox("Link");
- defaultPermissionPane.add(chkCustomPermLink);
- defaultPermissionPane.add(chkCustomPermDownload);
- defaultPermissionPane.add(chkCustomPermEdit);
- defaultPermissionPane.add(chkCustomPermAdmin);
-
- grid.add(defaultPermissionPane, 3);
- grid.nextRow();
+
btnCustomPermissions = new JButton("Benutzerdefinierte Berechtigungen");
@@ -211,9 +195,9 @@ public abstract class ImageDetailsWindowLayout extends JDialog {
btnSaveChanges = new JButton("Speichern");
btnClose = new JButton("Schließen");
btnUpdateImage = new JButton("Neue Imageversion hochladen");
- buttonPanel.add(btnSaveChanges);
buttonPanel.add(btnUpdateImage);
buttonPanel.add(Box.createGlue());
+ buttonPanel.add(btnSaveChanges);
buttonPanel.add(btnClose);
// --- Version table on the right (EAST) side
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ImageMetaDataPageLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ImageMetaDataPageLayout.java
index 7926ac11..4b0dc2cc 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ImageMetaDataPageLayout.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ImageMetaDataPageLayout.java
@@ -95,7 +95,7 @@ public abstract class ImageMetaDataPageLayout extends WizardPage {
grid.nextRow();
// -- end permissions group --
isTemplateCheck = new JCheckBox("Vorlage erstellen");
- grid.add(isTemplateCheck);
+ grid.add(isTemplateCheck, 2);
grid.nextRow();
grid.finish(true);
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/permissions/PermissionDefaultToCustomLink.java b/dozentenmodul/src/main/java/org/openslx/dozmod/permissions/PermissionDefaultToCustomLink.java
new file mode 100644
index 00000000..6a947cdd
--- /dev/null
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/permissions/PermissionDefaultToCustomLink.java
@@ -0,0 +1,19 @@
+package org.openslx.dozmod.permissions;
+
+import java.util.Map;
+
+/**
+ * Helper class for returning the default- and custom permissions of an image or lecture.
+ * @param <T> ImagePermissions of LecturePermissions
+ */
+public class PermissionDefaultToCustomLink<T>{
+ public final Map<String, T> customPermissions;
+ public final T defaultPermissions;
+
+ public PermissionDefaultToCustomLink(Map<String, T> customPermissions, T defaultPermissions){
+ this.customPermissions = customPermissions;
+ this.defaultPermissions = defaultPermissions;
+ }
+}
+
+