summaryrefslogtreecommitdiffstats
path: root/dozentenmodul
diff options
context:
space:
mode:
authorJonathan Bauer2015-08-31 15:50:20 +0200
committerJonathan Bauer2015-08-31 15:50:20 +0200
commit96ca02d2a2a3976fa25414700bb1f0158b218c39 (patch)
tree40a5ab984ca4cf3f003e5663d086affd8fb1861d /dozentenmodul
parent[client] ask user confirmation before deleting a lecture in LectureListWindow (diff)
downloadtutor-module-96ca02d2a2a3976fa25414700bb1f0158b218c39.tar.gz
tutor-module-96ca02d2a2a3976fa25414700bb1f0158b218c39.tar.xz
tutor-module-96ca02d2a2a3976fa25414700bb1f0158b218c39.zip
[client] slightly improved user info message when deleting a basis image in ImageListWindow
Diffstat (limited to 'dozentenmodul')
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ThriftActions.java75
1 files changed, 53 insertions, 22 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ThriftActions.java b/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ThriftActions.java
index 36dce613..cc86de07 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ThriftActions.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ThriftActions.java
@@ -657,42 +657,63 @@ public class ThriftActions {
return;
// first look if we have versions
ImageDetailsRead details = null;
- List<LectureSummary> lecturesToBeDeleted = new ArrayList<>();
+ // these help construct the question text for the user, bit ugly...
+ List<LectureSummary> lecturesToBeDeleted = null;
+ List<ImageVersionDetails> versionToBeDeleted = null;
try {
details = ThriftManager.getSatClient().getImageDetails(Session.getSatelliteToken(), imageBaseId);
List<LectureSummary> lectureList = ThriftManager.getSatClient().getLectureList(
Session.getSatelliteToken(), 100);
for (LectureSummary lecture : lectureList) {
if (lecture.getImageBaseId().equals(imageBaseId)) {
+ if (lecturesToBeDeleted == null)
+ lecturesToBeDeleted = new ArrayList<LectureSummary>();
lecturesToBeDeleted.add(lecture);
}
}
+ for (ImageVersionDetails version : details.getVersions()) {
+ if (version.isValid) {
+ if (versionToBeDeleted == null)
+ versionToBeDeleted = new ArrayList<ImageVersionDetails>();
+ versionToBeDeleted.add(version);
+ }
+ }
} catch (TException e) {
- ThriftError.showMessage(frame, LOGGER, e, "Fehler");
+ ThriftError.showMessage(frame, LOGGER, e, "Fehler beim Holen der Versionen/Veranstaltung zu folgendes Image: " + imageBaseId);
return;
}
- String questionText = "Dieses Image ist verknüpft zu folgende Veranstaltungen:\n";
- if (details != null && lecturesToBeDeleted != null) {
- for (LectureSummary lecture : lecturesToBeDeleted) {
- questionText += lecture.getLectureName() + "\n";
- }
- questionText += "\nUnd folgende Versionen:\n";
- for (ImageVersionDetails version : details.getVersions()) {
- if (!version.isValid)
- continue;
+ String questionText = "";
+ if (versionToBeDeleted != null) {
+ questionText = "Dieses Image hat folgende gültige Versionen:\n";
+ for (ImageVersionDetails version : versionToBeDeleted) {
questionText += version.getVersionId() + "\n";
}
- questionText += "\nWollen Sie diese Image samt Veranstaltungen und Versionen löschen?\n";
- if (!userConfirmed(frame, questionText))
- return;
- try {
- ThriftManager.getSatClient().deleteImageBase(Session.getSatelliteToken(), imageBaseId);
- } catch (TException e) {
- // TODO Auto-generated catch block
- ThriftError.showMessage(frame, LOGGER, e, "Konnte Basis-Image nicht löschen!");
+ } else {
+ questionText = "Dieses Image hat keine gültige Version.\n";
+ }
+ if (lecturesToBeDeleted != null) {
+ if (!questionText.isEmpty())
+ questionText += "\n";
+ questionText += "Dieses Image ist zu folgende Veranstaltungen verknüpft:\n";
+ for (LectureSummary lecture : lecturesToBeDeleted) {
+ questionText += lecture.getLectureName() + "\n";
}
+ } else {
+ if (!questionText.isEmpty())
+ questionText += "\n";
+ questionText += "Dieses Image ist zu keine Veranstaltungen verknüpft.\n";
+ }
+ questionText += "\nWollen Sie dieses Image wirklich löschen?\n";
+ if (!userConfirmed(frame, questionText))
+ return;
+ try {
+ ThriftManager.getSatClient().deleteImageBase(Session.getSatelliteToken(), imageBaseId);
+ } catch (TException e) {
+ // TODO Auto-generated catch block
+ ThriftError.showMessage(frame, LOGGER, e, "Konnte Basis-Image nicht löschen!");
}
+
}
/**
@@ -727,15 +748,25 @@ public class ThriftActions {
callback.isDeleted(success);
return;
}
- String questionText = "Diese Version ist verknüpft zu folgende Veranstaltungen:\n";
- if (lectureList != null) {
+ String questionText = "";
+ // represents if we found matches of not, needed to make a proper message
+ boolean matches = false;
+ if (lectureList != null && !lectureList.isEmpty()) {
for (LectureSummary lecture : lectureList) {
if (lecture.getImageVersionId().equals(imageVersionId)) {
+ if (!matches)
+ questionText = "Diese Version ist zu folgende Veranstaltungen verknüpft:\n";
+ matches = true;
questionText += lecture.getLectureName() + "\n";
}
}
+ if (matches)
+ questionText += "\nWollen Sie diese Version samt Veranstaltungen löschen?\n";
}
- questionText += "\nWollen Sie diese Version samt Veranstaltungen löschen?\n";
+ if (!matches)
+ questionText = "Diese Version ist zu keine Veranstaltungen verknüpft.\n"
+ + "Wollen Sie sie wirklich löschen?";
+
if (!userConfirmed(frame, questionText))
return;
try {