search: use description template from settings for users (#58548)

This commit is contained in:
Benjamin Dauvergne 2021-11-11 16:59:36 +01:00
parent 4a1937c4b6
commit 3b39035e88
2 changed files with 16 additions and 0 deletions

View File

@ -167,6 +167,12 @@ class UsersEngineSettingsUpdateForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
self.engine_slug = kwargs.pop('engine_slug')
super().__init__(*args, **kwargs)
try:
users_engine_settings = engines.get('users')
except KeyError:
users_engine_settings = {}
if 'hit_description_template' in users_engine_settings:
self.fields['description_template'].initial = users_engine_settings['hit_description_template']
def get_title(self):
return _('Update "Users" engine')

View File

@ -1189,8 +1189,18 @@ def test_profile_add_search_engines(settings, app, admin_user):
not in resp.text
)
# check default value from settings is retained in configuration form
users_engine = engines.get('users').copy()
settings.COMBO_SEARCH_SERVICES = {'users': users_engine}
with mock.patch.dict(
users_engine, {'hit_description_template': users_engine['hit_description_template'] + ' xxx'}
):
form_resp = resp.click(href='.*/search_searchcell-%s/engine/users/add/' % cell.pk)
assert form_resp.form['description_template'].value.endswith(' xxx')
resp = resp.click(href='.*/search_searchcell-%s/engine/users/add/' % cell.pk)
resp.form['title'] = 'Custom Title'
assert not resp.form['description_template'].value.endswith(' xxx')
resp.form['description_template'] = 'Foo Bar'
resp = resp.form.submit('submit')
assert resp.status_int == 302