private function buildHeaderView(PhabricatorCalendarEvent $event) { $viewer = $this->getRequest()->getUser(); $id = $event->getID(); $is_cancelled = $event->getIsCancelled(); $icon = $is_cancelled ? 'fa-times' : 'fa-calendar'; $color = $is_cancelled ? 'grey' : 'green'; $status = $is_cancelled ? pht('Cancelled') : pht('Active'); $invite_status = $event->getUserInviteStatus($viewer->getPHID()); $status_invited = PhabricatorCalendarEventInvitee::STATUS_INVITED; $is_invite_pending = $invite_status == $status_invited; $header = id(new PHUIHeaderView())->setUser($viewer)->setHeader($event->getName())->setStatus($icon, $color, $status)->setPolicyObject($event); if ($is_invite_pending) { $decline_button = id(new PHUIButtonView())->setTag('a')->setIcon('fa-times grey')->setHref($this->getApplicationURI("/event/decline/{$id}/"))->setWorkflow(true)->setText(pht('Decline')); $accept_button = id(new PHUIButtonView())->setTag('a')->setIcon('fa-check green')->setHref($this->getApplicationURI("/event/accept/{$id}/"))->setWorkflow(true)->setText(pht('Accept')); $header->addActionLink($decline_button)->addActionLink($accept_button); } return $header; }
private function buildRSVPActions(PhabricatorCalendarEvent $event) { $viewer = $this->getViewer(); $id = $event->getID(); $invite_status = $event->getUserInviteStatus($viewer->getPHID()); $status_invited = PhabricatorCalendarEventInvitee::STATUS_INVITED; $is_invite_pending = $invite_status == $status_invited; if (!$is_invite_pending) { return array(); } $decline_button = id(new PHUIButtonView())->setTag('a')->setIcon('fa-times grey')->setHref($this->getApplicationURI("/event/decline/{$id}/"))->setWorkflow(true)->setText(pht('Decline')); $accept_button = id(new PHUIButtonView())->setTag('a')->setIcon('fa-check green')->setHref($this->getApplicationURI("/event/accept/{$id}/"))->setWorkflow(true)->setText(pht('Accept')); return array($decline_button, $accept_button); }