diff options
author | Jonathan Bauer | 2015-08-24 16:52:13 +0200 |
---|---|---|
committer | Jonathan Bauer | 2015-08-24 16:52:13 +0200 |
commit | 10084bed2fb3509cb007cb679acb334c9b1b6f37 (patch) | |
tree | b983be9fd44a61d4d005d1bb1315c0494ccc9ed7 | |
parent | [client] LectureDetails saving things [wip] (diff) | |
parent | [client] created helper class PermissionDefaultToCustomLink (diff) | |
download | tutor-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
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; + } +} + + |