X-Git-Url: https://git.phdru.name/?p=m_librarian.git;a=blobdiff_plain;f=m_librarian%2Fweb%2Fapp.py;h=d0110207a1fad5cf7ef31220acef2fae4875885e;hp=3ca8d4fd54b51e5cbddeecbf23e97f2c80e78c7c;hb=5932dd9301f9820b2b103545593606909f8eceb8;hpb=10f50ecc606a84ead65526f78a9544996f8e6ccd diff --git a/m_librarian/web/app.py b/m_librarian/web/app.py index 3ca8d4f..d011020 100644 --- a/m_librarian/web/app.py +++ b/m_librarian/web/app.py @@ -14,7 +14,9 @@ from m_librarian.search import search_authors, search_books @route('/') @cheetah_view('index.tmpl') def index(): - return {} + return { + 'get_config': get_config, + } @route('/search_authors', method='GET') @@ -68,13 +70,26 @@ def search_authors_post(): @route('/books-by-author//', method='GET') @cheetah_view('books_by_author.tmpl') def books_by_author(id): - return { - 'author': Author.get(id), - 'books': Book.select( - Book.j.authors & (Author.q.id == id), - orderBy=['series', 'ser_no', 'title'], - ) - } + use_filters = get_config().getint('filters', 'use_in_books_list') + if use_filters: + join_expressions = [] + join_expressions.append(Book.j.authors) + join_expressions.append(Author.q.id == id) + books = search_books('full', None, {}, join_expressions, + orderBy=('series', 'ser_no', 'title'), + use_filters=use_filters) + return { + 'author': Author.get(id), + 'books': books, + } + else: + return { + 'author': Author.get(id), + 'books': Book.select( + Book.j.authors & (Author.q.id == id), + orderBy=['series', 'ser_no', 'title'], + ) + } @route('/static/') @@ -113,7 +128,9 @@ def _search_books(): @route('/search_books/', method='GET') @cheetah_view('search_books.tmpl') def search_books_get(): - return {} + return { + 'get_config': get_config, + } @route('/search_books/', method='POST') @@ -129,8 +146,9 @@ def search_books_post(): case_sensitive = request.forms.get('case_sensitive') if case_sensitive is None: case_sensitive = _guess_case_sensitivity(value) + use_filters = request.forms.get('use_filters') books = search_books(search_type, case_sensitive, {'title': value}, None, - orderBy=('title',)) + orderBy=('title',), use_filters=use_filters) books_by_authors = {} for book in books: author = book.authors[0].fullname