Merge branch 'master' of https://github.com/janeczku/calibre-web into ebookconvert-any
This commit is contained in:
+42
-34
@@ -2,7 +2,6 @@
|
||||
{% block body %}
|
||||
<div class="discover">
|
||||
<h2>{{_('User list')}}</h2>
|
||||
<div id="divLoading"></div>
|
||||
<table class="table table-striped" id="table_user">
|
||||
<tr>
|
||||
<th>{{_('Nickname')}}</th>
|
||||
@@ -13,7 +12,6 @@
|
||||
<th>{{_('Download')}}</th>
|
||||
<th>{{_('Upload')}}</th>
|
||||
<th>{{_('Edit')}}</th>
|
||||
<th>{{_('Passwd')}}</th>
|
||||
</tr>
|
||||
{% for user in content %}
|
||||
{% if not user.role_anonymous() or config.config_anonbrowse %}
|
||||
@@ -26,20 +24,18 @@
|
||||
<td>{% if user.role_download() %}<span class="glyphicon glyphicon-ok"></span>{% else %}<span class="glyphicon glyphicon-remove"></span>{% endif %}</td>
|
||||
<td>{% if user.role_upload() %}<span class="glyphicon glyphicon-ok"></span>{% else %}<span class="glyphicon glyphicon-remove"></span>{% endif %}</td>
|
||||
<td>{% if user.role_edit() %}<span class="glyphicon glyphicon-ok"></span>{% else %}<span class="glyphicon glyphicon-remove"></span>{% endif %}</td>
|
||||
<td>{% if user.role_passwd() %}<span class="glyphicon glyphicon-ok"></span>{% else %}<span class="glyphicon glyphicon-remove"></span>{% endif %}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</table>
|
||||
<div class="btn btn-default" id="admin_new_user"><a href="{{url_for('new_user')}}">{{_('Add new user')}}</a></div>
|
||||
<h2>{{_('SMTP mail settings')}}</h2>
|
||||
<h2>{{_('SMTP e-mail server settings')}}</h2>
|
||||
<table class="table table-striped" id="table_email">
|
||||
<tr>
|
||||
<th>{{_('SMTP hostname')}}</th>
|
||||
<th>{{_('SMTP port')}}</th>
|
||||
<th>{{_('SSL')}}</th>
|
||||
<th>{{_('SMTP login')}}</th>
|
||||
<th>{{_('SMTP password')}}</th>
|
||||
<th>{{_('From mail')}}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -47,44 +43,56 @@
|
||||
<td>{{email.mail_port}}</td>
|
||||
<td>{% if email.mail_use_ssl %}<span class="glyphicon glyphicon-ok"></span>{% else %}<span class="glyphicon glyphicon-remove"></span>{% endif %}</td>
|
||||
<td>{{email.mail_login}}</td>
|
||||
<td>********</td>
|
||||
<td>{{email.mail_from}}</td>
|
||||
|
||||
</table>
|
||||
|
||||
<div class="btn btn-default" id="admin_edit_email"><a href="{{url_for('edit_mailsettings')}}">{{_('Change SMTP settings')}}</a></div>
|
||||
|
||||
<div id="container">
|
||||
<h2>{{_('Configuration')}}</h2>
|
||||
<table class="table table-striped" id="table_configuration">
|
||||
<tr>
|
||||
<th>{{_('Calibre DB dir')}}</th>
|
||||
<th>{{_('Log Level')}}</th>
|
||||
<th>{{_('Port')}}</th>
|
||||
<th>{{_('Books per page')}}</th>
|
||||
<th>{{_('Uploading')}}</th>
|
||||
<th>{{_('Public registration')}}</th>
|
||||
<th>{{_('Anonymous browsing')}}</th>
|
||||
<th>{{_('Remote Login')}}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{config.config_calibre_dir}}</td>
|
||||
<td>{{config.get_Log_Level()}}</td>
|
||||
<td>{{config.config_port}}</td>
|
||||
<td>{{config.config_books_per_page}}</td>
|
||||
<td>{% if config.config_uploading %}<span class="glyphicon glyphicon-ok"></span>{% else %}<span class="glyphicon glyphicon-remove"></span>{% endif %}</td>
|
||||
<td>{% if config.config_public_reg %}<span class="glyphicon glyphicon-ok"></span>{% else %}<span class="glyphicon glyphicon-remove"></span>{% endif %}</td>
|
||||
<td>{% if config.config_anonbrowse %}<span class="glyphicon glyphicon-ok"></span>{% else %}<span class="glyphicon glyphicon-remove"></span>{% endif %}</td>
|
||||
<td>{% if config.config_remote_login %}<span class="glyphicon glyphicon-ok"></span>{% else %}<span class="glyphicon glyphicon-remove"></span>{% endif %}</td>
|
||||
</table>
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
<div class="Row">
|
||||
<div class="col-xs-6 col-sm-6">{{_('Calibre DB dir')}}</div>
|
||||
<div class="col-xs-6 col-sm-6">{{config.config_calibre_dir}}</div>
|
||||
</div>
|
||||
<div class="Row">
|
||||
<div class="col-xs-6 col-sm-6">{{_('Log Level')}}</div>
|
||||
<div class="col-xs-6 col-sm-6">{{config.get_Log_Level()}}</div>
|
||||
</div>
|
||||
<div class="Row">
|
||||
<div class="col-xs-6 col-sm-6">{{_('Port')}}</div>
|
||||
<div class="col-xs-6 col-sm-6">{{config.config_port}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
<div class="Row">
|
||||
<div class="col-xs-6 col-sm-7">{{_('Books per page')}}</div>
|
||||
<div class="col-xs-6 col-sm-5">{{config.config_books_per_page}}</div>
|
||||
</div>
|
||||
<div class="Row">
|
||||
<div class="col-xs-6 col-sm-7">{{_('Uploading')}}</div>
|
||||
<div class="col-xs-6 col-sm-5">{% if config.config_uploading %}<span class="glyphicon glyphicon-ok"></span>{% else %}<span class="glyphicon glyphicon-remove"></span>{% endif %}</div>
|
||||
</div>
|
||||
<div class="Row">
|
||||
<div class="col-xs-6 col-sm-7">{{_('Public registration')}}</div>
|
||||
<div class="col-xs-6 col-sm-5">{% if config.config_public_reg %}<span class="glyphicon glyphicon-ok"></span>{% else %}<span class="glyphicon glyphicon-remove"></span>{% endif %}</div>
|
||||
</div>
|
||||
<div class="Row">
|
||||
<div class="col-xs-6 col-sm-7">{{_('Remote Login')}}</div>
|
||||
<div class="col-xs-6 col-sm-5">{% if config.config_remote_login %}<span class="glyphicon glyphicon-ok"></span>{% else %}<span class="glyphicon glyphicon-remove"></span>{% endif %}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-12">
|
||||
<p></p>
|
||||
<div class="btn btn-default"><a href="{{url_for('configuration')}}">{{_('Basic Configuration')}}</a></div>
|
||||
<div class="btn btn-default"><a href="{{url_for('view_configuration')}}">{{_('UI Configuration')}}</a></div>
|
||||
</div>
|
||||
<h2>{{_('Administration')}}</h2>
|
||||
<div>{{_('Current commit timestamp')}}: <span>{{commit}} </span></div>
|
||||
<div class="hidden" id="update_info">{{_('Newest commit timestamp')}}: <span></span></div>
|
||||
<p></p>
|
||||
<div class="btn btn-default" id="restart_database">{{_('Reconnect to Calibre DB')}}</div>
|
||||
<div class="btn btn-default" data-toggle="modal" data-target="#RestartDialog">{{_('Restart Calibre-web')}}</div>
|
||||
<div class="btn btn-default" data-toggle="modal" data-target="#ShutdownDialog">{{_('Stop Calibre-web')}}</div>
|
||||
<div class="btn btn-default" data-toggle="modal" data-target="#RestartDialog">{{_('Restart Calibre-Web')}}</div>
|
||||
<div class="btn btn-default" data-toggle="modal" data-target="#ShutdownDialog">{{_('Stop Calibre-Web')}}</div>
|
||||
<div class="btn btn-default" id="check_for_update">{{_('Check for update')}}</div>
|
||||
<div class="btn btn-default hidden" id="perform_update" data-toggle="modal" data-target="#UpdateprogressDialog">{{_('Perform Update')}}</div>
|
||||
</div>
|
||||
@@ -95,7 +103,7 @@
|
||||
<div class="modal-content">
|
||||
<div class="modal-header bg-info"></div>
|
||||
<div class="modal-body text-center">
|
||||
<p>{{_('Do you really want to restart Calibre-web?')}}</p>
|
||||
<p>{{_('Do you really want to restart Calibre-Web?')}}</p>
|
||||
<div id="spinner" class="spinner" style="display:none;">
|
||||
<img id="img-spinner" src="/static/css/images/loading-icon.gif"/>
|
||||
</div>
|
||||
@@ -113,7 +121,7 @@
|
||||
<div class="modal-header bg-info">
|
||||
</div>
|
||||
<div class="modal-body text-center">
|
||||
<p>{{_('Do you really want to stop Calibre-web?')}}</p>
|
||||
<p>{{_('Do you really want to stop Calibre-Web?')}}</p>
|
||||
<button type="button" class="btn btn-default" id="shutdown" data-dismiss="modal">{{_('Ok')}}</button>
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{_('Back')}}</button>
|
||||
</div>
|
||||
|
||||
@@ -60,7 +60,11 @@
|
||||
<label for="cover_url">{{_('Cover URL (jpg, cover is downloaded and stored in database, field is afterwards empty again)')}}</label>
|
||||
<input type="text" class="form-control" name="cover_url" id="cover_url" value="">
|
||||
</div>
|
||||
|
||||
<div class="form-group" aria-label="Upload cover from local drive">
|
||||
<label class="btn btn-default btn-file" for="btn-upload-cover">{{ _('Upload Cover from local drive') }}</label>
|
||||
<div class="upload-cover-input-text" id="upload-cover"></div>
|
||||
<input id="btn-upload-cover" name="btn-upload-cover" type="file">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="pubdate">{{_('Publishing date')}}</label>
|
||||
<div style="position: relative">
|
||||
@@ -70,7 +74,7 @@
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="languages">{{_('Language')}}</label>
|
||||
<input type="text" class="form-control typeahead" name="languages" id="languages" value="{% for language in book.languages %}{{language.language_name.strip()}}, {% endfor %}">
|
||||
<input type="text" class="form-control typeahead" name="languages" id="languages" value="{% for language in book.languages %}{{language.language_name.strip()}}{% endfor %}">
|
||||
</div>
|
||||
|
||||
{% if cc|length > 0 %}
|
||||
@@ -170,7 +174,7 @@
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header bg-danger text-center">
|
||||
<span>{{_('Are really you sure?')}}</span>
|
||||
<span>{{_('Are you really sure?')}}</span>
|
||||
</div>
|
||||
<div class="modal-body text-center">
|
||||
<span>{{_('Book will be deleted from Calibre database')}}</span>
|
||||
@@ -255,7 +259,7 @@
|
||||
var i18nMsg = {
|
||||
'loading': {{_('Loading...')|safe|tojson}},
|
||||
'search_error': {{_('Search error!')|safe|tojson}},
|
||||
'no_result': {{_('No Result! Please try anonther keyword.')|safe|tojson}},
|
||||
'no_result': {{_('No Result(s) found! Please try aonther keyword.')|safe|tojson}},
|
||||
'author': {{_('Author')|safe|tojson}},
|
||||
'publisher': {{_('Publisher')|safe|tojson}},
|
||||
'description': {{_('Description')|safe|tojson}},
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
{% extends "layout.html" %}
|
||||
{% 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 %}
|
||||
<div class="discover">
|
||||
<h1>{{title}}</h1>
|
||||
@@ -35,6 +39,52 @@
|
||||
<button type="submit" name="test" value="test" class="btn btn-default">{{_('Save settings and send Test E-Mail')}}</button>
|
||||
<a href="{{ url_for('admin') }}" id="back" class="btn btn-default">{{_('Back')}}</a>
|
||||
</form>
|
||||
|
||||
{% if g.allow_registration %}
|
||||
<h2>{{_('Allowed domains for registering')}}</h2>
|
||||
<table class="table table-no-bordered" id="domain-table" data-url="{{url_for('list_domain')}}" data-id-field="id" data-show-header="false" data-editable-mode="inline">
|
||||
<thead>
|
||||
<tr>
|
||||
<th data-field="domain" id="domain" data-editable-type="text" data-editable-url="{{ url_for('edit_domain')}}" data-editable="true" data-editable-title="{{_('Enter domainname')}}"></th>
|
||||
<th data-field="id" id="id" data-visible="false"></th>
|
||||
<th data-align="right" data-formatter="TableActions"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
<form id="domain_add" action="{{ url_for('add_domain')}}" method="POST">
|
||||
<div class="form-group required">
|
||||
<label for="domainname">{{_('Add Domain')}}</label>
|
||||
<input type="text" class="form-control" name="domainname" id="domainname" >
|
||||
</div>
|
||||
<button id="domain_submit" class="btn btn-default">{{_('Add')}}</button>
|
||||
</form>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% block modal %}
|
||||
{% if g.allow_registration %}
|
||||
<div id="DeleteDomain" class="modal fade" role="dialog">
|
||||
<div class="modal-dialog modal-sm">
|
||||
<!-- Modal content-->
|
||||
<div class="modal-content">
|
||||
<div class="modal-header bg-danger">
|
||||
</div>
|
||||
<div class="modal-body text-center">
|
||||
<p>{{_('Do you really want to delete this domain rule?')}}</p>
|
||||
<button type="button" class="btn btn-danger" id="btndeletedomain" >{{_('Delete')}}</button>
|
||||
<!--a href="{{ url_for('delete_domain')}}" class="btn btn-danger">{{_('Delete')}}</a-->
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{_('Back')}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{% block js %}
|
||||
{% if g.allow_registration %}
|
||||
<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>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
|
||||
+13
-13
@@ -124,7 +124,7 @@
|
||||
{% if g.user.show_sorted() %}
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
|
||||
<span class="glyphicon glyphicon-sort-by-attributes"></span> {{_('Sorted Books')}}
|
||||
<span class="glyphicon glyphicon-sort-by-attributes"></span>{{_('Sorted Books')}}
|
||||
<span class="caret"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
@@ -136,44 +136,44 @@
|
||||
</li>
|
||||
{%endif%}
|
||||
{% if g.user.show_hot_books() %}
|
||||
<li id="nav_hot" {% if page == 'hot' %}class="active"{% endif %}><a href="{{url_for('hot_books')}}"><span class="glyphicon glyphicon-fire"></span> {{_('Hot Books')}}</a></li>
|
||||
<li id="nav_hot" {% if page == 'hot' %}class="active"{% endif %}><a href="{{url_for('hot_books')}}"><span class="glyphicon glyphicon-fire"></span>{{_('Hot Books')}}</a></li>
|
||||
{%endif%}
|
||||
{% if g.user.show_best_rated_books() %}
|
||||
<li {% if page == 'rated' %}class="active"{% endif %}><a href="{{url_for('best_rated_books')}}"><span class="glyphicon glyphicon-star"></span> {{_('Best rated Books')}}</a></li>
|
||||
<li {% if page == 'rated' %}class="active"{% endif %}><a href="{{url_for('best_rated_books')}}"><span class="glyphicon glyphicon-star"></span>{{_('Best rated Books')}}</a></li>
|
||||
{%endif%}
|
||||
{% if g.user.show_read_and_unread() %}
|
||||
{% if not g.user.is_anonymous %}
|
||||
<li {% if page == 'read' %}class="active"{% endif %}><a href="{{url_for('read_books')}}"><span class="glyphicon glyphicon-eye-open"></span> {{_('Read Books')}}</a></li>
|
||||
<li {% if page == 'read' %}class="active"{% endif %}><a href="{{url_for('read_books')}}"><span class="glyphicon glyphicon-eye-open"></span>{{_('Read Books')}}</a></li>
|
||||
{%endif%}
|
||||
<li {% if page == 'read' %}class="active"{% endif %}><a href="{{url_for('unread_books')}}"><span class="glyphicon glyphicon-eye-close"></span> {{_('Unread Books')}}</a></li>
|
||||
<li {% if page == 'read' %}class="active"{% endif %}><a href="{{url_for('unread_books')}}"><span class="glyphicon glyphicon-eye-close"></span>{{_('Unread Books')}}</a></li>
|
||||
{%endif%}
|
||||
{% if g.user.show_random_books() %}
|
||||
<li id="nav_rand" {% if page == 'discover' %}class="active"{% endif %}><a href="{{url_for('discover')}}"><span class="glyphicon glyphicon-random"></span> {{_('Discover')}}</a></li>
|
||||
<li id="nav_rand" {% if page == 'discover' %}class="active"{% endif %}><a href="{{url_for('discover')}}"><span class="glyphicon glyphicon-random"></span>{{_('Discover')}}</a></li>
|
||||
{%endif%}
|
||||
{% if g.user.show_category() %}
|
||||
<li id="nav_cat" {% if page == 'discover' %}class="category"{% endif %}><a href="{{url_for('category_list')}}"><span class="glyphicon glyphicon-inbox"></span> {{_('Categories')}}</a></li>
|
||||
<li id="nav_cat" {% if page == 'discover' %}class="category"{% endif %}><a href="{{url_for('category_list')}}"><span class="glyphicon glyphicon-inbox"></span>{{_('Categories')}}</a></li>
|
||||
{%endif%}
|
||||
{% if g.user.show_series() %}
|
||||
<li id="nav_serie" {% if page == 'series' %}class="active"{% endif %}><a href="{{url_for('series_list')}}"><span class="glyphicon glyphicon-bookmark"></span> {{_('Series')}}</a></li>
|
||||
<li id="nav_serie" {% if page == 'series' %}class="active"{% endif %}><a href="{{url_for('series_list')}}"><span class="glyphicon glyphicon-bookmark"></span>{{_('Series')}}</a></li>
|
||||
{%endif%}
|
||||
{% if g.user.show_author() %}
|
||||
<li id="nav_author" {% if page == 'author' %}class="active"{% endif %}><a href="{{url_for('author_list')}}"><span class="glyphicon glyphicon-user"></span> {{_('Authors')}}</a></li>
|
||||
<li id="nav_author" {% if page == 'author' %}class="active"{% endif %}><a href="{{url_for('author_list')}}"><span class="glyphicon glyphicon-user"></span>{{_('Authors')}}</a></li>
|
||||
{%endif%}
|
||||
{% if g.user.filter_language() == 'all' and g.user.show_language() %}
|
||||
<li id="nav_lang" {% if page == 'language' %}class="active"{% endif %}><a href="{{url_for('language_overview')}}"><span class="glyphicon glyphicon-flag"></span> {{_('Languages')}} </a></li>
|
||||
<li id="nav_lang" {% if page == 'language' %}class="active"{% endif %}><a href="{{url_for('language_overview')}}"><span class="glyphicon glyphicon-flag"></span>{{_('Languages')}} </a></li>
|
||||
{%endif%}
|
||||
{% if g.user.is_authenticated or g.user.is_anonymous %}
|
||||
<li class="nav-head hidden-xs">{{_('Public Shelves')}}</li>
|
||||
{% for shelf in g.public_shelfes %}
|
||||
<li><a href="{{url_for('show_shelf', shelf_id=shelf.id)}}"><span class="glyphicon glyphicon-list"></span> {{shelf.name}}</a></li>
|
||||
<li><a href="{{url_for('show_shelf', shelf_id=shelf.id)}}"><span class="glyphicon glyphicon-list"></span>{{shelf.name}}</a></li>
|
||||
{% endfor %}
|
||||
<li class="nav-head hidden-xs">{{_('Your Shelves')}}</li>
|
||||
{% for shelf in g.user.shelf %}
|
||||
<li><a href="{{url_for('show_shelf', shelf_id=shelf.id)}}"><span class="glyphicon glyphicon-list"></span> {{shelf.name}}</a></li>
|
||||
<li><a href="{{url_for('show_shelf', shelf_id=shelf.id)}}"><span class="glyphicon glyphicon-list"></span>{{shelf.name}}</a></li>
|
||||
{% endfor %}
|
||||
{% if not g.user.is_anonymous %}
|
||||
<li id="nav_createshelf" class="create-shelf"><a href="{{url_for('create_shelf')}}">{{_('Create a Shelf')}}</a></li>
|
||||
<li id="nav_about" {% if page == 'stat' %}class="active"{% endif %}><a href="{{url_for('stats')}}"><span class="glyphicon glyphicon-info-sign"></span> {{_('About')}}</a></li>
|
||||
<li id="nav_about" {% if page == 'stat' %}class="active"{% endif %}><a href="{{url_for('stats')}}"><span class="glyphicon glyphicon-info-sign"></span>{{_('About')}}</a></li>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
|
||||
<LongName>{{instance}}</LongName>
|
||||
<ShortName>{{instance}}</ShortName>
|
||||
<Description>{{_('Calibre Web ebook catalog')}}</Description>
|
||||
<Description>{{_('Calibre-Web ebook catalog')}}</Description>
|
||||
<Developer>Janeczku</Developer>
|
||||
<Contact>https://github.com/janeczku/calibre-web</Contact>
|
||||
<Url type="text/html"
|
||||
|
||||
@@ -7,10 +7,10 @@
|
||||
<label for="nickname">{{_('Username')}}</label>
|
||||
<input type="text" class="form-control" id="nickname" name="nickname" placeholder="{{_('Choose a username')}}" required>
|
||||
</div>
|
||||
<div class="form-group required">
|
||||
<!--div class="form-group required">
|
||||
<label for="password">{{_('Password')}}</label>
|
||||
<input type="password" class="form-control" id="password" name="password" placeholder="{{_('Choose a password')}}" required>
|
||||
</div>
|
||||
</div-->
|
||||
<div class="form-group required">
|
||||
<label for="email">{{_('Email address')}}</label>
|
||||
<input type="email" class="form-control" id="email" name="email" placeholder="{{_('Your email address')}}" required>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
{% block body %}
|
||||
<h3>{{_('About')}}</h3>
|
||||
<p>{{instance}} powered by
|
||||
<a href="https://github.com/janeczku/calibre-web" title="Calibre-Web">Calibre Web</a>.
|
||||
<a href="https://github.com/janeczku/calibre-web" title="Calibre-Web">Calibre-Web</a>.
|
||||
</p>
|
||||
<h3>{{_('Calibre library statistics')}}</h3>
|
||||
<table id="stats" class="table">
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
{% block js %}
|
||||
<script src="{{ url_for('static', filename='js/libs/bootstrap-table/bootstrap-table.min.js') }}"></script>
|
||||
<script>
|
||||
// ToDo: Move to js file
|
||||
$('#table').bootstrapTable({
|
||||
formatNoMatches: function () {
|
||||
return '';
|
||||
|
||||
@@ -14,10 +14,16 @@
|
||||
<input type="email" class="form-control" name="email" id="email" value="{{ content.email if content.email != None }}" autocomplete="off">
|
||||
</div>
|
||||
{% if ( g.user and g.user.role_passwd() or g.user.role_admin() ) and not content.role_anonymous() %}
|
||||
<div class="form-group">
|
||||
<label for="password">{{_('Password')}}</label>
|
||||
<input type="password" class="form-control" name="password" id="password" value="" autocomplete="off">
|
||||
</div>
|
||||
{% if g.user and g.user.role_admin() and g.allow_registration and not new_user and not profile %}
|
||||
<div class="btn btn-default" id="resend_password"><a href="{{url_for('reset_password', user_id = content.id) }}">{{_('Reset user Password')}}</a></div>
|
||||
{% else %}
|
||||
<div class="form-group">
|
||||
<label for="password">{{_('Password')}}</label>
|
||||
<input type="password" class="form-control" name="password" id="password" value="" autocomplete="off">
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% endif %}
|
||||
<div class="form-group">
|
||||
<label for="kindle_mail">{{_('Kindle E-Mail')}}</label>
|
||||
|
||||
Reference in New Issue
Block a user