diff options
author | Thomas Müller <thomas.mueller@tmit.eu> | 2016-02-29 07:08:57 +0100 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2016-02-29 07:08:57 +0100 |
commit | 3e8e0049b45f19a53b84aa30a75c42a3df383cbc (patch) | |
tree | 5bc5f784840e87ad8f0548cd5249013c0096b91c | |
parent | a39332832c3926929a245275717391e8f5b00ca7 (diff) | |
parent | bfcdf40a64fd3217803c59c4e2057fc573407595 (diff) | |
download | nextcloud-server-3e8e0049b45f19a53b84aa30a75c42a3df383cbc.tar.gz nextcloud-server-3e8e0049b45f19a53b84aa30a75c42a3df383cbc.zip |
Merge pull request #22673 from owncloud/fix_enforced_expire_date_setting
Expiration date can only be enforced if default is enabled
-rw-r--r-- | lib/private/share20/manager.php | 3 | ||||
-rw-r--r-- | tests/lib/share20/managertest.php | 15 |
2 files changed, 17 insertions, 1 deletions
diff --git a/lib/private/share20/manager.php b/lib/private/share20/manager.php index 6932360a7e9..df125ea6fc1 100644 --- a/lib/private/share20/manager.php +++ b/lib/private/share20/manager.php @@ -1079,7 +1079,8 @@ class Manager implements IManager { * @return bool */ public function shareApiLinkDefaultExpireDateEnforced() { - return $this->config->getAppValue('core', 'shareapi_enforce_expire_date', 'no') === 'yes'; + return $this->shareApiLinkDefaultExpireDate() && + $this->config->getAppValue('core', 'shareapi_enforce_expire_date', 'no') === 'yes'; } /** diff --git a/tests/lib/share20/managertest.php b/tests/lib/share20/managertest.php index 2c40bf65c2c..d388d56ce3d 100644 --- a/tests/lib/share20/managertest.php +++ b/tests/lib/share20/managertest.php @@ -746,10 +746,25 @@ class ManagerTest extends \Test\TestCase { $this->config->method('getAppValue') ->will($this->returnValueMap([ + ['core', 'shareapi_default_expire_date', 'no', 'yes'], + ['core', 'shareapi_enforce_expire_date', 'no', 'yes'], + ])); + + $this->invokePrivate($this->manager, 'validateExpirationDate', [$share]); + } + + public function testvalidateExpirationDateEnforceButNotEnabledAndNotSet() { + $share = $this->manager->newShare(); + $share->setProviderId('foo')->setId('bar'); + + $this->config->method('getAppValue') + ->will($this->returnValueMap([ ['core', 'shareapi_enforce_expire_date', 'no', 'yes'], ])); $this->invokePrivate($this->manager, 'validateExpirationDate', [$share]); + + $this->assertNull($share->getExpirationDate()); } public function testvalidateExpirationDateEnforceButNotSetNewShare() { |