public function handleRequest(AphrontRequest $request) { $viewer = $request->getViewer(); $id = $request->getURIData('id'); $initiative = id(new FundInitiativeQuery())->setViewer($viewer)->withIDs(array($id))->executeOne(); if (!$initiative) { return new Aphront404Response(); } $crumbs = $this->buildApplicationCrumbs(); $crumbs->addTextCrumb($initiative->getMonogram()); $crumbs->setBorder(true); $title = pht('%s %s', $initiative->getMonogram(), $initiative->getName()); if ($initiative->isClosed()) { $status_icon = 'fa-times'; $status_color = 'bluegrey'; } else { $status_icon = 'fa-check'; $status_color = 'bluegrey'; } $status_name = idx(FundInitiative::getStatusNameMap(), $initiative->getStatus()); $header = id(new PHUIHeaderView())->setHeader($initiative->getName())->setUser($viewer)->setPolicyObject($initiative)->setStatus($status_icon, $status_color, $status_name)->setHeaderIcon('fa-heart'); $properties = $this->buildPropertyListView($initiative); $actions = $this->buildActionListView($initiative); $details = $this->buildPropertySectionView($initiative); $timeline = $this->buildTransactionTimeline($initiative, new FundInitiativeTransactionQuery()); $timeline->setShouldTerminate(true); $view = id(new PHUITwoColumnView())->setHeader($header)->setMainColumn($timeline)->setPropertyList($properties)->addPropertySection(pht('DETAILS'), $details)->setActionList($actions); return $this->newPage()->setTitle($title)->setCrumbs($crumbs)->setPageObjectPHIDs(array($initiative->getPHID()))->appendChild(array($view)); }
public function handleRequest(AphrontRequest $request) { $viewer = $request->getViewer(); $id = $request->getURIData('id'); $initiative = id(new FundInitiativeQuery())->setViewer($viewer)->withIDs(array($id))->executeOne(); if (!$initiative) { return new Aphront404Response(); } $crumbs = $this->buildApplicationCrumbs(); $crumbs->addTextCrumb($initiative->getMonogram()); $title = pht('%s %s', $initiative->getMonogram(), $initiative->getName()); if ($initiative->isClosed()) { $status_icon = 'fa-times'; $status_color = 'bluegrey'; } else { $status_icon = 'fa-check'; $status_color = 'bluegrey'; } $status_name = idx(FundInitiative::getStatusNameMap(), $initiative->getStatus()); $header = id(new PHUIHeaderView())->setHeader($initiative->getName())->setUser($viewer)->setPolicyObject($initiative)->setStatus($status_icon, $status_color, $status_name); $properties = $this->buildPropertyListView($initiative); $actions = $this->buildActionListView($initiative); $properties->setActionList($actions); $box = id(new PHUIObjectBoxView())->setHeader($header)->addPropertyList($properties); $timeline = $this->buildTransactionTimeline($initiative, new FundInitiativeTransactionQuery()); $timeline->setShouldTerminate(true); return $this->buildApplicationPage(array($crumbs, $box, $timeline), array('title' => $title, 'pageObjects' => array($initiative->getPHID()))); }
public function processRequest() { $request = $this->getRequest(); $viewer = $request->getUser(); $initiative = id(new FundInitiativeQuery())->setViewer($viewer)->withIDs(array($this->id))->executeOne(); if (!$initiative) { return new Aphront404Response(); } $crumbs = $this->buildApplicationCrumbs(); $crumbs->addTextCrumb($initiative->getMonogram()); $title = pht('%s %s', $initiative->getMonogram(), $initiative->getName()); if ($initiative->isClosed()) { $status_icon = 'fa-times'; $status_color = 'bluegrey'; } else { $status_icon = 'fa-check'; $status_color = 'bluegrey'; } $status_name = idx(FundInitiative::getStatusNameMap(), $initiative->getStatus()); $header = id(new PHUIHeaderView())->setObjectName($initiative->getMonogram())->setHeader($initiative->getName())->setUser($viewer)->setPolicyObject($initiative)->setStatus($status_icon, $status_color, $status_name); $properties = $this->buildPropertyListView($initiative); $actions = $this->buildActionListView($initiative); $properties->setActionList($actions); $box = id(new PHUIObjectBoxView())->setHeader($header)->appendChild($properties); $xactions = id(new FundInitiativeTransactionQuery())->setViewer($viewer)->withObjectPHIDs(array($initiative->getPHID()))->execute(); $timeline = id(new PhabricatorApplicationTransactionView())->setUser($viewer)->setObjectPHID($initiative->getPHID())->setTransactions($xactions); return $this->buildApplicationPage(array($crumbs, $box, $timeline), array('title' => $title)); }
public function buildSearchForm(AphrontFormView $form, PhabricatorSavedQuery $saved) { $statuses = $saved->getParameter('statuses', array()); $statuses = array_fuse($statuses); $owner_phids = $saved->getParameter('ownerPHIDs', array()); $status_map = FundInitiative::getStatusNameMap(); $status_control = id(new AphrontFormCheckboxControl())->setLabel(pht('Statuses')); foreach ($status_map as $status => $name) { $status_control->addCheckbox('statuses[]', $status, $name, isset($statuses[$status])); } $form->appendControl(id(new AphrontFormTokenizerControl())->setLabel(pht('Owners'))->setName('owners')->setDatasource(new PhabricatorPeopleDatasource())->setValue($owner_phids))->appendChild($status_control); }