mirror of
https://github.com/janeczku/calibre-web
synced 2024-11-18 07:44:54 +00:00
f07cc8b103
Catch error for invalid oauth tokens Fixes for displaying error messages on deleting books from list Fixes for displaying error messages on deleting bookformats Removed non working sorting in books list
99 lines
5.3 KiB
HTML
99 lines
5.3 KiB
HTML
{% extends "layout.html" %}
|
|
{% macro text_table_row(parameter, edit_text, show_text, validate, sort) -%}
|
|
<th data-field="{{ parameter }}" id="{{ parameter }}"
|
|
{% if sort %}data-sortable="true" {% endif %}
|
|
data-visible = "{{visiblility.get(parameter)}}"
|
|
{% if g.user.role_edit() %}
|
|
data-editable-type="text"
|
|
data-editable-url="{{ url_for('editbook.edit_list_book', param=parameter)}}"
|
|
data-editable-title="{{ edit_text }}"
|
|
data-edit="true"
|
|
{% if validate %}data-edit-validate="{{ _('This Field is Required') }}" {% endif %}
|
|
{% endif %}
|
|
>{{ show_text }}</th>
|
|
{%- endmacro %}
|
|
|
|
{% block header %}
|
|
<link href="{{ url_for('static', filename='css/libs/bootstrap-table.min.css') }}" rel="stylesheet">
|
|
<link href="{{ url_for('static', filename='css/libs/bootstrap-editable.css') }}" rel="stylesheet">
|
|
{% endblock %}
|
|
{% block body %}
|
|
<h2 class="{{page}}">{{_(title)}}</h2>
|
|
<div class="col-xs-12 col-sm-6">
|
|
<div class="row">
|
|
<div class="btn btn-default disabled" id="merge_books" data-toggle="modal" data-target="#mergeModal" aria-disabled="true">{{_('Merge selected books')}}</div>
|
|
<div class="btn btn-default disabled" id="delete_selection" aria-disabled="true">{{_('Remove Selections')}}</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xs-12 col-sm-6">
|
|
<div class="row">
|
|
<input type="checkbox" id="autoupdate_titlesort" name="autoupdate_titlesort" checked>
|
|
<label for="autoupdate_titlesort">{{_('Update Title Sort automatically')}}</label>
|
|
</div>
|
|
<div class="row">
|
|
<input type="checkbox" id="autoupdate_authorsort" name="autoupdate_authorsort" checked>
|
|
<label for="autoupdate_authorsort">{{_('Update Author Sort automatically')}}</label>
|
|
</div>
|
|
</div>
|
|
|
|
<table id="books-table" class="table table-no-bordered table-striped"
|
|
data-url="{{url_for('web.list_books')}}">
|
|
<thead>
|
|
<tr>
|
|
{% if g.user.role_edit() %}
|
|
<th data-field="state" data-checkbox="true" data-sortable="true"></th>
|
|
{% endif %}
|
|
<th data-field="id" id="id" data-visible="false" data-switchable="false"></th>
|
|
{{ text_table_row('title', _('Enter Title'),_('Title'), true, true) }}
|
|
{{ text_table_row('sort', _('Enter Title Sort'),_('Title Sort'), false, true) }}
|
|
{{ text_table_row('author_sort', _('Enter Author Sort'),_('Author Sort'), false, true) }}
|
|
{{ text_table_row('authors', _('Enter Authors'),_('Authors'), true) }}
|
|
{{ text_table_row('tags', _('Enter Categories'),_('Categories'), false, false) }}
|
|
{{ text_table_row('series', _('Enter Series'),_('Series'), false, false) }}
|
|
<th data-field="series_index" id="series_index" data-visible="{{visiblility.get('series_index')}}" data-edit-validate="{{ _('This Field is Required') }}" data-sortable="true" {% if g.user.role_edit() %} data-editable-type="number" data-editable-placeholder="1" data-editable-step="0.01" data-editable-min="0" data-editable-url="{{ url_for('editbook.edit_list_book', param='series_index')}}" data-edit="true" data-editable-title="{{_('Enter title')}}"{% endif %}>{{_('Series Index')}}</th>
|
|
{{ text_table_row('languages', _('Enter Languages'),_('Languages'), false, false) }}
|
|
<!--th data-field="pubdate" data-type="date" data-visible="{{visiblility.get('pubdate')}}" data-viewformat="dd.mm.yyyy" id="pubdate" data-sortable="true">{{_('Publishing Date')}}</th-->
|
|
{{ text_table_row('publishers', _('Enter Publishers'),_('Publishers'), false, false) }}
|
|
{% if g.user.role_delete_books() and g.user.role_edit()%}
|
|
<th data-align="right" data-formatter="EbookActions" data-switchable="false">{{_('Delete')}}</th>
|
|
{% endif %}
|
|
</tr>
|
|
</thead>
|
|
</table>
|
|
{% endblock %}
|
|
{% block modal %}
|
|
{{ delete_book() }}
|
|
{% if g.user.role_edit() %}
|
|
<div class="modal fade" id="mergeModal" role="dialog" aria-labelledby="metaMergeLabel">
|
|
<div class="modal-dialog">
|
|
<div class="modal-content">
|
|
<div class="modal-header bg-danger text-center">
|
|
<span>{{_('Are you really sure?')}}</span>
|
|
</div>
|
|
<div class="modal-body">
|
|
<p></p>
|
|
<div class="text-left">{{_('Books with Title will be merged from:')}}</div>
|
|
<p></p>
|
|
<div class=text-left" id="merge_from"></div>
|
|
<p></p>
|
|
<div class="text-left">{{_('Into Book with Title:')}}</div>
|
|
<p></p>
|
|
<div class=text-left" id="merge_to"></div>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<input type="button" class="btn btn-danger" value="{{_('Merge')}}" name="merge_confirm" id="merge_confirm" data-dismiss="modal">
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">{{_('Cancel')}}</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
{% endblock %}
|
|
{% block js %}
|
|
<script src="{{ url_for('static', filename='js/libs/bootstrap-table/bootstrap-table.min.js') }}"></script>
|
|
<script src="{{ url_for('static', filename='js/libs/bootstrap-table/bootstrap-table-editable.min.js') }}"></script>
|
|
<script src="{{ url_for('static', filename='js/libs/bootstrap-table/bootstrap-editable.min.js') }}"></script>
|
|
<script src="{{ url_for('static', filename='js/table.js') }}"></script>
|
|
{% endblock %}
|