Merge pull request #7707 from nextcloud/bugfix/noid/birthdaycalendar-different-uids

generate different UIDs for Birthday, Anniversary and Death event
This commit is contained in:
Morris Jobke 2018-01-26 15:46:46 +01:00 committed by GitHub
commit c67736a542
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 4 deletions

View File

@ -148,10 +148,11 @@ class BirthdayService {
/** /**
* @param string $cardData * @param string $cardData
* @param string $dateField * @param string $dateField
* @param string $postfix
* @param string $summarySymbol * @param string $summarySymbol
* @return null|VCalendar * @return null|VCalendar
*/ */
public function buildDateFromContact($cardData, $dateField, $summarySymbol) { public function buildDateFromContact($cardData, $dateField, $postfix, $summarySymbol) {
if (empty($cardData)) { if (empty($cardData)) {
return null; return null;
} }
@ -221,7 +222,7 @@ class BirthdayService {
$date $date
); );
$vEvent->DTEND['VALUE'] = 'DATE'; $vEvent->DTEND['VALUE'] = 'DATE';
$vEvent->{'UID'} = $doc->UID; $vEvent->{'UID'} = $doc->UID . $postfix;
$vEvent->{'RRULE'} = 'FREQ=YEARLY'; $vEvent->{'RRULE'} = 'FREQ=YEARLY';
$vEvent->{'SUMMARY'} = $summary; $vEvent->{'SUMMARY'} = $summary;
$vEvent->{'TRANSP'} = 'TRANSPARENT'; $vEvent->{'TRANSP'} = 'TRANSPARENT';
@ -297,7 +298,7 @@ class BirthdayService {
*/ */
private function updateCalendar($cardUri, $cardData, $book, $calendarId, $type) { private function updateCalendar($cardUri, $cardData, $book, $calendarId, $type) {
$objectUri = $book['uri'] . '-' . $cardUri . $type['postfix'] . '.ics'; $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); $existing = $this->calDavBackEnd->getCalendarObject($calendarId, $objectUri);
if (is_null($calendarData)) { if (is_null($calendarData)) {
if (!is_null($existing)) { if (!is_null($existing)) {

View File

@ -64,7 +64,7 @@ class BirthdayServiceTest extends TestCase {
* @param string | null $data * @param string | null $data
*/ */
public function testBuildBirthdayFromContact($expectedSummary, $data) { public function testBuildBirthdayFromContact($expectedSummary, $data) {
$cal = $this->service->buildDateFromContact($data, 'BDAY', '*'); $cal = $this->service->buildDateFromContact($data, 'BDAY', '', '*');
if ($expectedSummary === null) { if ($expectedSummary === null) {
$this->assertNull($cal); $this->assertNull($cal);
} else { } else {