Commit f782d545 authored by Antoine's avatar Antoine
Browse files

Add translation keys for ACTION_NEEDED error and block poll in case it occurs. Fixes #660

parent 00ebc224
Pipeline #24331 passed with stages
in 8 minutes and 46 seconds
......@@ -347,6 +347,9 @@ function handleFirstSyncError(err) {
case Errors.UNKNOWN_MODULE:
alert($t('client.sync.unknown_module'));
break;
case Errors.ACTION_NEEDED:
alert($t('client.sync.action_needed'));
break;
default:
genericErrorHandler(err);
break;
......@@ -506,6 +509,9 @@ function handleSyncError(err) {
case Errors.NO_PASSWORD:
alert($t('client.sync.no_password'));
break;
case Errors.ACTION_NEEDED:
alert($t('client.sync.action_needed'));
break;
case Errors.UNKNOWN_MODULE:
alert($t('client.sync.unknown_module'));
break;
......
......@@ -118,11 +118,12 @@ export function promisifyModel(model) {
return model;
}
export function isCredentialError(err) {
export function errorRequiresUserAction(err) {
return err.errCode === getErrorCode('INVALID_PASSWORD') ||
err.errCode === getErrorCode('EXPIRED_PASSWORD') ||
err.errCode === getErrorCode('INVALID_PARAMETERS') ||
err.errCode === getErrorCode('NO_PASSWORD');
err.errCode === getErrorCode('NO_PASSWORD') ||
err.errCode === getErrorCode('ACTION_NEEDED');
}
// Minimum hour of the day at which the automatic poll can occur.
......
......@@ -15,7 +15,7 @@ import {
assert,
makeLogger,
translate as $t,
isCredentialError,
errorRequiresUserAction,
POLLER_START_LOW_HOUR,
POLLER_START_HIGH_HOUR
} from '../helpers';
......@@ -85,7 +85,7 @@ async function pollAllAccounts() {
}
} catch (err) {
log.error(`Error when polling accounts: ${err.message}`);
if (err.errCode && isCredentialError(err)) {
if (err.errCode && errorRequiresUserAction(err)) {
await manageCredentialsErrors(access, err);
}
}
......
......@@ -72,7 +72,8 @@ Access.prototype.canBePolled = function() {
return this.fetchStatus !== 'INVALID_PASSWORD' &&
this.fetchStatus !== 'EXPIRED_PASSWORD' &&
this.fetchStatus !== 'INVALID_PARAMETERS' &&
this.fetchStatus !== 'NO_PASSWORD';
this.fetchStatus !== 'NO_PASSWORD' &&
this.fetchStatus !== 'ACTION_NEEDED';
};
module.exports = Access;
......@@ -273,7 +273,8 @@
"invalid_parameters": "The format of one of your login or password might be incorrect: %{content}",
"expired_password": "Your password has expired. Please change it on your bank website and update it in Kresus.",
"unknown_module": "Your bank requires a module not supported by Kresus (and Weboob) or a dependency is missing. Please try updating Weboob or ask a maintainer.",
"unknown_error": "This is an error unknown to Kresus, please try updating Weboob, and if it doesn't work, please report the error."
"unknown_error": "This is an error unknown to Kresus, please try updating Weboob, and if it doesn't work, please report the error.",
"action_needed": "Your bank's website requires a manual action from you. Please log in manually on your bank's website, follow the instructions, and try again."
},
"type": {
"none": "None",
......@@ -366,6 +367,7 @@
"INVALID_PASSWORD": "The password is invalid",
"EXPIRED_PASSWORD": "The password expired",
"INVALID_PARAMETERS": "The credentials are invalid",
"ACTION_NEEDED": "A manual action is required on your bank's website",
"GENERIC_EXCEPTION": "Unknown error",
"text": "Kresus detected the following error when fetching operations from the bank %{bank}: \n%{error} (%{message}).\n",
"pause_poll": "Please note no automatic polling will be retried until you fix the problem"
......
......@@ -273,7 +273,8 @@
"invalid_parameters": "Le format de votre identifiant ou mot de passe semble être incorrect : %{content}",
"expired_password": "Votre mot de passe a expiré. Veuillez le mettre à jour sur le site de votre banque et dans les préférences.",
"unknown_module": "Votre banque utilise un module non supporté par Kresus (et Weboob) ou il manque une dépendance. Essayez de mettre à jour Weboob ou contactez un mainteneur.",
"unknown_error": "Erreur inconnue de Kresus : essayez de mettre à jour Weboob, et si cela ne règle pas votre problème, merci de signaler l'erreur aux auteurs de Kresus."
"unknown_error": "Erreur inconnue de Kresus : essayez de mettre à jour Weboob, et si cela ne règle pas votre problème, merci de signaler l'erreur aux auteurs de Kresus.",
"action_needed": "Le site web de votre banque nécessite une action manuelle de votre part. Veuillez vous connecter sur le site de votre banque, suivez les instructions et réessayez."
},
"type": {
"none": "Aucun",
......@@ -366,6 +367,7 @@
"INVALID_PASSWORD": "Le mot de passe est invalide",
"EXPIRED_PASSWORD": "Le mot de passe a expiré",
"INVALID_PARAMETERS": "Les paramètres de connexion sont invalides",
"ACTION_NEEDED": "Une action manuelle est requise sur le site web de votre banque",
"GENERIC_EXCEPTION": "Erreur inconnue",
"text": "Kresus a détecté les erreurs suivantes lors de la récupération des opérations des comptes attachés à la banque %{bank} : \n%{error} (%{message}).\n",
"pause_poll": "Veuillez noter qu'aucun import automatique des opérations ne sera tenté tant que vous n'avez pas corrigé les problèmes de connexion."
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment