diff --git a/src/frontend/urls.py b/src/frontend/urls.py index ecaa014..2c58bb6 100755 --- a/src/frontend/urls.py +++ b/src/frontend/urls.py @@ -21,7 +21,7 @@ from interface import views urlpatterns = [ path("admin/", admin.site.urls), path("", views.index, name="index"), - path("/", views.index, name="index"), + path("home", views.home, name="index"), path("sort/<_order>", views.index, name="index"), path("download/", views.download, name="download"), path("favorite/", views.favorite, name="favorite"), @@ -29,6 +29,8 @@ urlpatterns = [ path("share/", views.info, name="info"), path("prev_page/", views.prev_page, name="prev_page"), path("next_page/", views.next_page, name="next_page"), + path("prev_page//<_order>", views.prev_page, name="prev_page"), + path("next_page//<_order>", views.next_page, name="next_page"), path("search/", views.index, name="search"), path("search/", views.index, name="search"), path("search//<_set>", views.index, name="search"), diff --git a/src/interface/static/js/pyshelf_ux.js b/src/interface/static/js/pyshelf_ux.js index 3e43356..fba271a 100755 --- a/src/interface/static/js/pyshelf_ux.js +++ b/src/interface/static/js/pyshelf_ux.js @@ -81,10 +81,8 @@ $(document).ready(function(){ window.location.href="/"+valueSelected }); $('#btn-home').on("click", function(){ - console.log('Home Pressed'); _location = $(this).attr('data-location'); - $('#_order').val(null); - $('#_search').val(null); window.location.href=_location; }); + $('#search_string').html(" "+$('#_search').val().substr(0,15)+"") }); diff --git a/src/interface/templates/index.html b/src/interface/templates/index.html index 2d0f974..e84540a 100755 --- a/src/interface/templates/index.html +++ b/src/interface/templates/index.html @@ -39,7 +39,7 @@

pyShelf {{Version}}

    - + @@ -48,7 +48,7 @@
- +  sort - search +
 {{ NowShowing }} of {{ BookStats }}  - +
diff --git a/src/interface/views.py b/src/interface/views.py index 040bd37..a0fbb0b 100755 --- a/src/interface/views.py +++ b/src/interface/views.py @@ -28,6 +28,16 @@ def index(request, query=None, _set=1, _limit=None, _order='title'): _payload ) +def home(request, query=None, _set=1, _limit=None, _order='title'): + """ + Reset Search Queries & Return Home + """ + _payload = payload(request, query, _set, _limit, _order, reset='1') + return render( + request, + "index.html", + _payload + ) def show_collection(request, _collection, _colset): try: _set = int(_colset) + 1 @@ -225,7 +235,6 @@ def menu(which, _set=1, parent=None): return _collections elif which == "nav_lvl_0": navigation_list = Navigation.objects.all() - breakpoint() return navigation_list def collections_list(): @@ -235,39 +244,49 @@ def collections_list(): collection_key.append(i.collection) return json.dumps(list(set(collection_key))) -def payload(request, query, _set, _limit, _order): +def payload(request, query, _set, _limit, _order, **kwargs): """ Return formatted data to template """ - breakpoint() - _set = int(_set) - if _set < 1: _set = 1 - if _limit is None: _limit = 20 - _set_max = int(_set) * _limit - _set_min = _set_max - _limit - _now_showing = "%s-%s"%(_set_min, _set_max) - if query: - if query != request.session.get('cached_query'): + try: + if kwargs['reset']: request.session['cached_query'] = query - _results = Books().generic_search(query) - _r, _r_len = \ - _results[_set_min:_set_max],\ - _results.count() - elif query == request.session.get('cached_query'): - _results = Books().generic_search(query) - _r, _r_len = \ - _results.order_by(_order)[_set_min:_set_max],\ - _results.count() - - else: - try: - query = request.session['cached_query'] - _results = Books().generic_search(query) - _r, _r_len = \ - _results.order_by(_order)[_set_min:_set_max],\ - _results.count() - except KeyError: + if _set < 1: _set = 1 + if _limit is None: _limit = 20 + _set_max = int(_set) * _limit + _set_min = _set_max - _limit + _now_showing = "%s-%s"%(_set_min, _set_max) _r, _r_len, _search = book_set(_order, _limit, _set), None, None + except KeyError: + _set = int(_set) + if _set < 1: _set = 1 + if _limit is None: _limit = 20 + _set_max = int(_set) * _limit + _set_min = _set_max - _limit + _now_showing = "%s-%s"%(_set_min, _set_max) + if query: + if query != request.session.get('cached_query'): + request.session['cached_query'] = query + _results = Books().generic_search(query) + _r, _r_len = \ + _results[_set_min:_set_max],\ + _results.count() + elif query == request.session.get('cached_query'): + _results = Books().generic_search(query) + _r, _r_len = \ + _results.order_by(_order)[_set_min:_set_max],\ + _results.count() + + else: + try: + query = request.session['cached_query'] + if query == None: raise KeyError + _results = Books().generic_search(query) + _r, _r_len = \ + _results.order_by(_order)[_set_min:_set_max],\ + _results.count() + except KeyError: + _r, _r_len, _search = book_set(_order, _limit, _set), None, None _bookstats, _collectionstats, _collectionobject = \ Books.objects.all().count, Collections.objects.all().count, \