From c3de8f8305a996aeb5aee618e648b386f67744ce Mon Sep 17 00:00:00 2001 From: epriestley Date: Wed, 19 Oct 2016 09:18:16 -0700 Subject: [PATCH] When generating Calendar event stubs, inherit import properties Summary: Ref T10747. Previously, importing a recurring event failed to mark the instnaces of the event as imported. Now, we copy the source/UID/importer over. Test Plan: Imported a recurring event, viewed event series, saw all of them marked imported. Reviewers: chad Reviewed By: chad Maniphest Tasks: T10747 Differential Revision: https://secure.phabricator.com/D16728 --- .../storage/PhabricatorCalendarEvent.php | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/applications/calendar/storage/PhabricatorCalendarEvent.php b/src/applications/calendar/storage/PhabricatorCalendarEvent.php index 6baa54e008..64bdf07d46 100644 --- a/src/applications/calendar/storage/PhabricatorCalendarEvent.php +++ b/src/applications/calendar/storage/PhabricatorCalendarEvent.php @@ -179,11 +179,10 @@ final class PhabricatorCalendarEvent extends PhabricatorCalendarDAO ->setName($parent->getName()) ->setDescription($parent->getDescription()); - $sequence = $this->getSequenceIndex(); - if ($start) { $start_datetime = $start; } else { + $sequence = $this->getSequenceIndex(); $start_datetime = $parent->newSequenceIndexDateTime($sequence); if (!$start_datetime) { @@ -201,6 +200,19 @@ final class PhabricatorCalendarEvent extends PhabricatorCalendarDAO ->setStartDateTime($start_datetime) ->setEndDateTime($end_datetime); + if ($parent->isImportedEvent()) { + $full_uid = $parent->getImportUID().'/'.$start_datetime->getEpoch(); + + // NOTE: We don't attach the import source because this gets called + // from CalendarEventQuery while building ghosts, before we've loaded + // and attached sources. Possibly this sequence should be flipped. + + $this + ->setImportAuthorPHID($parent->getImportAuthorPHID()) + ->setImportSourcePHID($parent->getImportSourcePHID()) + ->setImportUID($full_uid); + } + return $this; }