[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 <?php 2 3 final class DrydockLeaseSearchEngine 4 extends PhabricatorApplicationSearchEngine { 5 6 public function getResultTypeDescription() { 7 return pht('Drydock Leases'); 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 DrydockLeaseQuery()); 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 (DrydockLeaseStatus::getAllStatuses() as $status) { 44 $status_control->addCheckbox( 45 'statuses[]', 46 $status, 47 DrydockLeaseStatus::getNameForStatus($status), 48 in_array($status, $statuses)); 49 } 50 51 $form 52 ->appendChild($status_control); 53 54 } 55 56 protected function getURI($path) { 57 return '/drydock/lease/'.$path; 58 } 59 60 public function getBuiltinQueryNames() { 61 return array( 62 'active' => pht('Active Leases'), 63 'all' => pht('All Leases'), 64 ); 65 } 66 67 public function buildSavedQueryFromBuiltin($query_key) { 68 $query = $this->newSavedQuery(); 69 $query->setQueryKey($query_key); 70 71 switch ($query_key) { 72 case 'active': 73 return $query->setParameter( 74 'statuses', 75 array( 76 DrydockLeaseStatus::STATUS_PENDING, 77 DrydockLeaseStatus::STATUS_ACQUIRING, 78 DrydockLeaseStatus::STATUS_ACTIVE, 79 )); 80 case 'all': 81 return $query; 82 } 83 84 return parent::buildSavedQueryFromBuiltin($query_key); 85 } 86 87 protected function renderResultList( 88 array $leases, 89 PhabricatorSavedQuery $saved, 90 array $handles) { 91 92 return id(new DrydockLeaseListView()) 93 ->setUser($this->requireViewer()) 94 ->setLeases($leases) 95 ->render(); 96 } 97 98 }
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 |