2012-03-15 04:47:17 +01:00
|
|
|
<?php
|
|
|
|
|
2012-08-13 21:37:26 +02:00
|
|
|
final class PhabricatorSettingsPanelSearchPreferences
|
|
|
|
extends PhabricatorSettingsPanel {
|
2012-03-15 04:47:17 +01:00
|
|
|
|
2012-08-13 21:37:26 +02:00
|
|
|
public function getPanelKey() {
|
|
|
|
return 'search';
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getPanelName() {
|
|
|
|
return pht('Search Preferences');
|
|
|
|
}
|
2012-03-15 04:47:17 +01:00
|
|
|
|
2012-08-13 21:37:26 +02:00
|
|
|
public function getPanelGroup() {
|
|
|
|
return pht('Application Settings');
|
|
|
|
}
|
|
|
|
|
|
|
|
public function processRequest(AphrontRequest $request) {
|
2012-03-15 04:47:17 +01:00
|
|
|
$user = $request->getUser();
|
|
|
|
$preferences = $user->loadPreferences();
|
|
|
|
|
|
|
|
$pref_jump = PhabricatorUserPreferences::PREFERENCE_SEARCHBAR_JUMP;
|
|
|
|
$pref_shortcut = PhabricatorUserPreferences::PREFERENCE_SEARCH_SHORTCUT;
|
|
|
|
|
|
|
|
if ($request->isFormPost()) {
|
|
|
|
$preferences->setPreference($pref_jump,
|
|
|
|
$request->getBool($pref_jump));
|
|
|
|
|
|
|
|
$preferences->setPreference($pref_shortcut,
|
|
|
|
$request->getBool($pref_shortcut));
|
|
|
|
|
|
|
|
$preferences->save();
|
|
|
|
return id(new AphrontRedirectResponse())
|
2012-08-13 21:37:26 +02:00
|
|
|
->setURI($this->getPanelURI('?saved=true'));
|
2012-03-15 04:47:17 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
$form = id(new AphrontFormView())
|
|
|
|
->setUser($user)
|
|
|
|
->appendChild(
|
|
|
|
id(new AphrontFormCheckboxControl())
|
|
|
|
->addCheckbox($pref_jump,
|
|
|
|
1,
|
|
|
|
'Enable jump nav functionality in all search boxes.',
|
|
|
|
$preferences->getPreference($pref_jump, 1))
|
|
|
|
->addCheckbox($pref_shortcut,
|
|
|
|
1,
|
2012-08-13 21:37:26 +02:00
|
|
|
"Press '/' to focus the search input.",
|
2013-02-19 22:33:10 +01:00
|
|
|
$preferences->getPreference($pref_shortcut, 1)))
|
2012-03-15 04:47:17 +01:00
|
|
|
->appendChild(
|
|
|
|
id(new AphrontFormSubmitControl())
|
|
|
|
->setValue('Save'));
|
|
|
|
|
|
|
|
$panel = new AphrontPanelView();
|
|
|
|
$panel->setHeader('Search Preferences');
|
|
|
|
$panel->appendChild($form);
|
2013-01-16 16:49:05 +01:00
|
|
|
$panel->setNoBackground();
|
2012-03-15 04:47:17 +01:00
|
|
|
|
|
|
|
$error_view = null;
|
|
|
|
if ($request->getStr('saved') === 'true') {
|
|
|
|
$error_view = id(new AphrontErrorView())
|
|
|
|
->setTitle('Preferences Saved')
|
|
|
|
->setSeverity(AphrontErrorView::SEVERITY_NOTICE)
|
|
|
|
->setErrors(array('Your preferences have been saved.'));
|
|
|
|
}
|
|
|
|
|
2012-08-13 21:37:26 +02:00
|
|
|
return array(
|
|
|
|
$error_view,
|
|
|
|
$panel,
|
|
|
|
);
|
2012-03-15 04:47:17 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|