Skip to content

Commit ed1c685

Browse files
Ved-sketchUtkarsh3725claudecdrini
authored
Pre-fill fields when switching to advanced search (#13601)
Co-Authored-By: Utkarsh Arya <190812618+Utkarsh3725@users.noreply.github.com> Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com> Co-authored-by: Drini Cami <cdrini@gmail.com>
1 parent dc12eff commit ed1c685

4 files changed

Lines changed: 37 additions & 10 deletions

File tree

‎openlibrary/i18n/messages.pot‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5654,6 +5654,10 @@ msgstr ""
56545654
msgid "%(count)d records modified."
56555655
msgstr ""
56565656

5657+
#: search/advancedsearch.html
5658+
msgid "All fields"
5659+
msgstr ""
5660+
56575661
#: search/advancedsearch.html
56585662
msgid "ISBN"
56595663
msgstr ""

‎openlibrary/macros/SearchNavigation.html‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,6 @@
2525
</li>
2626
<li class="$('selected' if ctx.path=='/advancedsearch' else '')">
2727
<a data-ol-link-track="SearchNav|SearchAdvanced"
28-
href="/advancedsearch">$_("Advanced Search")</a>
28+
href="$changequery(_path='/advancedsearch', page=None)">$_("Advanced Search")</a>
2929
</li>
3030
</ul>

‎openlibrary/plugins/worksearch/code.py‎

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -967,7 +967,26 @@ class advancedsearch(delegate.page):
967967
path = "/advancedsearch"
968968

969969
def GET(self):
970-
return render_template("search/advancedsearch.html")
970+
# facets are only a fallback
971+
i = web.input(
972+
q="",
973+
title="",
974+
author="",
975+
isbn="",
976+
subject="",
977+
place="",
978+
person="",
979+
publisher="",
980+
subject_facet="",
981+
publisher_facet="",
982+
person_facet="",
983+
place_facet="",
984+
)
985+
i.subject = i.subject or i.subject_facet
986+
i.publisher = i.publisher or i.publisher_facet
987+
i.person = i.person or i.person_facet
988+
i.place = i.place or i.place_facet
989+
return render_template("search/advancedsearch.html", i)
971990

972991

973992
@dataclass

‎openlibrary/templates/search/advancedsearch.html‎

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
$def with (i)
12
<div id="contentHead">
23
<h1>$_('Advanced Search')</h1>
34
</div>
@@ -7,34 +8,37 @@ <h1>$_('Advanced Search')</h1>
78
<form method="get" action="/search" class="siteSearch olform siteSearch--advanced">
89
<fieldset class="home">
910
<legend>$_('Advanced Search')</legend>
10-
<input type="hidden" name="q" id="qtop">
11+
<div class="formElement">
12+
<label for="qtop">$_('All fields')</label><br>
13+
<input type="text" class="siteSearch--advanced-input" name="q" id="qtop" placeholder="" size="35" value="$i.q">
14+
</div>
1115
<div class="formElement">
1216
<label for="qtop-title">$_('Title')</label><br>
13-
<input type="text" class="siteSearch--advanced-input" name="title" id="qtop-title" placeholder="" size="35">
17+
<input type="text" class="siteSearch--advanced-input" name="title" id="qtop-title" placeholder="" size="35" value="$i.title">
1418
</div>
1519
<div class="formElement">
1620
<label for="qtop-author">$_('Author')</label><br>
17-
<input type="text" class="siteSearch--advanced-input" name="author" id="qtop-author" placeholder="" size="35">
21+
<input type="text" class="siteSearch--advanced-input" name="author" id="qtop-author" placeholder="" size="35" value="$i.author">
1822
</div>
1923
<div class="formElement">
2024
<label for="qtop-isbn">$_('ISBN')</label><br>
21-
<input type="text" class="siteSearch--advanced-input" name="isbn" id="qtop-isbn" placeholder="" size="35">
25+
<input type="text" class="siteSearch--advanced-input" name="isbn" id="qtop-isbn" placeholder="" size="35" value="$i.isbn">
2226
</div>
2327
<div class="formElement">
2428
<label for="qtop-subject">$_('Subject')</label><br>
25-
<input type="text" class="siteSearch--advanced-input" name="subject" id="qtop-subject" placeholder="" size="35">
29+
<input type="text" class="siteSearch--advanced-input" name="subject" id="qtop-subject" placeholder="" size="35" value="$i.subject">
2630
</div>
2731
<div class="formElement">
2832
<label for="qtop-place">$_('Place')</label><br>
29-
<input type="text" class="siteSearch--advanced-input" name="place" id="qtop-place" placeholder="" size="35">
33+
<input type="text" class="siteSearch--advanced-input" name="place" id="qtop-place" placeholder="" size="35" value="$i.place">
3034
</div>
3135
<div class="formElement">
3236
<label for="qtop-person">$_('Person')</label><br>
33-
<input type="text" class="siteSearch--advanced-input" name="person" id="qtop-person" placeholder="" size="35">
37+
<input type="text" class="siteSearch--advanced-input" name="person" id="qtop-person" placeholder="" size="35" value="$i.person">
3438
</div>
3539
<div class="formElement">
3640
<label for="qtop-publisher">$_('Publisher')</label><br>
37-
<input type="text" class="siteSearch--advanced-input" name="publisher" id="qtop-publisher" placeholder="" size="35">
41+
<input type="text" class="siteSearch--advanced-input" name="publisher" id="qtop-publisher" placeholder="" size="35" value="$i.publisher">
3842
</div>
3943
</fieldset>
4044
<button type="submit" class="cta-btn cta-btn--search">$_('Search')</button>

0 commit comments

Comments
 (0)