remove the 'shareapi_allow_mail_notification' setting
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
This commit is contained in:
parent
f556c58c22
commit
d235c4833f
5 changed files with 47 additions and 5 deletions
|
@ -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>
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
@ -110,6 +115,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
|
||||
*
|
||||
|
|
|
@ -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)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue