Differential D16274 Diff 39166 src/applications/people/controller/PhabricatorPeopleProfileViewController.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/people/controller/PhabricatorPeopleProfileViewController.php
Show First 20 Lines • Show All 183 Lines • ▼ Show 20 Lines | private function buildCalendarDayView(PhabricatorUser $user) { | ||||
$midnight = PhabricatorTime::getTodayMidnightDateTime($viewer); | $midnight = PhabricatorTime::getTodayMidnightDateTime($viewer); | ||||
$week_end = clone $midnight; | $week_end = clone $midnight; | ||||
$week_end = $week_end->modify('+3 days'); | $week_end = $week_end->modify('+3 days'); | ||||
$range_start = $midnight->format('U'); | $range_start = $midnight->format('U'); | ||||
$range_end = $week_end->format('U'); | $range_end = $week_end->format('U'); | ||||
$query = id(new PhabricatorCalendarEventQuery()) | $events = id(new PhabricatorCalendarEventQuery()) | ||||
->setViewer($viewer) | ->setViewer($viewer) | ||||
->withDateRange($range_start, $range_end) | ->withDateRange($range_start, $range_end) | ||||
->withInvitedPHIDs(array($user->getPHID())) | ->withInvitedPHIDs(array($user->getPHID())) | ||||
->withIsCancelled(false); | ->withIsCancelled(false) | ||||
->execute(); | |||||
$statuses = $query->execute(); | |||||
$phids = mpull($statuses, 'getUserPHID'); | |||||
$events = array(); | |||||
foreach ($statuses as $status) { | $event_views = array(); | ||||
$viewer_is_invited = $status->getIsUserInvited($user->getPHID()); | foreach ($events as $event) { | ||||
$viewer_is_invited = $event->getIsUserInvited($viewer->getPHID()); | |||||
$can_edit = PhabricatorPolicyFilter::hasCapability( | $can_edit = PhabricatorPolicyFilter::hasCapability( | ||||
$viewer, | $viewer, | ||||
$status, | $event, | ||||
PhabricatorPolicyCapability::CAN_EDIT); | PhabricatorPolicyCapability::CAN_EDIT); | ||||
$event = id(new AphrontCalendarEventView()) | $epoch_min = $event->getViewerDateFrom(); | ||||
$epoch_max = $event->getViewerDateTo(); | |||||
$event_view = id(new AphrontCalendarEventView()) | |||||
->setCanEdit($can_edit) | ->setCanEdit($can_edit) | ||||
->setEventID($status->getID()) | ->setEventID($event->getID()) | ||||
->setEpochRange($status->getDateFrom(), $status->getDateTo()) | ->setEpochRange($epoch_min, $epoch_max) | ||||
->setIsAllDay($status->getIsAllDay()) | ->setIsAllDay($event->getIsAllDay()) | ||||
->setIcon($status->getIcon()) | ->setIcon($event->getIcon()) | ||||
->setViewerIsInvited($viewer_is_invited) | ->setViewerIsInvited($viewer_is_invited) | ||||
->setName($status->getName()) | ->setName($event->getName()) | ||||
->setURI($status->getURI()); | ->setURI($event->getURI()); | ||||
$events[] = $event; | |||||
$event_views[] = $event_view; | |||||
} | } | ||||
$events = msort($events, 'getEpochStart'); | $event_views = msort($event_views, 'getEpochStart'); | ||||
$day_view = id(new PHUICalendarWeekView()) | $day_view = id(new PHUICalendarWeekView()) | ||||
->setViewer($viewer) | ->setViewer($viewer) | ||||
->setView('week') | ->setView('week') | ||||
->setEvents($events) | ->setEvents($event_views) | ||||
->setWeekLength(3) | ->setWeekLength(3) | ||||
->render(); | ->render(); | ||||
$header = id(new PHUIHeaderView()) | $header = id(new PHUIHeaderView()) | ||||
->setHeader(pht('Calendar')) | ->setHeader(pht('Calendar')) | ||||
->setHref( | ->setHref( | ||||
urisprintf( | urisprintf( | ||||
'/calendar/?invitedPHIDs=%s#R', | '/calendar/?invitedPHIDs=%s#R', | ||||
▲ Show 20 Lines • Show All 136 Lines • Show Last 20 Lines |