From c81bb9f3e8d1dcb6c937f705bca85440176b8124 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Mon, 23 Jan 2023 17:05:55 +0100 Subject: [client] Warn if destination directory can't be created on download ... instead of saying "out of disk space" --- .../src/main/java/org/openslx/dozmod/thrift/ThriftActions.java | 8 ++++++++ dozentenmodul/src/main/properties/i18n/thrift.properties | 3 ++- dozentenmodul/src/main/properties/i18n/thrift_de_DE.properties | 3 ++- 3 files changed, 12 insertions(+), 2 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 c10a36bf..34995b41 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ThriftActions.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ThriftActions.java @@ -378,6 +378,14 @@ public class ThriftActions { destDir.getAbsoluteFile().mkdirs(); } + if (!destDir.isDirectory()) { + Gui.showMessageBox(frame, I18n.THRIFT.getString("ThriftActions.Message.error.destDirNotWritable"), + MessageType.ERROR, LOGGER, null); + if (callback != null) + callback.downloadInitialized(false); + return; + } + // Check the free space on disk if (destDir.getUsableSpace() < imageSize + SIZE_CHECK_EXTRA_DL) { Gui.showMessageBox(frame, I18n.THRIFT.getString("ThriftActions.Message.error.destDirHasNotEnoughFreeSpace", diff --git a/dozentenmodul/src/main/properties/i18n/thrift.properties b/dozentenmodul/src/main/properties/i18n/thrift.properties index 8f85cdda..77227c8b 100644 --- a/dozentenmodul/src/main/properties/i18n/thrift.properties +++ b/dozentenmodul/src/main/properties/i18n/thrift.properties @@ -31,6 +31,7 @@ ThriftActions.Message.yesNo.destDirExists=Directory ''{0}'' already exists, do y ThriftActions.Message.error.couldNotDeleteDiskFile=File could not be overwritten! ThriftActions.Message.error.destDirHasNotEnoughFreeSpace=Not enough space available in the selected \ directory.\nNeeded: {0}\nHave: {1} +ThriftActions.Message.error.destDirNotWritable=Destination directory not writable ThriftActions.Message.error.downloadRequestFailed=The download request failed ThriftActions.Message.error.destinationNotWritable=Could not prepare download: The selected destination \ is not writable @@ -93,4 +94,4 @@ ThriftError.AuthorizationError.invalidToken=Invalid session token ThriftError.AuthorizationError.notAuthenticated=Not authenticated ThriftError.AuthorizationError.noPermission=Not sufficient permissions ThriftError.AuthorizationError.organizationSuspended=Your associated organization is suspended -ThriftError.AuthorizationError.default=Unknown error code: {0} \ No newline at end of file +ThriftError.AuthorizationError.default=Unknown error code: {0} diff --git a/dozentenmodul/src/main/properties/i18n/thrift_de_DE.properties b/dozentenmodul/src/main/properties/i18n/thrift_de_DE.properties index 77ebc4b4..29404f0b 100644 --- a/dozentenmodul/src/main/properties/i18n/thrift_de_DE.properties +++ b/dozentenmodul/src/main/properties/i18n/thrift_de_DE.properties @@ -31,6 +31,7 @@ ThriftActions.Message.yesNo.destDirExists=Verzeichnis ''{0}'' existiert bereits, ThriftActions.Message.error.couldNotDeleteDiskFile=Datei konnte nicht überschrieben werden! ThriftActions.Message.error.destDirHasNotEnoughFreeSpace=Nicht genügend Speicherplatz im ausgewählten Verzeichnis \ verfügbar.\nBrauche: {0}\nHabe: {1} +ThriftActions.Message.error.destDirNotWritable=Zielverzeichnis nicht beschreibbar ThriftActions.Message.error.downloadRequestFailed=Die Download-Anfrage ist gescheitert ThriftActions.Message.error.destinationNotWritable=Konnte Download nicht vorbereiten: Der gewählte Zielort \ ist nicht beschreibbar @@ -93,4 +94,4 @@ ThriftError.AuthorizationError.invalidToken=Ungültiges Sitzungstoken ThriftError.AuthorizationError.notAuthenticated=Nicht authentifiziert ThriftError.AuthorizationError.noPermission=Keine ausreichenden Berechtigungen ThriftError.AuthorizationError.organizationSuspended=Ihre zugehörige Organisation ist gesperrt -ThriftError.AuthorizationError.default=Unbekannter Fehlercode: {0} \ No newline at end of file +ThriftError.AuthorizationError.default=Unbekannter Fehlercode: {0} -- cgit v1.2.3-55-g7522