aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjoern Schiessle <bjoern@schiessle.org>2017-05-30 13:22:27 +0200
committerBjoern Schiessle <bjoern@schiessle.org>2017-07-06 11:47:11 +0200
commit5f75468aa4341672e3a805ab5ce2ae03ba7402cc (patch)
tree1eafc930e978640e8aa4b78797e95fa9085fb934
parent28a7e72868017fb545e8303f32c1204ffc4cc8c1 (diff)
downloadnextcloud-server-5f75468aa4341672e3a805ab5ce2ae03ba7402cc.tar.gz
nextcloud-server-5f75468aa4341672e3a805ab5ce2ae03ba7402cc.zip
improve status messages
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
-rw-r--r--apps/encryption/lib/AppInfo/Application.php3
-rw-r--r--apps/encryption/lib/Controller/StatusController.php21
-rw-r--r--apps/encryption/templates/settings-admin.php2
-rw-r--r--apps/encryption/tests/Controller/StatusControllerTest.php8
4 files changed, 27 insertions, 7 deletions
diff --git a/apps/encryption/lib/AppInfo/Application.php b/apps/encryption/lib/AppInfo/Application.php
index c047489cec3..dd9d173c8eb 100644
--- a/apps/encryption/lib/AppInfo/Application.php
+++ b/apps/encryption/lib/AppInfo/Application.php
@@ -196,7 +196,8 @@ class Application extends \OCP\AppFramework\App {
$c->getAppName(),
$server->getRequest(),
$server->getL10N($c->getAppName()),
- $c->query('Session')
+ $c->query('Session'),
+ $server->getEncryptionManager()
);
});
diff --git a/apps/encryption/lib/Controller/StatusController.php b/apps/encryption/lib/Controller/StatusController.php
index 0776a84ceb4..9ec9fd1234b 100644
--- a/apps/encryption/lib/Controller/StatusController.php
+++ b/apps/encryption/lib/Controller/StatusController.php
@@ -28,6 +28,7 @@ namespace OCA\Encryption\Controller;
use OCA\Encryption\Session;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\DataResponse;
+use OCP\Encryption\IManager;
use OCP\IL10N;
use OCP\IRequest;
@@ -39,20 +40,26 @@ class StatusController extends Controller {
/** @var Session */
private $session;
+ /** @var IManager */
+ private $encryptionManager;
+
/**
* @param string $AppName
* @param IRequest $request
* @param IL10N $l10n
* @param Session $session
+ * @param IManager $encryptionManager
*/
public function __construct($AppName,
IRequest $request,
IL10N $l10n,
- Session $session
+ Session $session,
+ IManager $encryptionManager
) {
parent::__construct($AppName, $request);
$this->l = $l10n;
$this->session = $session;
+ $this->encryptionManager = $encryptionManager;
}
/**
@@ -78,9 +85,15 @@ class StatusController extends Controller {
break;
case Session::NOT_INITIALIZED:
$status = 'interactionNeeded';
- $message = (string)$this->l->t(
- 'Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again.'
- );
+ if ($this->encryptionManager->isEnabled()) {
+ $message = (string)$this->l->t(
+ 'Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again.'
+ );
+ } else {
+ $message = (string)$this->l->t(
+ 'Please enable server side encryption in the admin settings in order to use the encryption module.'
+ );
+ }
break;
case Session::INIT_SUCCESSFUL:
$status = 'success';
diff --git a/apps/encryption/templates/settings-admin.php b/apps/encryption/templates/settings-admin.php
index efe9c44ece7..c5f8d9f5536 100644
--- a/apps/encryption/templates/settings-admin.php
+++ b/apps/encryption/templates/settings-admin.php
@@ -7,7 +7,7 @@ style('encryption', 'settings-admin');
?>
<form id="ocDefaultEncryptionModule" class="sub-section">
<h3><?php p($l->t("Default encryption module")); ?></h3>
- <?php if(!$_["initStatus"]): ?>
+ <?php if(!$_["initStatus"] && $_['masterKeyEnabled'] === false): ?>
<?php p($l->t("Encryption app is enabled but your keys are not initialized, please log-out and log-in again")); ?>
<?php else: ?>
<p id="encryptHomeStorageSetting">
diff --git a/apps/encryption/tests/Controller/StatusControllerTest.php b/apps/encryption/tests/Controller/StatusControllerTest.php
index c6c92e2aac2..ee0f7b2661c 100644
--- a/apps/encryption/tests/Controller/StatusControllerTest.php
+++ b/apps/encryption/tests/Controller/StatusControllerTest.php
@@ -27,6 +27,7 @@ namespace OCA\Encryption\Tests\Controller;
use OCA\Encryption\Controller\StatusController;
use OCA\Encryption\Session;
+use OCP\Encryption\IManager;
use OCP\IRequest;
use Test\TestCase;
@@ -41,6 +42,9 @@ class StatusControllerTest extends TestCase {
/** @var \OCA\Encryption\Session | \PHPUnit_Framework_MockObject_MockObject */
protected $sessionMock;
+ /** @var IManager | \PHPUnit_Framework_MockObject_MockObject */
+ protected $encryptionManagerMock;
+
/** @var StatusController */
protected $controller;
@@ -59,11 +63,13 @@ class StatusControllerTest extends TestCase {
->will($this->returnCallback(function($message) {
return $message;
}));
+ $this->encryptionManagerMock = $this->createMock(IManager::class);
$this->controller = new StatusController('encryptionTest',
$this->requestMock,
$this->l10nMock,
- $this->sessionMock);
+ $this->sessionMock,
+ $this->encryptionManagerMock);
}