From 01ac74588977c81cceceb68557d89d1e2f204202 Mon Sep 17 00:00:00 2001 From: Tamara Steinwender <tamara.steinwender@tugraz.at> Date: Tue, 7 Jul 2020 11:31:07 +0200 Subject: [PATCH] Error message parsing with language support (#22) --- src/i18n/de/translation.json | 4 +++- src/i18n/en/translation.json | 4 +++- src/vpu-qualified-signature-pdf-upload.js | 28 ++++++++++++++++++++++- 3 files changed, 33 insertions(+), 3 deletions(-) diff --git a/src/i18n/de/translation.json b/src/i18n/de/translation.json index 33ac4b7..8f49977 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 b8b5205..e20a48d 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 117c513..d7535a3 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; -- GitLab