diff options
author | Bjoern Schiessle <bjoern@schiessle.org> | 2016-11-02 12:03:52 +0100 |
---|---|---|
committer | Bjoern Schiessle <bjoern@schiessle.org> | 2016-11-02 21:17:05 +0100 |
commit | d235c4833f8fb8bb0b077276e2819cfbd2918313 (patch) | |
tree | c120bdc814fd95fd517f563c80c5594b09c994d0 | |
parent | f556c58c22405945263bc6debfa6a424e2c601cb (diff) | |
download | nextcloud-server-d235c4833f8fb8bb0b077276e2819cfbd2918313.tar.gz nextcloud-server-d235c4833f8fb8bb0b077276e2819cfbd2918313.zip |
remove the 'shareapi_allow_mail_notification' setting
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
-rw-r--r-- | apps/files_sharing/appinfo/info.xml | 2 | ||||
-rw-r--r-- | apps/files_sharing/appinfo/update.php | 6 | ||||
-rw-r--r-- | apps/files_sharing/lib/Migration.php | 15 | ||||
-rw-r--r-- | apps/files_sharing/tests/MigrationTest.php | 28 | ||||
-rw-r--r-- | core/js/tests/specs/sharedialogviewSpec.js | 1 |
5 files changed, 47 insertions, 5 deletions
diff --git a/apps/files_sharing/appinfo/info.xml b/apps/files_sharing/appinfo/info.xml index 133119feabd..cc97f65a5e6 100644 --- a/apps/files_sharing/appinfo/info.xml +++ b/apps/files_sharing/appinfo/info.xml @@ -10,7 +10,7 @@ Turning the feature off removes shared files and folders on the server for all s <licence>AGPL</licence> <author>Michael Gapczynski, Bjoern Schiessle</author> <default_enable/> - <version>1.1.0</version> + <version>1.1.1</version> <types> <filesystem/> </types> diff --git a/apps/files_sharing/appinfo/update.php b/apps/files_sharing/appinfo/update.php index d53d878881e..ed0d7732b37 100644 --- a/apps/files_sharing/appinfo/update.php +++ b/apps/files_sharing/appinfo/update.php @@ -26,7 +26,11 @@ $installedVersion = \OC::$server->getConfig()->getAppValue('files_sharing', 'ins // Migration OC8.2 -> OC9 if (version_compare($installedVersion, '0.9.1', '<')) { - $m = new Migration(\OC::$server->getDatabaseConnection()); + $m = new Migration(\OC::$server->getDatabaseConnection(), \OC::$server->getConfig()); $m->removeReShares(); $m->updateInitiatorInfo(); } + +if (version_compare($installedVersion, '1.1.1', '<')) { + $m = new Migration(\OC::$server->getDatabaseConnection(), \OC::$server->getConfig()); +} diff --git a/apps/files_sharing/lib/Migration.php b/apps/files_sharing/lib/Migration.php index 9c971bf7f49..605a11fd22c 100644 --- a/apps/files_sharing/lib/Migration.php +++ b/apps/files_sharing/lib/Migration.php @@ -27,6 +27,7 @@ namespace OCA\Files_Sharing; use Doctrine\DBAL\Connection; use OCP\ICache; +use OCP\IConfig; use OCP\IDBConnection; use OC\Cache\CappedMemoryCache; @@ -41,14 +42,18 @@ class Migration { /** @var IDBConnection */ private $connection; + /** @var IConfig */ + private $config; + /** @var ICache with all shares we already saw */ private $shareCache; /** @var string */ private $table = 'share'; - public function __construct(IDBConnection $connection) { + public function __construct(IDBConnection $connection, IConfig $config) { $this->connection = $connection; + $this->config = $config; // We cache up to 10k share items (~20MB) $this->shareCache = new CappedMemoryCache(10000); @@ -111,6 +116,14 @@ class Migration { } /** + * this was dropped for Nextcloud 11 in favour of share by mail + */ + public function removeSendMailOption() { + $this->config->deleteAppValue('core', 'shareapi_allow_mail_notification'); + $this->config->deleteAppValue('core', 'shareapi_allow_public_notification'); + } + + /** * find the owner of a re-shared file/folder * * @param array $share diff --git a/apps/files_sharing/tests/MigrationTest.php b/apps/files_sharing/tests/MigrationTest.php index 7d6ca7840ed..572f64da743 100644 --- a/apps/files_sharing/tests/MigrationTest.php +++ b/apps/files_sharing/tests/MigrationTest.php @@ -39,6 +39,9 @@ class MigrationTest extends TestCase { /** @var \OCP\IDBConnection */ private $connection; + /** @var \OCP\IConfig */ + private $config; + /** @var Migration */ private $migration; @@ -48,7 +51,8 @@ class MigrationTest extends TestCase { parent::setUp(); $this->connection = \OC::$server->getDatabaseConnection(); - $this->migration = new Migration($this->connection); + $this->config = \OC::$server->getConfig(); + $this->migration = new Migration($this->connection, $this->config); $this->cleanDB(); } @@ -351,4 +355,26 @@ class MigrationTest extends TestCase { $stmt->closeCursor(); $this->assertEquals(1001, $i); } + + /** + * test that we really remove the "shareapi_allow_mail_notification" setting only + */ + public function testRemoveSendMailOption() { + $this->config->setAppValue('core', 'shareapi_setting1', 'dummy-value'); + $this->config->setAppValue('core', 'shareapi_allow_mail_notification', 'no'); + $this->config->setAppValue('core', 'shareapi_allow_public_notification', 'no'); + + $this->migration->removeSendMailOption(); + + $this->assertNull( + $this->config->getAppValue('core', 'shareapi_allow_mail_notification', null) + ); + $this->assertNull( + $this->config->getAppValue('core', 'shareapi_allow_public_notification', null) + ); + + $this->assertSame('dummy-value', + $this->config->getAppValue('core', 'shareapi_setting1', null) + ); + } } diff --git a/core/js/tests/specs/sharedialogviewSpec.js b/core/js/tests/specs/sharedialogviewSpec.js index 8acaf62e2e7..6e86cb8eff7 100644 --- a/core/js/tests/specs/sharedialogviewSpec.js +++ b/core/js/tests/specs/sharedialogviewSpec.js @@ -41,7 +41,6 @@ describe('OC.Share.ShareDialogView', function() { beforeEach(function() { // horrible parameters $('#testArea').append('<input id="allowShareWithLink" type="hidden" value="yes">'); - $('#testArea').append('<input id="mailPublicNotificationEnabled" name="mailPublicNotificationEnabled" type="hidden" value="yes">'); $container = $('#shareContainer'); /* jshint camelcase:false */ oldAppConfig = _.extend({}, oc_appconfig.core); |