Merge pull request #1457 from nextcloud/upstream-fix-birthday-calendar-component
[Upstream] fix birthday calendar component
This commit is contained in:
commit
4f4286932f
|
@ -23,6 +23,7 @@
|
||||||
<repair-steps>
|
<repair-steps>
|
||||||
<post-migration>
|
<post-migration>
|
||||||
<step>OCA\DAV\Migration\Classification</step>
|
<step>OCA\DAV\Migration\Classification</step>
|
||||||
|
<step>OCA\DAV\Migration\FixBirthdayCalendarComponent</step>
|
||||||
</post-migration>
|
</post-migration>
|
||||||
<live-migration>
|
<live-migration>
|
||||||
<step>OCA\DAV\Migration\GenerateBirthdays</step>
|
<step>OCA\DAV\Migration\GenerateBirthdays</step>
|
||||||
|
|
|
@ -116,6 +116,7 @@ class BirthdayService {
|
||||||
$this->calDavBackEnd->createCalendar($principal, self::BIRTHDAY_CALENDAR_URI, [
|
$this->calDavBackEnd->createCalendar($principal, self::BIRTHDAY_CALENDAR_URI, [
|
||||||
'{DAV:}displayname' => 'Contact birthdays',
|
'{DAV:}displayname' => 'Contact birthdays',
|
||||||
'{http://apple.com/ns/ical/}calendar-color' => '#FFFFCA',
|
'{http://apple.com/ns/ical/}calendar-color' => '#FFFFCA',
|
||||||
|
'components' => 'VEVENT',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
return $this->calDavBackEnd->getCalendarByUri($principal, self::BIRTHDAY_CALENDAR_URI);
|
return $this->calDavBackEnd->getCalendarByUri($principal, self::BIRTHDAY_CALENDAR_URI);
|
||||||
|
|
|
@ -0,0 +1,62 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @author Thomas Müller <thomas.mueller@tmit.eu>
|
||||||
|
*
|
||||||
|
* @copyright Copyright (c) 2016, ownCloud GmbH.
|
||||||
|
* @license AGPL-3.0
|
||||||
|
*
|
||||||
|
* This code is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero General Public License, version 3,
|
||||||
|
* as published by the Free Software Foundation.
|
||||||
|
*
|
||||||
|
* 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, version 3,
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace OCA\DAV\Migration;
|
||||||
|
|
||||||
|
use OCA\DAV\CalDAV\BirthdayService;
|
||||||
|
use OCP\IDBConnection;
|
||||||
|
use OCP\Migration\IOutput;
|
||||||
|
use OCP\Migration\IRepairStep;
|
||||||
|
|
||||||
|
class FixBirthdayCalendarComponent implements IRepairStep {
|
||||||
|
|
||||||
|
/** @var IDBConnection */
|
||||||
|
private $connection;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* FixBirthdayCalendarComponent constructor.
|
||||||
|
*
|
||||||
|
* @param IDBConnection $connection
|
||||||
|
*/
|
||||||
|
public function __construct(IDBConnection $connection) {
|
||||||
|
$this->connection = $connection;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @inheritdoc
|
||||||
|
*/
|
||||||
|
public function getName() {
|
||||||
|
return 'Fix component of birthday calendars';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @inheritdoc
|
||||||
|
*/
|
||||||
|
public function run(IOutput $output) {
|
||||||
|
$query = $this->connection->getQueryBuilder();
|
||||||
|
$updated = $query->update('calendars')
|
||||||
|
->set('components', $query->createNamedParameter('VEVENT'))
|
||||||
|
->where($query->expr()->eq('uri', $query->createNamedParameter(BirthdayService::BIRTHDAY_CALENDAR_URI)))
|
||||||
|
->execute();
|
||||||
|
|
||||||
|
$output->info("$updated birthday calendars updated.");
|
||||||
|
}
|
||||||
|
}
|
|
@ -182,6 +182,17 @@ class BirthdayServiceTest extends TestCase {
|
||||||
], $users);
|
], $users);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testBirthdayCalendarHasComponentEvent() {
|
||||||
|
$this->calDav->expects($this->once())
|
||||||
|
->method('createCalendar')
|
||||||
|
->with('principal001', 'contact_birthdays', [
|
||||||
|
'{DAV:}displayname' => 'Contact birthdays',
|
||||||
|
'{http://apple.com/ns/ical/}calendar-color' => '#FFFFCA',
|
||||||
|
'components' => 'VEVENT',
|
||||||
|
]);
|
||||||
|
$this->service->ensureCalendarExists('principal001');
|
||||||
|
}
|
||||||
|
|
||||||
public function providesBirthday() {
|
public function providesBirthday() {
|
||||||
return [
|
return [
|
||||||
[true,
|
[true,
|
||||||
|
|
Loading…
Reference in New Issue