@@ -9,6 +9,7 @@ public function buildSavedQueryFromRequest(AphrontRequest $request) {
99 $ saved ->setParameter ('callsigns ' , $ request ->getStrList ('callsigns ' ));
1010 $ saved ->setParameter ('status ' , $ request ->getStr ('status ' ));
1111 $ saved ->setParameter ('order ' , $ request ->getStr ('order ' ));
12+ $ saved ->setParameter ('hosted ' , $ request ->getStr ('hosted ' ));
1213 $ saved ->setParameter ('types ' , $ request ->getArr ('types ' ));
1314 $ saved ->setParameter ('name ' , $ request ->getStr ('name ' ));
1415
@@ -40,6 +41,12 @@ public function buildQueryFromSavedQuery(PhabricatorSavedQuery $saved) {
4041 $ query ->setOrder (head ($ this ->getOrderValues ()));
4142 }
4243
44+ $ hosted = $ saved ->getParameter ('hosted ' );
45+ $ hosted = idx ($ this ->getHostedValues (), $ hosted );
46+ if ($ hosted ) {
47+ $ query ->withHosted ($ hosted );
48+ }
49+
4350 $ types = $ saved ->getParameter ('types ' );
4451 if ($ types ) {
4552 $ query ->withTypes ($ types );
@@ -78,7 +85,13 @@ public function buildSearchForm(
7885 ->setName ('status ' )
7986 ->setLabel (pht ('Status ' ))
8087 ->setValue ($ saved_query ->getParameter ('status ' ))
81- ->setOptions ($ this ->getStatusOptions ()));
88+ ->setOptions ($ this ->getStatusOptions ()))
89+ ->appendChild (
90+ id (new AphrontFormSelectControl ())
91+ ->setName ('hosted ' )
92+ ->setLabel (pht ('Hosted ' ))
93+ ->setValue ($ saved_query ->getParameter ('hosted ' ))
94+ ->setOptions ($ this ->getHostedOptions ()));
8295
8396 $ type_control = id (new AphrontFormCheckboxControl ())
8497 ->setLabel (pht ('Types ' ));
@@ -164,5 +177,20 @@ private function getOrderValues() {
164177 );
165178 }
166179
180+ private function getHostedOptions () {
181+ return array (
182+ '' => pht ('Hosted and Remote Repositories ' ),
183+ 'phabricator ' => pht ('Hosted Repositories ' ),
184+ 'remote ' => pht ('Remote Repositories ' ),
185+ );
186+ }
187+
188+ private function getHostedValues () {
189+ return array (
190+ '' => PhabricatorRepositoryQuery::HOSTED_ALL ,
191+ 'phabricator ' => PhabricatorRepositoryQuery::HOSTED_PHABRICATOR ,
192+ 'remote ' => PhabricatorRepositoryQuery::HOSTED_REMOTE ,
193+ );
194+ }
167195
168196}
0 commit comments