[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 <?php 2 3 final class HarbormasterBuildPlanSearchEngine 4 extends PhabricatorApplicationSearchEngine { 5 6 public function getResultTypeDescription() { 7 return pht('Harbormaster Build Plans'); 8 } 9 10 public function getApplicationClassName() { 11 return 'PhabricatorHarbormasterApplication'; 12 } 13 14 public function buildSavedQueryFromRequest(AphrontRequest $request) { 15 $saved = new PhabricatorSavedQuery(); 16 17 $saved->setParameter( 18 'status', 19 $this->readListFromRequest($request, 'status')); 20 21 return $saved; 22 } 23 24 public function buildQueryFromSavedQuery(PhabricatorSavedQuery $saved) { 25 $query = id(new HarbormasterBuildPlanQuery()); 26 27 $status = $saved->getParameter('status', array()); 28 if ($status) { 29 $query->withStatuses($status); 30 } 31 32 return $query; 33 } 34 35 public function buildSearchForm( 36 AphrontFormView $form, 37 PhabricatorSavedQuery $saved_query) { 38 39 $status = $saved_query->getParameter('status', array()); 40 41 $form 42 ->appendChild( 43 id(new AphrontFormCheckboxControl()) 44 ->setLabel('Status') 45 ->addCheckbox( 46 'status[]', 47 HarbormasterBuildPlan::STATUS_ACTIVE, 48 pht('Active'), 49 in_array(HarbormasterBuildPlan::STATUS_ACTIVE, $status)) 50 ->addCheckbox( 51 'status[]', 52 HarbormasterBuildPlan::STATUS_DISABLED, 53 pht('Disabled'), 54 in_array(HarbormasterBuildPlan::STATUS_DISABLED, $status))); 55 } 56 57 protected function getURI($path) { 58 return '/harbormaster/plan/'.$path; 59 } 60 61 public function getBuiltinQueryNames() { 62 return array( 63 'active' => pht('Active Plans'), 64 'all' => pht('All Plans'), 65 ); 66 } 67 68 public function buildSavedQueryFromBuiltin($query_key) { 69 $query = $this->newSavedQuery(); 70 $query->setQueryKey($query_key); 71 72 switch ($query_key) { 73 case 'active': 74 return $query->setParameter( 75 'status', 76 array( 77 HarbormasterBuildPlan::STATUS_ACTIVE, 78 )); 79 case 'all': 80 return $query; 81 } 82 83 return parent::buildSavedQueryFromBuiltin($query_key); 84 } 85 86 protected function renderResultList( 87 array $plans, 88 PhabricatorSavedQuery $query, 89 array $handles) { 90 assert_instances_of($plans, 'HarbormasterBuildPlan'); 91 92 $viewer = $this->requireViewer(); 93 94 $list = new PHUIObjectItemListView(); 95 foreach ($plans as $plan) { 96 $id = $plan->getID(); 97 98 $item = id(new PHUIObjectItemView()) 99 ->setObjectName(pht('Plan %d', $plan->getID())) 100 ->setHeader($plan->getName()); 101 102 if ($plan->isDisabled()) { 103 $item->setDisabled(true); 104 } 105 106 $item->setHref($this->getApplicationURI("plan/{$id}/")); 107 108 $list->addItem($item); 109 } 110 111 return $list; 112 } 113 114 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Sun Nov 30 09:20:46 2014 | Cross-referenced by PHPXref 0.7.1 |