2015-08-02 20:59:11 +02:00
|
|
|
{% extends "layout.html" %}
|
|
|
|
{% block body %}
|
2018-09-09 14:01:28 +02:00
|
|
|
<div class="container-fluid">
|
2018-09-09 13:51:28 +02:00
|
|
|
<div class="row">
|
|
|
|
<div class="col">
|
|
|
|
<h2>{{_('User list')}}</h2>
|
|
|
|
<table class="table table-striped" id="table_user">
|
|
|
|
<tr>
|
|
|
|
<th>{{_('Nickname')}}</th>
|
|
|
|
<th>{{_('E-mail')}}</th>
|
|
|
|
<th>{{_('Kindle')}}</th>
|
|
|
|
<th>{{_('DLS')}}</th>
|
|
|
|
<th class="hidden-xs">{{_('Admin')}}</th>
|
|
|
|
<th class="hidden-xs">{{_('Download')}}</th>
|
|
|
|
<th class="hidden-xs">{{_('Upload')}}</th>
|
|
|
|
<th class="hidden-xs">{{_('Edit')}}</th>
|
|
|
|
</tr>
|
|
|
|
{% for user in content %}
|
|
|
|
{% if not user.role_anonymous() or config.config_anonbrowse %}
|
|
|
|
<tr>
|
|
|
|
<td><a href="{{url_for('edit_user', user_id=user.id)}}">{{user.nickname}}</a></td>
|
|
|
|
<td>{{user.email}}</td>
|
|
|
|
<td>{{user.kindle_mail}}</td>
|
|
|
|
<td>{{user.downloads.count()}}</td>
|
|
|
|
<td class="hidden-xs">{% if user.role_admin() %}<span class="glyphicon glyphicon-ok"></span>{% else %}<span class="glyphicon glyphicon-remove"></span>{% endif %}</td>
|
|
|
|
<td class="hidden-xs">{% if user.role_download() %}<span class="glyphicon glyphicon-ok"></span>{% else %}<span class="glyphicon glyphicon-remove"></span>{% endif %}</td>
|
|
|
|
<td class="hidden-xs">{% if user.role_upload() %}<span class="glyphicon glyphicon-ok"></span>{% else %}<span class="glyphicon glyphicon-remove"></span>{% endif %}</td>
|
|
|
|
<td class="hidden-xs">{% if user.role_edit() %}<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>
|
2018-08-24 15:48:09 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
2018-09-09 13:51:28 +02:00
|
|
|
|
|
|
|
<div class="row">
|
|
|
|
<div class="col">
|
|
|
|
<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 class="hidden-xs">{{_('From mail')}}</th>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>{{email.mail_server}}</td>
|
|
|
|
<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 class="hidden-xs">{{email.mail_from}}</td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
<div class="btn btn-default" id="admin_edit_email"><a href="{{url_for('edit_mailsettings')}}">{{_('Change SMTP settings')}}</a></div>
|
2018-08-30 09:32:42 +02:00
|
|
|
</div>
|
2018-09-09 13:51:28 +02:00
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="row">
|
|
|
|
<div class="col">
|
|
|
|
<h2>{{_('Configuration')}}</h2>
|
2018-09-09 14:18:56 +02:00
|
|
|
<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">{{_('Anonymous browsing')}}</div>
|
|
|
|
<div class="col-xs-6 col-sm-5">{% if config.config_anonbrowse %}<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>
|
2018-09-23 19:15:50 +02:00
|
|
|
<div class="btn btn-default"><a id="basic_config" href="{{url_for('configuration')}}">{{_('Basic Configuration')}}</a></div>
|
|
|
|
<div class="btn btn-default"><a id="view_config" href="{{url_for('view_configuration')}}">{{_('UI Configuration')}}</a></div>
|
2018-08-24 15:48:09 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
2018-09-09 13:51:28 +02:00
|
|
|
|
|
|
|
<div class="row">
|
|
|
|
<div class="col">
|
|
|
|
<h2>{{_('Administration')}}</h2>
|
|
|
|
<div class="btn btn-default" id="restart_database">{{_('Reconnect to Calibre DB')}}</div>
|
2018-09-23 19:15:50 +02:00
|
|
|
<div class="btn btn-default" id="admin_restart"data-toggle="modal" data-target="#RestartDialog">{{_('Restart Calibre-Web')}}</div>
|
|
|
|
<div class="btn btn-default" id="admin_stop" data-toggle="modal" data-target="#ShutdownDialog">{{_('Stop Calibre-Web')}}</div>
|
2018-08-30 09:32:42 +02:00
|
|
|
</div>
|
2018-08-24 15:48:09 +02:00
|
|
|
</div>
|
2018-09-09 14:12:12 +02:00
|
|
|
|
|
|
|
<div class="row">
|
|
|
|
<div class="col">
|
|
|
|
<h2>{{_('Update')}}</h2>
|
2018-09-09 21:54:51 +02:00
|
|
|
<table class="table table-striped" id="update_table">
|
|
|
|
<thead>
|
|
|
|
<tr>
|
|
|
|
<th class="col-xs-3">{{_('Version')}}</th>
|
|
|
|
<th class="col-xl-8">{{_('Details')}}</th>
|
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
|
|
|
<tr id="current_version">
|
2018-09-14 21:12:45 +02:00
|
|
|
<td>{{commit}} </td>
|
|
|
|
<td><i>{{_('Current version')}}</i></td>
|
2018-09-09 21:54:51 +02:00
|
|
|
</tr>
|
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
|
2018-09-09 14:12:12 +02:00
|
|
|
<div class="hidden" id="update_error"> <span>{{update_error}}</span></div>
|
2018-09-09 13:51:28 +02:00
|
|
|
<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>
|
2018-08-24 15:48:09 +02:00
|
|
|
</div>
|
2018-09-09 13:51:28 +02:00
|
|
|
</div>
|
2015-08-02 20:59:11 +02:00
|
|
|
</div>
|
2018-09-09 14:01:28 +02:00
|
|
|
|
2017-01-22 16:44:37 +01:00
|
|
|
<!-- Modal -->
|
|
|
|
<div id="RestartDialog" class="modal fade" role="dialog">
|
|
|
|
<div class="modal-dialog modal-sm">
|
|
|
|
<!-- Modal content-->
|
|
|
|
<div class="modal-content">
|
2017-02-20 19:52:00 +01:00
|
|
|
<div class="modal-header bg-info"></div>
|
2017-01-22 16:44:37 +01:00
|
|
|
<div class="modal-body text-center">
|
2018-08-24 15:48:09 +02:00
|
|
|
<p>{{_('Do you really want to restart Calibre-Web?')}}</p>
|
2017-02-20 19:52:00 +01:00
|
|
|
<div id="spinner" class="spinner" style="display:none;">
|
2019-01-11 08:36:28 +01:00
|
|
|
<img id="img-spinner" src="{{ url_for('static', filename='css/images/loading-icon.gif') }}"/>
|
2017-02-20 19:52:00 +01:00
|
|
|
</div>
|
|
|
|
<p></p>
|
|
|
|
<button type="button" class="btn btn-default" id="restart" >{{_('Ok')}}</button>
|
2017-01-22 16:44:37 +01:00
|
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">{{_('Back')}}</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div id="ShutdownDialog" class="modal fade" role="dialog">
|
|
|
|
<div class="modal-dialog modal-sm">
|
|
|
|
<!-- Modal content-->
|
|
|
|
<div class="modal-content">
|
|
|
|
<div class="modal-header bg-info">
|
|
|
|
</div>
|
|
|
|
<div class="modal-body text-center">
|
2018-08-24 15:48:09 +02:00
|
|
|
<p>{{_('Do you really want to stop Calibre-Web?')}}</p>
|
2017-01-22 16:44:37 +01:00
|
|
|
<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>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2017-02-20 19:52:00 +01:00
|
|
|
<div id="UpdateprogressDialog" class="modal fade" role="dialog">
|
|
|
|
<div class="modal-dialog modal-sm">
|
|
|
|
<!-- Modal content-->
|
|
|
|
<div class="modal-content">
|
|
|
|
<div class="modal-header bg-info text-center">
|
|
|
|
<span>{{_('Updating, please do not reload page')}}</span>
|
|
|
|
</div>
|
|
|
|
<div class="modal-body text-center">
|
|
|
|
<div id="spinner2" class="spinner2" style="display:none;">
|
2019-01-14 20:27:53 +01:00
|
|
|
<img id="img-spinner2" src="{{ url_for('static', filename='css/images/loading-icon.gif') }}"/>
|
2017-02-20 19:52:00 +01:00
|
|
|
</div>
|
|
|
|
<p></p>
|
|
|
|
<div id="Updatecontent"></div>
|
|
|
|
<p></p>
|
|
|
|
<button type="button" class="btn btn-default hidden" id="updateFinished" data-dismiss="modal">{{_('Ok')}}</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2017-01-22 16:44:37 +01:00
|
|
|
{% endblock %}
|