add admin settings panel for dav app
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
This commit is contained in:
parent
61077df79a
commit
7828cf454e
|
@ -5,7 +5,7 @@
|
|||
<description>WebDAV endpoint</description>
|
||||
<licence>AGPL</licence>
|
||||
<author>owncloud.org</author>
|
||||
<version>1.4.4</version>
|
||||
<version>1.4.5</version>
|
||||
<default_enable/>
|
||||
<types>
|
||||
<filesystem/>
|
||||
|
@ -52,4 +52,8 @@
|
|||
<provider>OCA\DAV\CalDAV\Activity\Provider\Todo</provider>
|
||||
</providers>
|
||||
</activity>
|
||||
|
||||
<settings>
|
||||
<admin>OCA\DAV\Settings\CalDAVSettings</admin>
|
||||
</settings>
|
||||
</info>
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
/**
|
||||
* @copyright 2017, Georg Ehrke <oc.list@georgehrke.com>
|
||||
*
|
||||
* @author Georg Ehrke <oc.list@georgehrke.com>
|
||||
*
|
||||
* @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/>.
|
||||
*
|
||||
*/
|
||||
"use strict";
|
||||
|
||||
$('#caldavSendInvitations').change(function() {
|
||||
var val = $(this)[0].checked;
|
||||
|
||||
OCP.AppConfig.setValue('dav', 'sendInvitations', val ? 'yes' : 'no');
|
||||
});
|
|
@ -0,0 +1,68 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright 2017, Georg Ehrke <oc.list@georgehrke.com>
|
||||
*
|
||||
* @author Georg Ehrke <oc.list@georgehrke.com>
|
||||
*
|
||||
* @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\DAV\Settings;
|
||||
|
||||
use OCP\AppFramework\Http\TemplateResponse;
|
||||
use OCP\IConfig;
|
||||
use OCP\Settings\ISettings;
|
||||
|
||||
class CalDAVSettings implements ISettings {
|
||||
|
||||
/** @var IConfig */
|
||||
private $config;
|
||||
|
||||
/**
|
||||
* CalDAVSettings constructor.
|
||||
*
|
||||
* @param IConfig $config
|
||||
*/
|
||||
public function __construct(IConfig $config) {
|
||||
$this->config = $config;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return TemplateResponse
|
||||
*/
|
||||
public function getForm() {
|
||||
$parameters = [
|
||||
'send_invitations' => $this->config->getAppValue('dav', 'sendInvitations', 'yes'),
|
||||
];
|
||||
|
||||
return new TemplateResponse('dav', 'settings-admin-caldav', $parameters);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getSection() {
|
||||
return 'additional';
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function getPriority() {
|
||||
return 20;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright 2017, Georg Ehrke <oc.list@georgehrke.com>
|
||||
*
|
||||
* @author Georg Ehrke <oc.list@georgehrke.com>
|
||||
*
|
||||
* @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/>.
|
||||
*
|
||||
*/
|
||||
|
||||
script('dav', [
|
||||
'settings-admin-caldav'
|
||||
]);
|
||||
|
||||
/** @var \OCP\IL10N $l */
|
||||
/** @var array $_ */
|
||||
?>
|
||||
<form id="CalDAV" class="section">
|
||||
<h2><?php p($l->t('CalDAV server')); ?></h2>
|
||||
<p>
|
||||
<input type="checkbox" name="caldav_send_invitations" id="caldavSendInvitations" class="checkbox"
|
||||
<?php ($_['send_invitations'] === 'yes') ? print_unescaped('checked="checked"') : null ?>/>
|
||||
<label for="caldavSendInvitations"><?php p($l->t('Send invitations to attendees')); ?></label>
|
||||
<br>
|
||||
<em><?php p($l->t('Please make sure to properly setup the email settings above.')); ?></em>
|
||||
</p>
|
||||
</form>
|
|
@ -0,0 +1,58 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright 2017, Georg Ehrke <oc.list@georgehrke.com>
|
||||
*
|
||||
* @author Georg Ehrke <oc.list@georgehrke.com>
|
||||
*
|
||||
* @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\DAV\Tests\Unit\DAV\Settings;
|
||||
|
||||
use OCA\DAV\Settings\CalDAVSettings;
|
||||
use OCP\IConfig;
|
||||
use Test\TestCase;
|
||||
|
||||
class CalDAVSettingsTest extends TestCase {
|
||||
|
||||
/** @var IConfig|\PHPUnit_Framework_MockObject_MockObject */
|
||||
private $config;
|
||||
|
||||
/** @var CalDAVSettings */
|
||||
private $settings;
|
||||
|
||||
public function setUp() {
|
||||
parent::setUp();
|
||||
|
||||
$this->config = $this->createMock(IConfig::class);
|
||||
$this->settings = new CalDAVSettings($this->config);
|
||||
}
|
||||
|
||||
public function testGetForm() {
|
||||
$result = $this->settings->getForm();
|
||||
|
||||
$this->assertInstanceOf('OCP\AppFramework\Http\TemplateResponse', $result);
|
||||
}
|
||||
|
||||
public function testGetSection() {
|
||||
$this->assertEquals('additional', $this->settings->getSection());
|
||||
}
|
||||
|
||||
public function testGetPriority() {
|
||||
$this->assertEquals(20, $this->settings->getPriority());
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue