Differential D16179 Diff 38920 src/applications/calendar/controller/PhabricatorCalendarEventViewController.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/calendar/controller/PhabricatorCalendarEventViewController.php
Show All 17 Lines | $event = id(new PhabricatorCalendarEventQuery()) | ||||
->setViewer($viewer) | ->setViewer($viewer) | ||||
->withIDs(array($id)) | ->withIDs(array($id)) | ||||
->executeOne(); | ->executeOne(); | ||||
if (!$event) { | if (!$event) { | ||||
return new Aphront404Response(); | return new Aphront404Response(); | ||||
} | } | ||||
if ($sequence) { | if ($sequence) { | ||||
$result = $this->getEventAtIndexForGhostPHID( | $result = $this->getEventAtIndexForGhostEvent( | ||||
$viewer, | $viewer, | ||||
$event->getPHID(), | $event, | ||||
$sequence); | $sequence); | ||||
if ($result) { | if ($result) { | ||||
$parent_event = $event; | $parent_event = $event; | ||||
$event = $result; | $event = $result; | ||||
$event->attachParentEvent($parent_event); | $event->attachParentEvent($parent_event); | ||||
return id(new AphrontRedirectResponse()) | return id(new AphrontRedirectResponse()) | ||||
->setURI('/E'.$result->getID()); | ->setURI('/E'.$result->getID()); | ||||
▲ Show 20 Lines • Show All 74 Lines • ▼ Show 20 Lines | private function buildHeaderView( | ||||
PhabricatorCalendarEvent $event) { | PhabricatorCalendarEvent $event) { | ||||
$viewer = $this->getViewer(); | $viewer = $this->getViewer(); | ||||
$id = $event->getID(); | $id = $event->getID(); | ||||
$is_cancelled = $event->getIsCancelled(); | $is_cancelled = $event->getIsCancelled(); | ||||
$icon = $is_cancelled ? ('fa-ban') : ('fa-check'); | $icon = $is_cancelled ? ('fa-ban') : ('fa-check'); | ||||
$color = $is_cancelled ? ('red') : ('bluegrey'); | $color = $is_cancelled ? ('red') : ('bluegrey'); | ||||
$status = $is_cancelled ? pht('Cancelled') : pht('Active'); | $status = $is_cancelled ? pht('Cancelled') : pht('Active'); | ||||
$is_recurring = $event->getIsRecurring(); | |||||
$invite_status = $event->getUserInviteStatus($viewer->getPHID()); | $invite_status = $event->getUserInviteStatus($viewer->getPHID()); | ||||
$status_invited = PhabricatorCalendarEventInvitee::STATUS_INVITED; | $status_invited = PhabricatorCalendarEventInvitee::STATUS_INVITED; | ||||
$is_invite_pending = ($invite_status == $status_invited); | $is_invite_pending = ($invite_status == $status_invited); | ||||
$header = id(new PHUIHeaderView()) | $header = id(new PHUIHeaderView()) | ||||
->setUser($viewer) | ->setUser($viewer) | ||||
->setHeader($event->getName()) | ->setHeader($event->getName()) | ||||
->setStatus($icon, $color, $status) | ->setStatus($icon, $color, $status) | ||||
->setPolicyObject($event) | ->setPolicyObject($event) | ||||
->setHeaderIcon('fa-calendar'); | ->setHeaderIcon('fa-calendar'); | ||||
if ($is_recurring) { | |||||
$index = $event->getSequenceIndex(); | |||||
$prev_index = $index - 1; | |||||
$next_index = $index + 1; | |||||
$prev_uri = "/E{$id}/{$prev_index}"; | |||||
$next_uri = "/E{$id}/{$next_index}"; | |||||
$button_bar = new PHUIButtonBarView(); | |||||
$left_icon = id(new PHUIIconView()) | |||||
->setIcon('fa-chevron-left bluegrey'); | |||||
$left = id(new PHUIButtonView()) | |||||
->setTag('a') | |||||
->setColor(PHUIButtonView::GREY) | |||||
->setHref($prev_uri) | |||||
->setTitle(pht('Previous Recurrence')) | |||||
->setIcon($left_icon); | |||||
if ($prev_index < 1) { | |||||
$left->setDisabled(true) | |||||
->setHref(''); | |||||
} | |||||
$right_icon = id(new PHUIIconView()) | |||||
->setIcon('fa-chevron-right bluegrey'); | |||||
$right = id(new PHUIButtonView()) | |||||
->setTag('a') | |||||
->setColor(PHUIButtonView::GREY) | |||||
->setHref($next_uri) | |||||
->setTitle(pht('Next Recurrence')) | |||||
->setIcon($right_icon); | |||||
$button_bar->addButton($left); | |||||
$button_bar->addButton($right); | |||||
$header->setButtonBar($button_bar); | |||||
} | |||||
if ($is_invite_pending) { | if ($is_invite_pending) { | ||||
$decline_button = id(new PHUIButtonView()) | $decline_button = id(new PHUIButtonView()) | ||||
->setTag('a') | ->setTag('a') | ||||
->setIcon('fa-times grey') | ->setIcon('fa-times grey') | ||||
->setHref($this->getApplicationURI("/event/decline/{$id}/")) | ->setHref($this->getApplicationURI("/event/decline/{$id}/")) | ||||
->setWorkflow(true) | ->setWorkflow(true) | ||||
->setText(pht('Decline')); | ->setText(pht('Decline')); | ||||
▲ Show 20 Lines • Show All 250 Lines • Show Last 20 Lines |