diff options
author | Stephan Schwaer | 2015-09-04 18:10:17 +0200 |
---|---|---|
committer | Stephan Schwaer | 2015-09-04 18:10:17 +0200 |
commit | 74eed6e9f17e932b7a6738cc84460b4fb89258db (patch) | |
tree | 4565dcc27d0535f923fb27b7039c6dc19341664b /dozentenmodul/src/main/java/org | |
parent | [client] Added confirmation for changing owner of lecture, switched positions... (diff) | |
download | tutor-module-74eed6e9f17e932b7a6738cc84460b4fb89258db.tar.gz tutor-module-74eed6e9f17e932b7a6738cc84460b4fb89258db.tar.xz tutor-module-74eed6e9f17e932b7a6738cc84460b4fb89258db.zip |
[client] Fixed linking to unallowed images.
Diffstat (limited to 'dozentenmodul/src/main/java/org')
-rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureChangeLinkedImage.java | 19 | ||||
-rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureImageListPage.java | 6 |
2 files changed, 15 insertions, 10 deletions
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; } |