3 final class PhabricatorSettingsListController
4 extends PhabricatorController
{
6 public function handleRequest(AphrontRequest
$request) {
7 $viewer = $this->getViewer();
9 // If the viewer isn't an administrator, just redirect them to their own
11 if (!$viewer->getIsAdmin()) {
12 $settings_uri = '/user/'.$viewer->getUsername().'/';
13 $settings_uri = $this->getApplicationURI($settings_uri);
14 return id(new AphrontRedirectResponse())
15 ->setURI($settings_uri);
18 return id(new PhabricatorUserPreferencesSearchEngine())
19 ->setController($this)
23 protected function buildApplicationCrumbs() {
24 $crumbs = parent
::buildApplicationCrumbs();
26 $viewer = $this->getViewer();
27 if ($viewer->getIsAdmin()) {
28 $builtin_global = PhabricatorUserPreferences
::BUILTIN_GLOBAL_DEFAULT
;
29 $global_settings = id(new PhabricatorUserPreferencesQuery())
36 if (!$global_settings) {
37 $action = id(new PHUIListItemView())
38 ->setName(pht('Create Global Defaults'))
39 ->setHref('/settings/builtin/'.$builtin_global.'/')
41 $crumbs->addAction($action);