Skip to content

Commit b7f8388

Browse files
authored
chore: add checkbox to redirect to google search if needed (#1739)
1 parent 55e259c commit b7f8388

File tree

2 files changed

+23
-5
lines changed

2 files changed

+23
-5
lines changed

web/modules/custom/sfgov_search/src/Form/GoogleSearchForm.php

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -92,11 +92,21 @@ public function buildForm(array $form, FormStateInterface $form_state) {
9292
}
9393

9494
public function submitForm(array &$form, FormStateInterface $form_state) {
95+
$config = \Drupal::config('sfgov_search.settings');
96+
$redirect_google = $config->get('redirect_google');
9597
$search = $form_state->getValues()['keys'];
96-
$google_search_url = \Drupal\Core\Url::fromUri('https://www.google.com/search', [
97-
'query' => ['q' => $search . ' site:sf.gov OR site:sfgov.org'],
98-
])->toString();
99-
$response = new RedirectResponse($google_search_url);
100-
$response->send();
98+
99+
if ($redirect_google) {
100+
$google_search_url = \Drupal\Core\Url::fromUri('https://www.google.com/search', [
101+
'query' => ['q' => $search . ' site:sf.gov OR site:sfgov.org'],
102+
])->toString();
103+
$response = new RedirectResponse($google_search_url);
104+
$response->send();
105+
} else {
106+
$form_state->setRedirect('search.view_google_json_api_search', ['keys' => $search], [
107+
'language' => $this->languageManager->getCurrentLanguage(),
108+
]);
109+
}
110+
101111
}
102112
}

web/modules/custom/sfgov_search/src/Form/SfGovSearchConfigurationForm.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,13 +49,20 @@ public function buildForm(array $form, FormStateInterface $form_state) {
4949
'#title' => $this->t('Funnelback collection name'),
5050
'#options' => $options,
5151
'#default_value' => $config->get('search_collection'),
52+
'#disabled' => true,
5253
];
5354
$form['qie_influence'] = [
5455
'#type' => 'textfield',
5556
'#size' => '5',
5657
'#maxlength' => '3',
5758
'#title' => $this->t('QIE influence (between 0 - 1, eg: 0.7)'),
5859
'#default_value' => $config->get('qie_influence'),
60+
'#disabled' => true,
61+
];
62+
$form['redirect_google'] = [
63+
'#type' => 'checkbox',
64+
'#title' => 'Redirect search form submission to google',
65+
'#default_value' => $config->get('redirect_google'),
5966
];
6067
return parent::buildForm($form, $form_state);
6168
}
@@ -64,6 +71,7 @@ public function submitForm(array &$form, FormStateInterface $form_state) {
6471
$this->config(self::SETTINGS)
6572
->set('search_collection', $form_state->getValue('search_collection_name'))
6673
->set('qie_influence', $form_state->getValue('qie_influence'))
74+
->set('redirect_google', $form_state->getValue('redirect_google'))
6775
->save();
6876
parent::submitForm($form, $form_state);
6977
}

0 commit comments

Comments
 (0)