summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2018-03-06 13:38:10 +0100
committerGitHub <noreply@github.com>2018-03-06 13:38:10 +0100
commit6acc307aa3bd4ee6dbb3151103fa125268359f5f (patch)
tree9660ed93d32ab787ebc168b4bb1cbcae259fb146
parent95f067a6133eed15379f77519cdcdcc23c640d90 (diff)
parent8b28e91dcbf2d37c8b00673b95bc5e0a6d921806 (diff)
downloadnextcloud-server-6acc307aa3bd4ee6dbb3151103fa125268359f5f.tar.gz
nextcloud-server-6acc307aa3bd4ee6dbb3151103fa125268359f5f.zip
Merge pull request #8679 from nextcloud/7707_12
[stable12] generate different UIDs for Birthday, Anniversary and Death event
-rw-r--r--apps/dav/lib/CalDAV/BirthdayService.php7
-rw-r--r--apps/dav/tests/unit/CardDAV/BirthdayServiceTest.php2
2 files changed, 5 insertions, 4 deletions
diff --git a/apps/dav/lib/CalDAV/BirthdayService.php b/apps/dav/lib/CalDAV/BirthdayService.php
index 702b74bf1b3..55efa58163b 100644
--- a/apps/dav/lib/CalDAV/BirthdayService.php
+++ b/apps/dav/lib/CalDAV/BirthdayService.php
@@ -125,10 +125,11 @@ class BirthdayService {
/**
* @param string $cardData
* @param string $dateField
+ * @param string $postfix
* @param string $summarySymbol
* @return null|VCalendar
*/
- public function buildDateFromContact($cardData, $dateField, $summarySymbol) {
+ public function buildDateFromContact($cardData, $dateField, $postfix, $summarySymbol) {
if (empty($cardData)) {
return null;
}
@@ -198,7 +199,7 @@ class BirthdayService {
$date
);
$vEvent->DTEND['VALUE'] = 'DATE';
- $vEvent->{'UID'} = $doc->UID;
+ $vEvent->{'UID'} = $doc->UID . $postfix;
$vEvent->{'RRULE'} = 'FREQ=YEARLY';
$vEvent->{'SUMMARY'} = $summary;
$vEvent->{'TRANSP'} = 'TRANSPARENT';
@@ -274,7 +275,7 @@ class BirthdayService {
*/
private function updateCalendar($cardUri, $cardData, $book, $calendarId, $type) {
$objectUri = $book['uri'] . '-' . $cardUri . $type['postfix'] . '.ics';
- $calendarData = $this->buildDateFromContact($cardData, $type['field'], $type['symbol']);
+ $calendarData = $this->buildDateFromContact($cardData, $type['field'], $type['postfix'], $type['symbol']);
$existing = $this->calDavBackEnd->getCalendarObject($calendarId, $objectUri);
if (is_null($calendarData)) {
if (!is_null($existing)) {
diff --git a/apps/dav/tests/unit/CardDAV/BirthdayServiceTest.php b/apps/dav/tests/unit/CardDAV/BirthdayServiceTest.php
index 72b3c57bea6..3d85a1a094f 100644
--- a/apps/dav/tests/unit/CardDAV/BirthdayServiceTest.php
+++ b/apps/dav/tests/unit/CardDAV/BirthdayServiceTest.php
@@ -59,7 +59,7 @@ class BirthdayServiceTest extends TestCase {
* @param string | null $data
*/
public function testBuildBirthdayFromContact($expectedSummary, $data) {
- $cal = $this->service->buildDateFromContact($data, 'BDAY', '*');
+ $cal = $this->service->buildDateFromContact($data, 'BDAY', '', '*');
if ($expectedSummary === null) {
$this->assertNull($cal);
} else {