252 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			252 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
{% extends "layout.html" %}
 | 
						||
{% block body %}
 | 
						||
<div class="single">
 | 
						||
  <div class="row">
 | 
						||
    <div class="col-sm-3 col-lg-3 col-xs-5">
 | 
						||
      <div class="cover">
 | 
						||
        {% if entry.has_cover %}
 | 
						||
          <img src="{{ url_for('get_cover', cover_path=entry.path.replace('\\','/')) }}" />
 | 
						||
        {% else %}
 | 
						||
          <img src="{{ url_for('static', filename='generic_cover.jpg') }}" />
 | 
						||
        {% endif %}
 | 
						||
      </div>
 | 
						||
    </div>
 | 
						||
    <div class="col-sm-9 col-lg-9 book-meta">
 | 
						||
      <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 %}
 | 
						||
              <button id="btnGroupDrop1" type="button" class="btn btn-primary">
 | 
						||
                {{_('Download')}} :
 | 
						||
              </button>
 | 
						||
                {% for format in entry.data %}
 | 
						||
                <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}}
 | 
						||
                </a>
 | 
						||
                {% 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 %}
 | 
						||
                  <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}}</a></li>
 | 
						||
                {% 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 %}
 | 
						||
          {% if (g.user.role_download() and g.user.is_anonymous()) or g.user.is_authenticated %}
 | 
						||
              <div class="btn-group" role="group">
 | 
						||
                <button id="btnGroupDrop2" 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="btnGroupDrop2">
 | 
						||
                  {% for format in entry.data %}
 | 
						||
                  {%if format.format|lower == 'epub' or format.format|lower == 'txt' or format.format|lower == 'pdf' or format.format|lower == 'cbr' or format.format|lower == 'cbt' or format.format|lower == 'cbz' %}
 | 
						||
                  <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>
 | 
						||
          {% endif %}
 | 
						||
        </div>
 | 
						||
      </div>
 | 
						||
 | 
						||
      <h2>{{entry.title}}</h2>
 | 
						||
      <p class="author">
 | 
						||
          {% for author in entry.authors %}
 | 
						||
            <a href="{{url_for('author', book_id=author.id ) }}">{{author.name}}</a>
 | 
						||
            {% if not loop.last %}
 | 
						||
              &
 | 
						||
            {% endif %}
 | 
						||
          {% endfor %}
 | 
						||
        </p>
 | 
						||
      {% if entry.ratings.__len__() > 0 %}
 | 
						||
        <div class="rating">
 | 
						||
        <p>
 | 
						||
          {% 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 %}
 | 
						||
        </p>
 | 
						||
        </div>
 | 
						||
      {% endif %}
 | 
						||
 | 
						||
      {% if entry.series|length > 0 %}
 | 
						||
        <p>{{_('Book')}} {{entry.series_index}} {{_('of')}} <a href="{{url_for('series', book_id=entry.series[0].id)}}">{{entry.series[0].name}}</a></p>
 | 
						||
      {% endif %}
 | 
						||
 | 
						||
      {% if entry.languages.__len__() > 0 %}
 | 
						||
       <div class="languages">
 | 
						||
       <p>
 | 
						||
      <span class="label label-default">{{_('language')}}: {% for language in entry.languages %} {{language.language_name}}{% if not loop.last %},{% endif %}{% endfor %} </span>
 | 
						||
      </p>
 | 
						||
      </div>
 | 
						||
      {% endif %}
 | 
						||
 | 
						||
      {% if entry.identifiers|length > 0 %}
 | 
						||
      <div class="identifiers">
 | 
						||
        <p>
 | 
						||
        <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>
 | 
						||
      </div>
 | 
						||
      {% endif %}
 | 
						||
 | 
						||
      {% if entry.tags|length > 0 %}
 | 
						||
 | 
						||
      <div class="tags">
 | 
						||
      <p>
 | 
						||
        <span class="glyphicon glyphicon-tags"></span>
 | 
						||
 | 
						||
        {% for tag in entry.tags %}
 | 
						||
          <a href="{{ url_for('category', book_id=tag.id) }}" class="btn btn-xs btn-info" role="button">{{tag.name}}</a>
 | 
						||
        {%endfor%}
 | 
						||
      </p>
 | 
						||
 | 
						||
      </div>
 | 
						||
      {% endif %}
 | 
						||
      {% 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 %}
 | 
						||
      {% if entry.pubdate[:10] != '0101-01-01' %}
 | 
						||
        <p>{{_('Publishing date')}}: {{entry.pubdate|formatdate}} </p>
 | 
						||
      {% endif %}
 | 
						||
      {% if cc|length > 0 %}
 | 
						||
 | 
						||
        <div class="custom_columns">
 | 
						||
        <p>
 | 
						||
        {% for c in cc %}
 | 
						||
          {% if entry['custom_column_' ~ c.id]|length > 0 %}
 | 
						||
            {{ c.name }}:
 | 
						||
            {% for column in entry['custom_column_' ~ c.id] %}
 | 
						||
              {% if c.datatype == 'rating' %}
 | 
						||
                {{ '%d' % (column.value / 2) }}
 | 
						||
              {% else %}
 | 
						||
                {% 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 %}
 | 
						||
              {% endif %}
 | 
						||
            {% endfor %}
 | 
						||
            <br />
 | 
						||
          {% endif %}
 | 
						||
        {% endfor %}
 | 
						||
        </p>
 | 
						||
        </div>
 | 
						||
      {% endif %}
 | 
						||
      {% if not g.user.is_anonymous() %}
 | 
						||
 | 
						||
        <div class="custom_columns">
 | 
						||
          <p>
 | 
						||
          <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>
 | 
						||
          </form>
 | 
						||
          </p>
 | 
						||
        </div>
 | 
						||
      {% endif %}
 | 
						||
 | 
						||
 | 
						||
      {% if entry.comments|length > 0 and entry.comments[0].text|length > 0%}
 | 
						||
        <h3>{{_('Description:')}}</h3>
 | 
						||
        {{entry.comments[0].text|safe}}
 | 
						||
      {% endif %}
 | 
						||
 | 
						||
 | 
						||
      <div class="more-stuff">
 | 
						||
 | 
						||
      {% if g.user.is_authenticated %}
 | 
						||
      {% if g.user.shelf.all() or g.public_shelfes %}
 | 
						||
      <div class="btn-toolbar" role="toolbar">
 | 
						||
        <div class="btn-group" role="group" aria-label="Add to shelves">
 | 
						||
              <button id="btnGroupDrop2" 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 class="dropdown-menu" aria-labelledby="btnGroupDrop2">
 | 
						||
                {% 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) }}">{{shelf.name}}</a></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) }}">{{shelf.name}}</a></li>
 | 
						||
                  {% endif %}
 | 
						||
                {%endfor%}
 | 
						||
              </ul>
 | 
						||
        </div>
 | 
						||
        {% if books_shelfs %}
 | 
						||
        <div class="btn-group" role="group" aria-label="Remove from shelves">
 | 
						||
              {% 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) }}" class="btn btn-sm btn-default" role="button">
 | 
						||
                    <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) }}" class="btn btn-sm btn-default" role="button">
 | 
						||
                    <span class="glyphicon glyphicon-remove"></span> {{shelf.name}}
 | 
						||
                  </a>
 | 
						||
                {% endif %}
 | 
						||
              {%endfor%}
 | 
						||
            {% endif %}
 | 
						||
        </div>
 | 
						||
      </div>
 | 
						||
      {% endif %}
 | 
						||
 | 
						||
      {% endif %}
 | 
						||
      {% if g.user.role_edit() %}
 | 
						||
      <div class="btn-toolbar" role="toolbar">
 | 
						||
        <div class="btn-group" role="group" aria-label="Edit/Delete book">
 | 
						||
          <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>
 | 
						||
        </div>
 | 
						||
      </div>
 | 
						||
      {% endif %}
 | 
						||
      </div>
 | 
						||
 | 
						||
 | 
						||
    </div>
 | 
						||
  </div>
 | 
						||
{% endblock %}
 | 
						||
 | 
						||
{% block js %}
 | 
						||
<script src="{{ url_for('static', filename='js/libs/jquery.form.js') }}"></script>
 | 
						||
<script>
 | 
						||
  $( document ).ready(function() {
 | 
						||
    $('#have_read_form').ajaxForm();
 | 
						||
  });
 | 
						||
  $("#have_read_cb").on('change', function() {
 | 
						||
    $(this).closest('form').submit();
 | 
						||
  });
 | 
						||
</script>
 | 
						||
{% endblock %}
 |