2017-07-06 16:21:35 +00:00
{% extends is_xhr|yesno("fragment.html", "layout.html") %}
2015-08-02 18:59:11 +00:00
{% block body %}
< div class = "single" >
< div class = "row" >
2017-03-14 18:48:17 +00:00
< div class = "col-sm-3 col-lg-3 col-xs-5" >
2015-08-02 18:59:11 +00:00
< div class = "cover" >
2017-01-21 16:04:36 +00:00
{% if entry.has_cover %}
2017-07-29 03:01:31 +00:00
< img src = "{{ url_for('get_cover', cover_path=entry.path.replace('\\','/')) }}" alt = "{{ entry.title }}" / >
2017-01-21 16:04:36 +00:00
{% else %}
2017-07-29 03:01:31 +00:00
< img src = "{{ url_for('static', filename='generic_cover.jpg') }}" alt = "{{ entry.title }}" / >
2015-08-02 18:59:11 +00:00
{% endif %}
< / div >
< / div >
2016-04-03 21:33:29 +00:00
< div class = "col-sm-9 col-lg-9 book-meta" >
2017-07-08 09:01:40 +00:00
< div class = "btn-toolbar" role = "toolbar" >
< div class = "btn-group" role = "group" aria-label = "Download, send to Kindle, reading" >
{% if g.user.role_download() %}
< div class = "btn-group" role = "group" >
{% if entry.data|length < 3 % }
2017-07-29 03:02:53 +00:00
< button type = "button" class = "btn btn-primary" >
2017-07-08 09:01:40 +00:00
{{_('Download')}} :
< / button >
{% for format in entry.data %}
2017-11-20 06:53:52 +00:00
< a href = "{{ url_for('get_download_link_ext', book_id=entry.id, book_format=format.format|lower, anyname=entry.id|string+'.'+format.format) }}" id = "btnGroupDrop1{{format.format|lower}}" class = "btn btn-primary" role = "button" >
< span class = "glyphicon glyphicon-download" > < / span > {{format.format}} ({{ format.uncompressed_size|filesizeformat }})
< / a >
2017-07-08 09:01:40 +00:00
{% endfor %}
{% else %}
< button id = "btnGroupDrop1" type = "button" class = "btn btn-primary dropdown-toggle" data-toggle = "dropdown" aria-haspopup = "true" aria-expanded = "false" >
< span class = "glyphicon glyphicon-download" > < / span > {{_('Download')}}
< span class = "caret" > < / span >
< / button >
< ul class = "dropdown-menu" aria-labelledby = "btnGroupDrop1" >
{% for format in entry.data %}
2017-11-20 06:53:52 +00:00
< li > < a href = "{{ url_for('get_download_link_ext', book_id=entry.id, book_format=format.format|lower, anyname=entry.id|string+'.'+format.format) }}" > {{format.format}} ({{ format.uncompressed_size|filesizeformat }})< / a > < / li >
2017-07-08 09:01:40 +00:00
{% endfor %}
< / ul >
{% endif %}
< / div >
{% endif %}
{% if g.user.kindle_mail and g.user.is_authenticated %}
< a href = "{{url_for('send_to_kindle', book_id=entry.id)}}" id = "sendbtn" class = "btn btn-primary" role = "button" > < span class = "glyphicon glyphicon-send" > < / span > {{_('Send to Kindle')}}< / a >
{% endif %}
2018-01-11 13:43:39 +00:00
{% if (g.user.role_download() and g.user.is_anonymous) or g.user.is_authenticated %}
{% with formats = entry.data|select('canread')|list %}
{% if formats|length == 1 %}
{% set format = formats|first %}
< div class = "btn-group" role = "group" >
< a target = "_blank" class = "btn btn-primary" href = "{{ url_for('read_book', book_id=entry.id, book_format=format.format|lower) }}" > {{format.format}}
< span class = "glyphicon glyphicon-eye-open" > < / span > {{_('Read in browser')}}
< / a >
< / div >
{% elif formats|length > 1 %}
< div class = "btn-group" role = "group" >
< button id = "read-in-browser" type = "button" class = "btn btn-primary dropdown-toggle" data-toggle = "dropdown" aria-haspopup = "true" aria-expanded = "false" >
< span class = "glyphicon glyphicon-eye-open" > < / span > {{_('Read in browser')}}
< span class = "caret" > < / span >
< / button >
< ul class = "dropdown-menu" aria-labelledby = "read-in-browser" >
{% for format in formats %}
{%if format.format|lower|canread %}
< li > < a target = "_blank" href = "{{ url_for('read_book', book_id=entry.id, book_format=format.format|lower) }}" > {{format.format}}< / a > < / li >
{% endif %}
{%endfor%}
< / ul >
< / div >
{%else%}
{{formats|length}}
{%endif%}
{%endwith%}
{%endif%}
2017-07-08 09:01:40 +00:00
< / div >
< / div >
2015-08-02 18:59:11 +00:00
< h2 > {{entry.title}}< / h2 >
2016-04-15 21:35:18 +00:00
< p class = "author" >
{% for author in entry.authors %}
2017-09-30 13:24:18 +00:00
< a href = "{{url_for('author', book_id=author.id ) }}" > {{author.name.replace('|',',')}}< / a >
2016-04-15 21:35:18 +00:00
{% if not loop.last %}
&
{% endif %}
{% endfor %}
< / p >
2015-08-02 18:59:11 +00:00
{% if entry.ratings.__len__() > 0 %}
< div class = "rating" >
2015-10-12 23:21:46 +00:00
< p >
2015-08-02 18:59:11 +00:00
{% 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) %}
< span class = "glyphicon glyphicon-star" > < / span >
{% endfor %}
{% endif %}
{% endfor %}
2015-10-12 23:21:46 +00:00
< / p >
2015-08-02 18:59:11 +00:00
< / div >
{% endif %}
{% if entry.series|length > 0 %}
2017-04-02 08:05:07 +00:00
< p > {{_('Book')}} {{entry.series_index}} {{_('of')}} < a href = "{{url_for('series', book_id=entry.series[0].id)}}" > {{entry.series[0].name}}< / a > < / p >
2015-08-02 18:59:11 +00:00
{% endif %}
2015-10-12 23:21:46 +00:00
{% if entry.languages.__len__() > 0 %}
< div class = "languages" >
< p >
2016-11-09 18:24:33 +00:00
< span class = "label label-default" > {{_('language')}}: {% for language in entry.languages %} {{language.language_name}}{% if not loop.last %},{% endif %}{% endfor %} < / span >
2015-10-12 23:21:46 +00:00
< / p >
< / div >
{% endif %}
2016-12-27 09:36:06 +00:00
{% if entry.identifiers|length > 0 %}
< div class = "identifiers" >
2017-02-22 19:59:48 +00:00
< p >
2016-12-27 09:36:06 +00:00
< span class = "glyphicon glyphicon-link" > < / span >
{% for identifier in entry.identifiers %}
< a href = "{{identifier}}" target = "_blank" class = "btn btn-xs btn-success" role = "button" > {{identifier.formatType()}}< / a >
{%endfor%}
< / p >
2017-07-09 10:41:09 +00:00
< / div >
2016-12-27 09:36:06 +00:00
{% endif %}
2015-08-02 18:59:11 +00:00
{% if entry.tags|length > 0 %}
2017-07-09 10:41:09 +00:00
2015-10-12 23:21:46 +00:00
< div class = "tags" >
2017-07-09 10:41:09 +00:00
< p >
2015-10-12 23:21:46 +00:00
< span class = "glyphicon glyphicon-tags" > < / span >
2017-04-12 07:53:32 +00:00
2015-08-02 18:59:11 +00:00
{% for tag in entry.tags %}
2017-04-02 08:05:07 +00:00
< a href = "{{ url_for('category', book_id=tag.id) }}" class = "btn btn-xs btn-info" role = "button" > {{tag.name}}< / a >
2015-08-02 18:59:11 +00:00
{%endfor%}
2015-10-12 23:21:46 +00:00
< / p >
2017-07-09 10:41:09 +00:00
< / div >
2015-08-02 18:59:11 +00:00
{% endif %}
2017-02-22 19:59:48 +00:00
{% if entry.publishers|length > 0 %}
< div class = "publishers" >
< p >
< span > {{_('Publisher')}}:{% for publisher in entry.publishers %} {{publisher.name}}{% if not loop.last %},{% endif %}{% endfor %}< / span >
< / p >
< / div >
{% endif %}
2017-02-15 17:09:17 +00:00
{% if entry.pubdate[:10] != '0101-01-01' %}
< p > {{_('Publishing date')}}: {{entry.pubdate|formatdate}} < / p >
2017-02-03 12:44:13 +00:00
{% endif %}
2016-04-19 22:20:02 +00:00
{% if cc|length > 0 %}
2017-07-09 10:41:09 +00:00
2016-04-19 22:20:02 +00:00
< div class = "custom_columns" >
2017-07-09 10:41:09 +00:00
< p >
2016-04-19 22:20:02 +00:00
{% for c in cc %}
{% if entry['custom_column_' ~ c.id]|length > 0 %}
2017-04-12 07:53:32 +00:00
{{ c.name }}:
2016-04-19 22:20:02 +00:00
{% for column in entry['custom_column_' ~ c.id] %}
2016-04-21 10:59:49 +00:00
{% if c.datatype == 'rating' %}
{{ '%d' % (column.value / 2) }}
{% else %}
2016-11-09 18:24:33 +00:00
{% if c.datatype == 'bool' %}
{% if column.value == true %}
< span class = "glyphicon glyphicon-ok" > < / span >
{% else %}
< span class = "glyphicon glyphicon-remove" > < / span >
{% endif %}
{% else %}
{{ column.value }}
{% endif %}
2016-04-21 10:59:49 +00:00
{% endif %}
2016-04-19 22:20:02 +00:00
{% endfor %}
< br / >
{% endif %}
{% endfor %}
< / p >
2017-07-09 10:41:09 +00:00
< / div >
2017-04-12 07:53:32 +00:00
{% endif %}
2017-10-10 14:18:28 +00:00
{% if not g.user.is_anonymous %}
2017-07-09 10:41:09 +00:00
2017-07-06 17:33:47 +00:00
< div class = "custom_columns" >
2017-07-09 10:41:09 +00:00
< p >
2017-07-06 17:33:47 +00:00
< form id = "have_read_form" action = "{{ url_for('toggle_read', book_id=entry.id)}}" method = "POST" >
< label class = "block-label" >
< input id = "have_read_cb" type = "checkbox" { % if have_read % } checked { % endif % } >
< span > {{_('Read')}}< / span >
< / label >
2017-02-19 20:08:22 +00:00
< / form >
2017-07-09 10:41:09 +00:00
< / p >
2017-02-19 20:08:22 +00:00
< / div >
2017-03-02 23:56:07 +00:00
{% endif %}
2017-04-12 07:53:32 +00:00
2015-08-02 18:59:11 +00:00
2017-02-03 12:44:13 +00:00
{% if entry.comments|length > 0 and entry.comments[0].text|length > 0%}
2016-11-09 18:24:33 +00:00
< h3 > {{_('Description:')}}< / h3 >
2015-10-11 19:30:43 +00:00
{{entry.comments[0].text|safe}}
2015-08-02 18:59:11 +00:00
{% endif %}
2017-01-12 19:43:36 +00:00
2017-07-09 10:41:09 +00:00
< div class = "more-stuff" >
2017-01-12 19:43:36 +00:00
{% if g.user.is_authenticated %}
2015-10-12 23:21:46 +00:00
{% if g.user.shelf.all() or g.public_shelfes %}
2017-07-22 18:24:47 +00:00
< div id = "shelf-actions" class = "btn-toolbar" role = "toolbar" >
2015-10-12 23:21:46 +00:00
< div class = "btn-group" role = "group" aria-label = "Add to shelves" >
2017-07-29 03:02:53 +00:00
< button id = "add-to-shelf" type = "button" class = "btn btn-primary btn-sm dropdown-toggle" data-toggle = "dropdown" aria-haspopup = "true" aria-expanded = "false" >
2017-07-22 03:42:01 +00:00
< span class = "glyphicon glyphicon-list" > < / span > {{_('Add to shelf')}}
< span class = "caret" > < / span >
< / button >
2017-07-29 03:02:53 +00:00
< ul id = "add-to-shelves" class = "dropdown-menu" aria-labelledby = "add-to-shelf" >
2017-07-22 03:42:01 +00:00
{% for shelf in g.user.shelf %}
{% if not shelf.id in books_shelfs and shelf.is_public != 1 %}
< li >
< a href = "{{ url_for('add_to_shelf', book_id=entry.id, shelf_id=shelf.id) }}"
data-remove-href="{{ url_for('remove_from_shelf', book_id=entry.id, shelf_id=shelf.id) }}"
data-shelf-action="add"
>
{{shelf.name}}
2015-10-12 23:21:46 +00:00
< / a >
2017-07-22 03:42:01 +00:00
< / li >
{% endif %}
{%endfor%}
{% for shelf in g.public_shelfes %}
{% if not shelf.id in books_shelfs %}
< li >
< a href = "{{ url_for('add_to_shelf', book_id=entry.id, shelf_id=shelf.id) }}"
data-remove-href="{{ url_for('remove_from_shelf', book_id=entry.id, shelf_id=shelf.id) }}"
data-shelf-action="add"
>
{{shelf.name}}
2015-10-12 23:21:46 +00:00
< / a >
2017-07-22 03:42:01 +00:00
< / li >
{% endif %}
{%endfor%}
< / ul >
< / div >
< div id = "remove-from-shelves" class = "btn-group" role = "group" aria-label = "Remove from shelves" >
{% if books_shelfs %}
{% for shelf in g.user.shelf %}
{% if shelf.id in books_shelfs and shelf.is_public != 1 %}
< a href = "{{ url_for('remove_from_shelf', book_id=entry.id, shelf_id=shelf.id) }}"
data-add-href="{{ url_for('add_to_shelf', book_id=entry.id, shelf_id=shelf.id) }}"
class="btn btn-sm btn-default" role="button" data-shelf-action="remove"
>
< span class = "glyphicon glyphicon-remove" > < / span > {{shelf.name}}
< / a >
{% endif %}
{%endfor%}
{% for shelf in g.public_shelfes %}
{% if shelf.id in books_shelfs %}
< a href = "{{ url_for('remove_from_shelf', book_id=entry.id, shelf_id=shelf.id) }}"
data-add-href="{{ url_for('add_to_shelf', book_id=entry.id, shelf_id=shelf.id) }}"
class="btn btn-sm btn-default" role="button" data-shelf-action="remove"
>
< span class = "glyphicon glyphicon-remove" > < / span > {{shelf.name}}
< / a >
{% endif %}
{%endfor%}
{% endif %}
2015-10-12 23:21:46 +00:00
< / div >
2017-07-22 03:42:01 +00:00
< div id = "shelf-action-errors" class = "pull-left" role = "alert" > < / div >
2015-10-12 23:21:46 +00:00
< / div >
{% endif %}
2017-07-09 10:41:09 +00:00
2017-01-12 19:43:36 +00:00
{% endif %}
2016-04-27 08:35:23 +00:00
{% if g.user.role_edit() %}
2015-10-12 23:21:46 +00:00
< div class = "btn-toolbar" role = "toolbar" >
< div class = "btn-group" role = "group" aria-label = "Edit/Delete book" >
2016-11-09 18:24:33 +00:00
< a href = "{{ url_for('edit_book', book_id=entry.id) }}" class = "btn btn-sm btn-warning" role = "button" > < span class = "glyphicon glyphicon-edit" > < / span > {{_('Edit metadata')}}< / a >
2017-07-09 10:41:09 +00:00
< / div >
2015-10-12 23:21:46 +00:00
< / div >
{% endif %}
2017-07-09 10:41:09 +00:00
< / div >
2015-08-02 18:59:11 +00:00
< / div >
< / div >
2017-07-22 03:42:01 +00:00
< / div >
2015-08-02 18:59:11 +00:00
{% endblock %}
2017-02-19 20:08:22 +00:00
{% block js %}
2017-08-13 05:24:56 +00:00
< script type = "text/template" id = "template-shelf-add" >
< li >
< a href = "<%= add %>" data-remove-href = "<%= remove %>" data-shelf-action = "add" >
< %= content %>
< / a >
< / li >
< / script >
< script type = "text/template" id = "template-shelf-remove" >
< a href = "<%= remove %>" data-add-href = "<%= add %>" class = "btn btn-sm btn-default" data-shelf-action = "remove" >
< span class = "glyphicon glyphicon-remove" > < / span > < %= content %>
< / a >
< / script >
2017-07-22 03:42:01 +00:00
< script src = "{{ url_for('static', filename='js/details.js') }}" > < / script >
2017-02-19 20:08:22 +00:00
{% endblock %}