Changeset View
Changeset View
Standalone View
Standalone View
src/applications/phrequent/query/PhrequentSearchEngine.php
Show All 19 Lines | public function buildSavedQueryFromRequest(AphrontRequest $request) { | ||||
$saved->setParameter( | $saved->setParameter( | ||||
'userPHIDs', | 'userPHIDs', | ||||
$this->readUsersFromRequest($request, 'users')); | $this->readUsersFromRequest($request, 'users')); | ||||
$saved->setParameter('ended', $request->getStr('ended')); | $saved->setParameter('ended', $request->getStr('ended')); | ||||
$saved->setParameter('order', $request->getStr('order')); | $saved->setParameter('order', $request->getStr('order')); | ||||
$saved->setParameter( | |||||
'after', | |||||
id(new AphrontFormDateControl()) | |||||
->setName('after') | |||||
->setAllowNull(true) | |||||
->setUser($request->getUser()) | |||||
->readValueFromRequest($request)); | |||||
$saved->setParameter( | |||||
'before', | |||||
id(new AphrontFormDateControl()) | |||||
->setName('before') | |||||
->setAllowNull(true) | |||||
->setUser($request->getUser()) | |||||
->readValueFromRequest($request)); | |||||
return $saved; | return $saved; | ||||
} | } | ||||
public function buildQueryFromSavedQuery(PhabricatorSavedQuery $saved) { | public function buildQueryFromSavedQuery(PhabricatorSavedQuery $saved) { | ||||
$query = id(new PhrequentUserTimeQuery()) | $query = id(new PhrequentUserTimeQuery()) | ||||
->needPreemptingEvents(true); | ->needPreemptingEvents(true); | ||||
$user_phids = $saved->getParameter('userPHIDs'); | $user_phids = $saved->getParameter('userPHIDs'); | ||||
if ($user_phids) { | if ($user_phids) { | ||||
$query->withUserPHIDs($user_phids); | $query->withUserPHIDs($user_phids); | ||||
} | } | ||||
$ended = $saved->getParameter('ended'); | $ended = $saved->getParameter('ended'); | ||||
if ($ended != null) { | if ($ended != null) { | ||||
$query->withEnded($ended); | $query->withEnded($ended); | ||||
} | } | ||||
$order = $saved->getParameter('order'); | $order = $saved->getParameter('order'); | ||||
if ($order != null) { | if ($order != null) { | ||||
$query->setOrder($order); | $query->setOrder($order); | ||||
} | } | ||||
$after = $saved->getParameter('after'); | |||||
if ($after != null) { | |||||
$query->afterDate($after); | |||||
} | |||||
$before = $saved->getParameter('before'); | |||||
if ($before != null) { | |||||
$query->beforeDate($before); | |||||
} | |||||
return $query; | return $query; | ||||
} | } | ||||
public function buildSearchForm( | public function buildSearchForm( | ||||
AphrontFormView $form, | AphrontFormView $form, | ||||
PhabricatorSavedQuery $saved_query) { | PhabricatorSavedQuery $saved_query) { | ||||
$user = $this->requireViewer(); | |||||
$user_phids = $saved_query->getParameter('userPHIDs', array()); | $user_phids = $saved_query->getParameter('userPHIDs', array()); | ||||
$ended = $saved_query->getParameter( | $ended = $saved_query->getParameter( | ||||
'ended', PhrequentUserTimeQuery::ENDED_ALL); | 'ended', PhrequentUserTimeQuery::ENDED_ALL); | ||||
$order = $saved_query->getParameter( | $order = $saved_query->getParameter( | ||||
'order', PhrequentUserTimeQuery::ORDER_ENDED_DESC); | 'order', PhrequentUserTimeQuery::ORDER_ENDED_DESC); | ||||
$after = $saved_query->getParameter('after', null); | |||||
$before = $saved_query->getParameter('before', null); | |||||
$phids = array_merge($user_phids); | $phids = array_merge($user_phids); | ||||
$handles = id(new PhabricatorHandleQuery()) | $handles = id(new PhabricatorHandleQuery()) | ||||
->setViewer($this->requireViewer()) | ->setViewer($this->requireViewer()) | ||||
->withPHIDs($phids) | ->withPHIDs($phids) | ||||
->execute(); | ->execute(); | ||||
$form | $form | ||||
Show All 9 Lines | $form | ||||
->setName('ended') | ->setName('ended') | ||||
->setValue($ended) | ->setValue($ended) | ||||
->setOptions(PhrequentUserTimeQuery::getEndedSearchOptions())) | ->setOptions(PhrequentUserTimeQuery::getEndedSearchOptions())) | ||||
->appendChild( | ->appendChild( | ||||
id(new AphrontFormSelectControl()) | id(new AphrontFormSelectControl()) | ||||
->setLabel(pht('Order')) | ->setLabel(pht('Order')) | ||||
->setName('order') | ->setName('order') | ||||
->setValue($order) | ->setValue($order) | ||||
->setOptions(PhrequentUserTimeQuery::getOrderSearchOptions())); | ->setOptions(PhrequentUserTimeQuery::getOrderSearchOptions())) | ||||
->appendChild( | |||||
id(new AphrontFormDateControl()) | |||||
->setLabel(pht('After')) | |||||
->setName('after') | |||||
->setUser($user) | |||||
->setValue($after) | |||||
->setAllowNull(true) | |||||
->setInitialTime(AphrontFormDateControl::TIME_START_OF_DAY)) | |||||
->appendChild( | |||||
id(new AphrontFormDateControl()) | |||||
->setLabel(pht('Before')) | |||||
->setName('before') | |||||
->setUser($user) | |||||
->setValue($before) | |||||
->setAllowNull(true) | |||||
->setInitialTime(AphrontFormDateControl::TIME_END_OF_DAY)); | |||||
} | } | ||||
protected function getURI($path) { | protected function getURI($path) { | ||||
return '/phrequent/'.$path; | return '/phrequent/'.$path; | ||||
} | } | ||||
public function getBuiltinQueryNames() { | public function getBuiltinQueryNames() { | ||||
return array( | return array( | ||||
▲ Show 20 Lines • Show All 106 Lines • Show Last 20 Lines |