Skip to content

Commit 0c83515

Browse files
krishnaGausscdrini
andauthored
Added feature for sorting authors (internetarchive#11154)
* Added feature for sorting authors * Apply suggestions from code review --------- Co-authored-by: Drini Cami <[email protected]>
1 parent f574e2e commit 0c83515

File tree

3 files changed

+23
-7
lines changed

3 files changed

+23
-7
lines changed

openlibrary/i18n/messages.pot

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2194,8 +2194,8 @@ msgstr ""
21942194
msgid "Show changed files"
21952195
msgstr ""
21962196

2197-
#: admin/inspect/store.html admin/people/index.html status.html
2198-
#: type/author/edit.html type/language/view.html
2197+
#: admin/inspect/store.html admin/people/index.html search/sort_options.html
2198+
#: status.html type/author/edit.html type/language/view.html
21992199
msgid "Name"
22002200
msgstr ""
22012201

@@ -7099,6 +7099,14 @@ msgstr ""
70997099
msgid "Random"
71007100
msgstr ""
71017101

7102+
#: search/sort_options.html
7103+
msgid "Birth Date (oldest) (beta: Librarian only)"
7104+
msgstr ""
7105+
7106+
#: search/sort_options.html
7107+
msgid "Birth Date (youngest) (beta: Librarian only)"
7108+
msgstr ""
7109+
71027110
#: search/sort_options.html
71037111
msgid "List Order"
71047112
msgstr ""

openlibrary/plugins/worksearch/schemes/authors.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,10 @@ class AuthorSearchScheme(SearchScheme):
2727
sorts = MappingProxyType(
2828
{
2929
'work_count desc': 'work_count desc',
30+
'name': 'name asc',
31+
# Birth Year
32+
'birth_date asc': 'birth_date asc',
33+
'birth_date desc': 'birth_date desc',
3034
# Random
3135
'random': 'random_1 asc',
3236
'random asc': 'random_1 asc',

openlibrary/templates/search/sort_options.html

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,15 @@
1717
return selected_sub_sort
1818

1919
if search_scheme == 'authors':
20-
sort_options = [
21-
{ 'sort': 'relevance', 'name': _("Relevance"), 'ga_key': 'Relevance' },
22-
{ 'sort': 'work_count desc', 'name': _("Work Count"), 'ga_key': 'WorkCountDesc' },
23-
{ 'sort': 'random', 'name': _("Random"), 'ga_key': 'Random', 'selected': selected_sort and selected_sort.startswith('random') },
24-
]
20+
sort_options = [
21+
{ 'sort': 'relevance', 'name': _("Relevance"), 'ga_key': 'Relevance' },
22+
{ 'sort': 'work_count desc', 'name': _("Work Count"), 'ga_key': 'WorkCountDesc' },
23+
{ 'sort': 'name', 'name': _("Name"), 'ga_key': 'Name' },
24+
{ 'sort': 'random', 'name': _("Random"), 'ga_key': 'Random', 'selected': selected_sort and selected_sort.startswith('random') },
25+
]
26+
if selected_sort in ('birth_date_asc', 'birth_date_desc') or (ctx.user and (ctx.user.is_admin() or ctx.user.is_librarian())):
27+
sort_options.append({ 'sort': 'birth_date asc', 'name': _("Birth Date (oldest) (beta: Librarian only)"), 'ga_key': 'BirthDateOldest' })
28+
sort_options.append({ 'sort': 'birth_date desc', 'name': _("Birth Date (youngest) (beta: Librarian only)"), 'ga_key': 'BirthDateYoungest' })
2529
elif search_scheme == 'lists_seeds':
2630
sort_options = [
2731
{ 'sort': 'index', 'name': _("List Order"), 'ga_key': 'ListOrder' },

0 commit comments

Comments
 (0)