Browse Source
always show correct place holder, mention share by mail only if the share provider is enabled
always show correct place holder, mention share by mail only if the share provider is enabled
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>pull/657/head
No known key found for this signature in database
GPG Key ID: 2378A753E2BF04F6
5 changed files with 151 additions and 10 deletions
-
24apps/sharebymail/appinfo/app.php
-
38apps/sharebymail/lib/Settings.php
-
64apps/sharebymail/tests/SettingsTest.php
-
1core/js/shareconfigmodel.js
-
34core/js/sharedialogview.js
@ -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); |
|||
} |
|||
|
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue