summaryrefslogtreecommitdiffstats
path: root/apps/provisioning_api
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2015-05-19 12:38:03 +0200
committerThomas Müller <thomas.mueller@tmit.eu>2015-05-19 12:38:03 +0200
commit6d97dfb00c6bd660d9f8ac3a579f34d70fe87af1 (patch)
treee6e8e71d18d1bde14faa2db8981e07a645ad5be5 /apps/provisioning_api
parentad88a7d53d039207eddc82993920beab26375f62 (diff)
downloadnextcloud-server-6d97dfb00c6bd660d9f8ac3a579f34d70fe87af1.tar.gz
nextcloud-server-6d97dfb00c6bd660d9f8ac3a579f34d70fe87af1.zip
Catch NotFoundException and return no quota information which simply reflects the current state - no file storage has been initialized for the user.
Diffstat (limited to 'apps/provisioning_api')
-rw-r--r--apps/provisioning_api/lib/users.php36
1 files changed, 26 insertions, 10 deletions
diff --git a/apps/provisioning_api/lib/users.php b/apps/provisioning_api/lib/users.php
index 43cf22b071b..b709e09726d 100644
--- a/apps/provisioning_api/lib/users.php
+++ b/apps/provisioning_api/lib/users.php
@@ -27,6 +27,7 @@ use \OC_SubAdmin;
use \OC_User;
use \OC_Group;
use \OC_Helper;
+use OCP\Files\NotFoundException;
class Users {
@@ -92,16 +93,8 @@ class Users {
$config = \OC::$server->getConfig();
// Find the data
- $data = array();
- \OC_Util::tearDownFS();
- \OC_Util::setupFS($userId);
- $storage = OC_Helper::getStorageInfo('/');
- $data['quota'] = array(
- 'free' => $storage['free'],
- 'used' => $storage['used'],
- 'total' => $storage['total'],
- 'relative' => $storage['relative'],
- );
+ $data = [];
+ $data = self::fillStorageInfo($userId, $data);
$data['enabled'] = $config->getUserValue($userId, 'core', 'enabled', 'true');
$data['email'] = $config->getUserValue($userId, 'settings', 'email');
$data['displayname'] = OC_User::getDisplayName($parameters['userid']);
@@ -350,4 +343,27 @@ class Users {
return new OC_OCS_Result($groups);
}
}
+
+ /**
+ * @param $userId
+ * @param $data
+ * @return mixed
+ * @throws \OCP\Files\NotFoundException
+ */
+ private static function fillStorageInfo($userId, $data) {
+ try {
+ \OC_Util::tearDownFS();
+ \OC_Util::setupFS($userId);
+ $storage = OC_Helper::getStorageInfo('/');
+ $data['quota'] = [
+ 'free' => $storage['free'],
+ 'used' => $storage['used'],
+ 'total' => $storage['total'],
+ 'relative' => $storage['relative'],
+ ];
+ } catch (NotFoundException $ex) {
+ $data['quota'] = [];
+ }
+ return $data;
+ }
}