From b17f26834df37819656b83936c34d8957c344fac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Macias?= Date: Wed, 25 Nov 2015 11:58:54 +0100 Subject: [PATCH] Add different storage status codes managed by StoragedNotAvailableException --- .../controller/storagescontroller.php | 42 +++++++++++++++++-- apps/files_external/lib/config.php | 4 ++ 2 files changed, 42 insertions(+), 4 deletions(-) diff --git a/apps/files_external/controller/storagescontroller.php b/apps/files_external/controller/storagescontroller.php index c66bd902d8..7efe761140 100644 --- a/apps/files_external/controller/storagescontroller.php +++ b/apps/files_external/controller/storagescontroller.php @@ -242,10 +242,44 @@ abstract class StoragesController extends Controller { $this->l10n->t('Insufficient data: %s', [$e->getMessage()]) ); } catch (StorageNotAvailableException $e) { - $storage->setStatus( - \OC_Mount_Config::STATUS_ERROR, - $e->getMessage() - ); + switch ($e->getCode()) { + case 1: + $storage->setStatus( + \OC_Mount_Config::STATUS_ERROR, + $this->l10n->t('%s', [$e->getMessage()]) + ); + break; + case 3: + $storage->setStatus( + \OC_Mount_Config::STATUS_INCOMPLETE_CONF, + $this->l10n->t('Incomplete configuration. %s', [$e->getMessage()]) + ); + break; + case 4: + $storage->setStatus( + \OC_Mount_Config::STATUS_UNAUTHORIZED, + $this->l10n->t('Unauthorized. %s', [$e->getMessage()]) + $e->getMessage() + ); + break; + case 5: + $storage->setStatus( + \OC_Mount_Config::STATUS_TIMEOUT, + $this->l10n->t('Timeout. %s', [$e->getMessage()]) + ); + break; + case 6: + $storage->setStatus( + \OC_Mount_Config::STATUS_NETWORK_ERROR, + $this->l10n->t('Network error. %s', [$e->getMessage()]) + ); + break; + default: + $storage->setStatus( + \OC_Mount_Config::STATUS_ERROR, + $this->l10n->t('%s', [$e->getMessage()]) + ); + } } catch (\Exception $e) { // FIXME: convert storage exceptions to StorageNotAvailableException $storage->setStatus( diff --git a/apps/files_external/lib/config.php b/apps/files_external/lib/config.php index 1e96fac814..bf50723303 100644 --- a/apps/files_external/lib/config.php +++ b/apps/files_external/lib/config.php @@ -52,6 +52,10 @@ class OC_Mount_Config { const STATUS_SUCCESS = 0; const STATUS_ERROR = 1; const STATUS_INDETERMINATE = 2; + const STATUS_INCOMPLETE_CONF = 3; + const STATUS_UNAUTHORIZED = 4; + const STATUS_TIMEOUT = 5; + const STATUS_NETWORK_ERROR = 6; // whether to skip backend test (for unit tests, as this static class is not mockable) public static $skipTest = false;