[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 <?php 2 3 final class DrydockResourceSearchEngine 4 extends PhabricatorApplicationSearchEngine { 5 6 public function getResultTypeDescription() { 7 return pht('Drydock Resources'); 8 } 9 10 public function getApplicationClassName() { 11 return 'PhabricatorDrydockApplication'; 12 } 13 14 public function buildSavedQueryFromRequest(AphrontRequest $request) { 15 $saved = new PhabricatorSavedQuery(); 16 17 $saved->setParameter( 18 'statuses', 19 $this->readListFromRequest($request, 'statuses')); 20 21 return $saved; 22 } 23 24 public function buildQueryFromSavedQuery(PhabricatorSavedQuery $saved) { 25 $query = id(new DrydockResourceQuery()); 26 27 $statuses = $saved->getParameter('statuses', array()); 28 if ($statuses) { 29 $query->withStatuses($statuses); 30 } 31 32 return $query; 33 } 34 35 public function buildSearchForm( 36 AphrontFormView $form, 37 PhabricatorSavedQuery $saved) { 38 39 $statuses = $saved->getParameter('statuses', array()); 40 41 $status_control = id(new AphrontFormCheckboxControl()) 42 ->setLabel(pht('Status')); 43 foreach (DrydockResourceStatus::getAllStatuses() as $status) { 44 $status_control->addCheckbox( 45 'statuses[]', 46 $status, 47 DrydockResourceStatus::getNameForStatus($status), 48 in_array($status, $statuses)); 49 } 50 51 $form 52 ->appendChild($status_control); 53 } 54 55 protected function getURI($path) { 56 return '/drydock/resource/'.$path; 57 } 58 59 public function getBuiltinQueryNames() { 60 return array( 61 'active' => pht('Active Resources'), 62 'all' => pht('All Resources'), 63 ); 64 } 65 66 public function buildSavedQueryFromBuiltin($query_key) { 67 $query = $this->newSavedQuery(); 68 $query->setQueryKey($query_key); 69 70 switch ($query_key) { 71 case 'active': 72 return $query->setParameter( 73 'statuses', 74 array( 75 DrydockResourceStatus::STATUS_PENDING, 76 DrydockResourceStatus::STATUS_OPEN, 77 )); 78 case 'all': 79 return $query; 80 } 81 82 return parent::buildSavedQueryFromBuiltin($query_key); 83 } 84 85 protected function renderResultList( 86 array $resources, 87 PhabricatorSavedQuery $query, 88 array $handles) { 89 90 return id(new DrydockResourceListView()) 91 ->setUser($this->requireViewer()) 92 ->setResources($resources) 93 ->render(); 94 } 95 96 }
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 |