diff --git a/src/i18n/de/translation.json b/src/i18n/de/translation.json index 33ac4b7e25ff990208db8fb31b38cf65811b5abb..8f4997740dd980b1dadf48fa9d8e7063d30f508b 100644 --- a/src/i18n/de/translation.json +++ b/src/i18n/de/translation.json @@ -97,5 +97,7 @@ "continue": "Platzierung bestätigen" }, "error-permission-message": "Sie müssen das Recht auf Amtssignaturen besitzen um diese Funktion nutzen zu können!", - "error-login-message": "Sie müssen eingeloggt sein um diese Funktion nutzen zu können!" + "error-login-message": "Sie müssen eingeloggt sein um diese Funktion nutzen zu können!", + "error-cancel-message": "Der Signaturprozess wurde manuell abgebrochen.", + "error-rights-message": "Abbruch auf Grund mangelnder Rechte Ihres Accounts." } diff --git a/src/i18n/en/translation.json b/src/i18n/en/translation.json index b8b52055a589a8bf0887f05996b0260aa9f1dc5a..e20a48d4fb50682e461af2903dedbc935ff46079 100644 --- a/src/i18n/en/translation.json +++ b/src/i18n/en/translation.json @@ -97,5 +97,7 @@ "continue": "Confirm placement" }, "error-permission-message": "You need have permissions to use the official signature to use this function!", - "error-login-message": "You need to be logged in to use this function!" + "error-login-message": "You need to be logged in to use this function!", + "error-cancel-message": "The signature process was manually aborted.", + "error-rights-message": "Abort due to insufficient rights of your account." } diff --git a/src/vpu-qualified-signature-pdf-upload.js b/src/vpu-qualified-signature-pdf-upload.js index 117c51367734a90506aab27242a5c995c69d7d67..d7535a3280d53a1fd1238b533d22dd66fd54cb82 100644 --- a/src/vpu-qualified-signature-pdf-upload.js +++ b/src/vpu-qualified-signature-pdf-upload.js @@ -212,6 +212,32 @@ class QualifiedSignaturePdfUpload extends ScopedElementsMixin(VPUSignatureLitEle event.returnValue = ''; } + /** + * Parse error message for user friendly output + * + * @param error + */ + parseError(error) { + let errorParsed = error; + // Common Error Messages fpr pdf-as: https://www.buergerkarte.at/konzept/securitylayer/spezifikation/20140114/errorcodes/errorcodes.html + // SecurityLayer Error: [6000] Unklassifizierter Abbruch durch den Bürger. + if(error.includes('SecurityLayer Error: [6001]')) + { + errorParsed = i18n.t('error-cancel-message'); + } + // SecurityLayer Error: [6001] Abbruch durch den Bürger über die Benutzerschnittstelle. + else if(error.includes('SecurityLayer Error: [6000]')) + { + errorParsed = i18n.t('error-cancel-message'); + } + // SecurityLayer Error: [6002] Abbruch auf Grund mangelnder Rechte zur Befehlsausführung. + else if(error.includes('SecurityLayer Error: [6002]')) + { + errorParsed = i18n.t('error-rights-message'); + } + return errorParsed; + } + onReceiveIframeMessage(event) { const data = event.data; @@ -222,7 +248,7 @@ class QualifiedSignaturePdfUpload extends ScopedElementsMixin(VPUSignatureLitEle if (data.cause) { error = `${error}: ${data.cause}`; } - file.json = {"hydra:description" : error}; + file.json = {"hydra:description" : this.parseError(error)}; this.addToErrorFiles(file); this._("#iframe").src = "about:blank"; this.externalAuthInProgress = false;