From 74eed6e9f17e932b7a6738cc84460b4fb89258db Mon Sep 17 00:00:00 2001 From: Stephan Schwaer Date: Fri, 4 Sep 2015 18:10:17 +0200 Subject: [client] Fixed linking to unallowed images. --- .../dozmod/gui/window/LectureChangeLinkedImage.java | 19 ++++++++++--------- .../dozmod/gui/wizard/page/LectureImageListPage.java | 6 +++++- 2 files changed, 15 insertions(+), 10 deletions(-) (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod') diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureChangeLinkedImage.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureChangeLinkedImage.java index faa3e306..fe30abf7 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureChangeLinkedImage.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureChangeLinkedImage.java @@ -17,9 +17,10 @@ import org.openslx.dozmod.gui.control.table.ImageTable; import org.openslx.dozmod.gui.helper.MessageType; import org.openslx.dozmod.gui.helper.UiFeedback; import org.openslx.dozmod.gui.window.layout.LectureChangeLinkedImageLayout; +import org.openslx.dozmod.permissions.ImagePerms; /** - * Window for modifying the custom permissions of an lecture. + * Window for changing the linked image of a lecture */ @SuppressWarnings("serial") public class LectureChangeLinkedImage extends LectureChangeLinkedImageLayout implements UiFeedback { @@ -68,12 +69,14 @@ public class LectureChangeLinkedImage extends LectureChangeLinkedImageLayout imp private void processClick(MouseEvent e) { // left double click => open details if (SwingUtilities.isLeftMouseButton(e) && e.getClickCount() == 2) { - if (imageIsValid()) { + ImageSummaryRead image = imageTable.getSelectedItem(); + if (image.isValid && ImagePerms.canLink(image)) { okUsed = true; dispose(); - } else - { - Gui.showMessageBox(me, "Ausgewähltes Image ist ungültig!", MessageType.ERROR, LOGGER , null); + } else { + if(!image.isValid) + Gui.showMessageBox(me, "Ausgewähltes Image ist ungültig!", MessageType.ERROR, LOGGER , null); + else Gui.showMessageBox(me, "Keine Rechte zum verlinken auf das ausgewählte Image.", MessageType.ERROR, LOGGER , null); } } @@ -84,7 +87,8 @@ public class LectureChangeLinkedImage extends LectureChangeLinkedImageLayout imp imageTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() { @Override public void valueChanged(ListSelectionEvent e) { - btnOk.setEnabled(imageIsValid()); + ImageSummaryRead image = imageTable.getSelectedItem(); + btnOk.setEnabled(image.isValid && ImagePerms.canLink(image)); } }); @@ -106,9 +110,6 @@ public class LectureChangeLinkedImage extends LectureChangeLinkedImageLayout imp }); } - private boolean imageIsValid(){ - return imageTable.getSelectedItem().isValid; - } /** * Set window visible and return resulting ImageSummaryRead diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureImageListPage.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureImageListPage.java index f5acb83b..74e7cb31 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureImageListPage.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureImageListPage.java @@ -10,6 +10,7 @@ import org.openslx.bwlp.thrift.iface.ImageSummaryRead; import org.openslx.dozmod.gui.control.table.ImageTable; import org.openslx.dozmod.gui.wizard.Wizard; import org.openslx.dozmod.gui.wizard.layout.LectureImageListPageLayout; +import org.openslx.dozmod.permissions.ImagePerms; import org.openslx.dozmod.state.LectureWizardState; /** @@ -72,12 +73,15 @@ public class LectureImageListPage extends LectureImageListPageLayout { } private boolean isPageValid() { ImageSummaryRead selected = imageTable.getSelectedItem(); - if (selected != null && selected.isValid) { + if (selected != null && selected.isValid && ImagePerms.canLink(selected)) { state.image = selected; state.imageVersionId = selected.getLatestVersionId(); setDescription("Klicken Sie auf 'Weiter'"); return true; } + if (selected != null && ImagePerms.canLink(selected)) + setErrorMessage("Unzureichende Berechtigungen um auf dieses Image zu linken."); + setErrorMessage("Invalides Image ausgewählt"); return false; } -- cgit v1.2.3-55-g7522