always show correct place holder, mention share by mail only if the share provider is enabled
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
This commit is contained in:
parent
ce08682c2f
commit
86b362809b
|
@ -0,0 +1,24 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @copyright Copyright (c) 2016 Bjoern Schiessle <bjoern@schiessle.org>
|
||||||
|
*
|
||||||
|
* @license GNU AGPL version 3 or any later version
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero General Public License as
|
||||||
|
* published by the Free Software Foundation, either version 3 of the
|
||||||
|
* License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Affero General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
$settings = new \OCA\ShareByMail\Settings();
|
||||||
|
|
||||||
|
\OCP\Util::connectHook('\OCP\Config', 'js', $settings, 'announceShareProvider');
|
|
@ -0,0 +1,38 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @copyright Copyright (c) 2016 Bjoern Schiessle <bjoern@schiessle.org>
|
||||||
|
*
|
||||||
|
* @license GNU AGPL version 3 or any later version
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero General Public License as
|
||||||
|
* published by the Free Software Foundation, either version 3 of the
|
||||||
|
* License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Affero General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
namespace OCA\ShareByMail;
|
||||||
|
|
||||||
|
|
||||||
|
class Settings {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* announce that the share-by-mail share provider is enabled
|
||||||
|
*
|
||||||
|
* @param array $settings
|
||||||
|
*/
|
||||||
|
public function announceShareProvider(array $settings) {
|
||||||
|
$array = json_decode($settings['array']['oc_appconfig'], true);
|
||||||
|
$array['shareByMailEnabled'] = true;
|
||||||
|
$settings['array']['oc_appconfig'] = json_encode($array);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,64 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @copyright Copyright (c) 2016 Bjoern Schiessle <bjoern@schiessle.org>
|
||||||
|
*
|
||||||
|
* @license GNU AGPL version 3 or any later version
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero General Public License as
|
||||||
|
* published by the Free Software Foundation, either version 3 of the
|
||||||
|
* License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Affero General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
namespace OCA\ShareByMail\Tests;
|
||||||
|
|
||||||
|
|
||||||
|
use OCA\ShareByMail\Settings;
|
||||||
|
use Test\TestCase;
|
||||||
|
|
||||||
|
class SettingsTest extends TestCase {
|
||||||
|
|
||||||
|
/** @var Settings */
|
||||||
|
private $instance;
|
||||||
|
|
||||||
|
public function setUp() {
|
||||||
|
parent::setUp();
|
||||||
|
|
||||||
|
$this->instance = new Settings();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testAnnounceShareProvider() {
|
||||||
|
$before = [
|
||||||
|
'oc_appconfig' =>
|
||||||
|
json_encode([
|
||||||
|
'key1' => 'value1',
|
||||||
|
'key2' => 'value2'
|
||||||
|
]),
|
||||||
|
'oc_foo' => 'oc_bar'
|
||||||
|
];
|
||||||
|
|
||||||
|
$after = [
|
||||||
|
'oc_appconfig' =>
|
||||||
|
json_encode([
|
||||||
|
'key1' => 'value1',
|
||||||
|
'key2' => 'value2',
|
||||||
|
'shareByMailEnabled' => true
|
||||||
|
]),
|
||||||
|
'oc_foo' => 'oc_bar'
|
||||||
|
];
|
||||||
|
|
||||||
|
$this->instance->announceShareProvider(['array' => &$before]);
|
||||||
|
$this->assertSame($after, $before);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -25,6 +25,7 @@
|
||||||
isDefaultExpireDateEnforced: oc_appconfig.core.defaultExpireDateEnforced === true,
|
isDefaultExpireDateEnforced: oc_appconfig.core.defaultExpireDateEnforced === true,
|
||||||
isDefaultExpireDateEnabled: oc_appconfig.core.defaultExpireDateEnabled === true,
|
isDefaultExpireDateEnabled: oc_appconfig.core.defaultExpireDateEnabled === true,
|
||||||
isRemoteShareAllowed: oc_appconfig.core.remoteShareAllowed,
|
isRemoteShareAllowed: oc_appconfig.core.remoteShareAllowed,
|
||||||
|
isMailShareAllowed: oc_appconfig.shareByMailEnabled !== undefined,
|
||||||
defaultExpireDate: oc_appconfig.core.defaultExpireDate,
|
defaultExpireDate: oc_appconfig.core.defaultExpireDate,
|
||||||
isResharingAllowed: oc_appconfig.core.resharingAllowed,
|
isResharingAllowed: oc_appconfig.core.resharingAllowed,
|
||||||
allowGroupSharing: oc_appconfig.core.allowGroupSharing
|
allowGroupSharing: oc_appconfig.core.allowGroupSharing
|
||||||
|
|
|
@ -416,19 +416,33 @@
|
||||||
},
|
},
|
||||||
|
|
||||||
_renderSharePlaceholderPart: function () {
|
_renderSharePlaceholderPart: function () {
|
||||||
var sharePlaceholder = t('core', 'Share with users, or by mail...');
|
var allowGroupSharing = this.configModel.get('allowGroupSharing');
|
||||||
|
var allowRemoteSharing = this.configModel.get('isRemoteShareAllowed');
|
||||||
|
var allowMailSharing = this.configModel.get('isMailShareAllowed');
|
||||||
|
|
||||||
if (this.configModel.get('allowGroupSharing')) {
|
if (!allowGroupSharing && !allowRemoteSharing && allowMailSharing) {
|
||||||
if (this.configModel.get('isRemoteShareAllowed')) {
|
return t('core', 'Share with users or by mail...');
|
||||||
sharePlaceholder = t('core', 'Share with users, groups, remote users, or by mail…');
|
}
|
||||||
} else {
|
if (!allowGroupSharing && allowRemoteSharing && !allowMailSharing) {
|
||||||
sharePlaceholder = t('core', 'Share with users, groups or by mail...');
|
return t('core', 'Share with users or remote users...');
|
||||||
}
|
}
|
||||||
} else if (this.configModel.get('isRemoteShareAllowed')) {
|
if (!allowGroupSharing && allowRemoteSharing && allowMailSharing) {
|
||||||
sharePlaceholder = t('core', 'Share with users, remote users or by mail...');
|
return t('core', 'Share with users, remote users or by mail...');
|
||||||
|
}
|
||||||
|
if (allowGroupSharing && !allowRemoteSharing && !allowMailSharing) {
|
||||||
|
return t('core', 'Share with users or groups...');
|
||||||
|
}
|
||||||
|
if (allowGroupSharing && !allowRemoteSharing && allowMailSharing) {
|
||||||
|
return t('core', 'Share with users, groups or by mail...');
|
||||||
|
}
|
||||||
|
if (allowGroupSharing && allowRemoteSharing && !allowMailSharing) {
|
||||||
|
return t('core', 'Share with users, groups or remote users...');
|
||||||
|
}
|
||||||
|
if (allowGroupSharing && allowRemoteSharing && allowMailSharing) {
|
||||||
|
return t('core', 'Share with users, groups, remote users or by mail...');
|
||||||
}
|
}
|
||||||
|
|
||||||
return sharePlaceholder;
|
return t('core', 'Share with users...');
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue