2015-08-02 18:59:11 +00:00
|
|
|
{% extends "layout.html" %}
|
|
|
|
{% block body %}
|
|
|
|
<div class="discover">
|
|
|
|
{% if entries|length < 1 %}
|
2020-04-26 16:28:09 +00:00
|
|
|
<h2>{{_('No Results Found')}} {{adv_searchterm}}</h2>
|
|
|
|
<p>{{_('Search Term:')}} {{adv_searchterm}}</p>
|
2015-08-02 18:59:11 +00:00
|
|
|
{% else %}
|
2020-06-08 15:34:03 +00:00
|
|
|
<h2>{{result_count}} {{_('Results for:')}} {{adv_searchterm}}</h2>
|
2018-08-19 08:14:20 +00:00
|
|
|
{% if g.user.is_authenticated %}
|
2020-04-02 16:23:24 +00:00
|
|
|
{% if g.user.shelf.all() or g.shelves_access %}
|
2018-09-02 20:21:37 +00:00
|
|
|
<div id="shelf-actions" class="btn-toolbar" role="toolbar">
|
|
|
|
<div class="btn-group" role="group" aria-label="Add to shelves">
|
|
|
|
<button id="add-to-shelf" type="button" class="btn btn-primary btn-sm dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
|
|
|
<span class="glyphicon glyphicon-list"></span> {{_('Add to shelf')}}
|
|
|
|
<span class="caret"></span>
|
|
|
|
</button>
|
|
|
|
<ul id="add-to-shelves" class="dropdown-menu" aria-labelledby="add-to-shelf">
|
2020-04-02 16:23:24 +00:00
|
|
|
{% for shelf in g.shelves_access %}
|
2020-05-12 12:39:13 +00:00
|
|
|
{% if not shelf.id in books_shelfs and ( not shelf.is_public or g.user.role_edit_shelfs() ) %}
|
|
|
|
<li><a href="{{ url_for('shelf.search_to_shelf', shelf_id=shelf.id) }}"> {{shelf.name}}{% if shelf.is_public == 1 %} {{_('(Public)')}}{% endif %}</a></li>
|
|
|
|
{% endif %}
|
|
|
|
{%endfor%}
|
2018-09-02 20:21:37 +00:00
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{% endif %}
|
2018-08-19 08:14:20 +00:00
|
|
|
{% endif %}
|
2020-07-11 10:09:34 +00:00
|
|
|
<div class="filterheader hidden-xs hidden-sm"><!-- ToDo: Implement filter for search results -->
|
|
|
|
<a id="new" class="btn btn-primary" href="{{url_for('web.books_list', data=page, sort_param='new', query=query)}}"><span class="glyphicon glyphicon-sort-by-order"></span></a>
|
|
|
|
<a id="old" class="btn btn-primary" href="{{url_for('web.books_list', data=page, sort_param='old', query=query)}}"><span class="glyphicon glyphicon-sort-by-order-alt"></span></a>
|
|
|
|
<a id="asc" class="btn btn-primary" href="{{url_for('web.books_list', data=page, sort_param='abc', query=query)}}"><span class="glyphicon glyphicon-font"></span><span class="glyphicon glyphicon-sort-by-alphabet"></span></a>
|
|
|
|
<a id="desc" class="btn btn-primary" href="{{url_for('web.books_list', data=page, sort_param='zyx', query=query)}}"><span class="glyphicon glyphicon-font"></span><span class="glyphicon glyphicon-sort-by-alphabet-alt"></span></a>
|
|
|
|
<a id="pub_new" class="btn btn-primary" href="{{url_for('web.books_list', data=page, sort_param='pubnew', query=query)}}"><span class="glyphicon glyphicon-calendar"></span><span class="glyphicon glyphicon-sort-by-order"></span></a>
|
|
|
|
<a id="pub_old" class="btn btn-primary" href="{{url_for('web.books_list', data=page, sort_param='pubold', query=query)}}"><span class="glyphicon glyphicon-calendar"></span><span class="glyphicon glyphicon-sort-by-order-alt"></span></a>
|
2019-07-13 18:45:48 +00:00
|
|
|
</div>
|
2018-09-02 20:21:37 +00:00
|
|
|
{% endif %}
|
2018-08-12 16:21:57 +00:00
|
|
|
|
2020-10-16 17:41:48 +00:00
|
|
|
<div class="row display-flex">
|
2015-08-02 18:59:11 +00:00
|
|
|
{% for entry in entries %}
|
|
|
|
<div class="col-sm-3 col-lg-2 col-xs-6 book">
|
|
|
|
<div class="cover">
|
|
|
|
{% if entry.has_cover is defined %}
|
2019-07-13 18:45:48 +00:00
|
|
|
<a href="{{ url_for('web.show_book', book_id=entry.id) }}" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">
|
|
|
|
<img src="{{ url_for('web.get_cover', book_id=entry.id) }}" alt="{{ entry.title }}" />
|
2015-08-02 18:59:11 +00:00
|
|
|
</a>
|
|
|
|
{% endif %}
|
|
|
|
</div>
|
|
|
|
<div class="meta">
|
2019-07-13 18:45:48 +00:00
|
|
|
<a href="{{ url_for('web.show_book', book_id=entry.id) }}" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">
|
2018-10-09 11:52:16 +00:00
|
|
|
<p class="title">{{entry.title|shortentitle}}</p>
|
|
|
|
</a>
|
2016-04-15 21:35:18 +00:00
|
|
|
<p class="author">
|
|
|
|
{% for author in entry.authors %}
|
2019-03-10 18:26:39 +00:00
|
|
|
{% if loop.index > g.config_authors_max and g.config_authors_max != 0 %}
|
2019-02-25 18:27:59 +00:00
|
|
|
{% if not loop.first %}
|
|
|
|
<span class="author-hidden-divider">&</span>
|
2019-07-13 18:45:48 +00:00
|
|
|
{% endif %}
|
2020-07-11 10:09:34 +00:00
|
|
|
<a class="author-name author-hidden" href="{{url_for('web.books_list', data='author', sort_param='new', book_id=author.id) }}">{{author.name.replace('|',',')|shortentitle(30)}}</a>
|
2019-02-25 18:27:59 +00:00
|
|
|
{% if loop.last %}
|
2019-03-10 18:26:39 +00:00
|
|
|
<a href="#" class="author-expand" data-authors-max="{{g.config_authors_max}}" data-collapse-caption="({{_('reduce')}})">(...)</a>
|
2019-02-25 18:27:59 +00:00
|
|
|
{% endif %}
|
|
|
|
{% else %}
|
|
|
|
{% if not loop.first %}
|
|
|
|
<span>&</span>
|
|
|
|
{% endif %}
|
2020-07-11 10:09:34 +00:00
|
|
|
<a class="author-name" href="{{url_for('web.books_list', data='author', sort_param='new', book_id=author.id) }}">{{author.name.replace('|',',')|shortentitle(30)}}</a>
|
2019-07-13 18:45:48 +00:00
|
|
|
{% endif %}
|
|
|
|
{% endfor %}
|
|
|
|
{% for format in entry.data %}
|
|
|
|
{% if format.format|lower == 'mp3' %}
|
|
|
|
<span class="glyphicon glyphicon-music"></span>
|
2016-04-15 21:35:18 +00:00
|
|
|
{% endif %}
|
|
|
|
{% endfor %}
|
|
|
|
</p>
|
2020-05-28 04:57:59 +00:00
|
|
|
{% if entry.series.__len__() > 0 %}
|
|
|
|
<p class="series">
|
2020-10-10 10:47:49 +00:00
|
|
|
<a href="{{url_for('web.books_list', data='series', sort_param='new', book_id=entry.series[0].id )}}">
|
2020-05-28 04:57:59 +00:00
|
|
|
{{entry.series[0].name}}
|
2020-10-10 10:47:49 +00:00
|
|
|
</a>
|
2020-06-30 06:34:26 +00:00
|
|
|
({{entry.series_index|formatseriesindex}})
|
2020-05-28 04:57:59 +00:00
|
|
|
</p>
|
|
|
|
{% endif %}
|
|
|
|
|
2015-08-02 18:59:11 +00:00
|
|
|
{% if entry.ratings.__len__() > 0 %}
|
|
|
|
<div class="rating">
|
|
|
|
{% for number in range((entry.ratings[0].rating/2)|int(2)) %}
|
|
|
|
<span class="glyphicon glyphicon-star good"></span>
|
|
|
|
{% if loop.last and loop.index < 5 %}
|
|
|
|
{% for numer in range(5 - loop.index) %}
|
2020-06-03 18:14:07 +00:00
|
|
|
<span class="glyphicon glyphicon-star-empty"></span>
|
2015-08-02 18:59:11 +00:00
|
|
|
{% endfor %}
|
|
|
|
{% endif %}
|
|
|
|
{% endfor %}
|
|
|
|
</div>
|
|
|
|
{% endif %}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{% endfor %}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{% endblock %}
|