2016-05-17 14:09:24 +08:00
|
|
|
{% load avatar_tags i18n %}
|
2016-03-16 13:30:00 +08:00
|
|
|
|
|
|
|
<script type="text/template" id="side-nav-tmpl">
|
|
|
|
<h3 class="hd">{% trans "System Admin" %}</h3>
|
|
|
|
<ul class="side-tabnav-tabs">
|
2016-04-23 18:07:09 +08:00
|
|
|
<li class="tab <% if (cur_tab == 'dashboard') { %> tab-cur<% } %>">
|
2016-03-16 13:30:00 +08:00
|
|
|
<a href="{{ SITE_ROOT }}sysadmin/#dashboard/"><span class="sf2-icon-wrench"></span>{% trans "Info" %}</a>
|
|
|
|
</li>
|
2016-04-23 18:07:09 +08:00
|
|
|
<li class="tab <% if (cur_tab == 'devices') { %> tab-cur<% } %>"> <a href="{{ SITE_ROOT }}sysadmin/#desktop-devices/"><span class="sf2-icon-monitor"></span>{% trans "Devices" %}</a>
|
|
|
|
</li>
|
2016-03-16 13:30:00 +08:00
|
|
|
<li class="tab">
|
|
|
|
<a href="{% url "sys_settings" %}"><span class="sf2-icon-cog2"></span>{% trans "Settings" %}</a>
|
|
|
|
</li>
|
|
|
|
<li class="tab">
|
|
|
|
<a href="{{ SITE_ROOT }}sys/seafadmin/"><span class="sf2-icon-library"></span>{% trans "Libraries" %}</a>
|
|
|
|
</li>
|
|
|
|
<li class="tab">
|
|
|
|
<a href="{{ SITE_ROOT }}sys/useradmin/"><span class="sf2-icon-user"></span>{% trans "Users" %}</a>
|
|
|
|
</li>
|
|
|
|
<li class="tab">
|
|
|
|
<a href="{{ SITE_ROOT }}sys/groupadmin/"><span class="sf2-icon-group"></span>{% trans "Groups" %}</a>
|
|
|
|
</li>
|
|
|
|
{% if multi_tenancy %}
|
|
|
|
<li class="tab">
|
|
|
|
<a href="{{ SITE_ROOT }}sys/orgadmin/"><span class="sf2-icon-organization"></span>{% trans "Organizations" %}</a>
|
|
|
|
</li>
|
|
|
|
{% endif %}
|
2016-04-23 18:07:09 +08:00
|
|
|
|
|
|
|
{% if multi_institution %}
|
|
|
|
<li class="tab">
|
|
|
|
<a href="{{ SITE_ROOT }}sys/instadmin/"><span class="sf2-icon-organization"></span>{% trans "Institutions" %}</a>
|
|
|
|
</li>
|
|
|
|
{% endif %}
|
|
|
|
|
2016-03-16 13:30:00 +08:00
|
|
|
<li class="tab">
|
|
|
|
<a href="{{ SITE_ROOT }}sys/notificationadmin/"><span class="sf2-icon-msgs"></span>{% trans "Notifications" %}</a>
|
|
|
|
</li>
|
|
|
|
<li class="tab">
|
|
|
|
<a href="{{ SITE_ROOT }}sys/publinkadmin/"><span class="sf2-icon-link"></span>{% trans "Links" %}</a>
|
|
|
|
</li>
|
|
|
|
{% if traffic_stats_enabled %}
|
|
|
|
<li class="tab">
|
|
|
|
<a href="{{ SITE_ROOT }}sys/trafficadmin/"><span class="sf2-icon-histogram"></span>{% trans "Traffic" %}</a>
|
|
|
|
</li>
|
|
|
|
{% endif %}
|
|
|
|
{% if sysadmin_extra_enabled %}
|
|
|
|
<li class="tab">
|
|
|
|
<a href="{{ SITE_ROOT }}sys/loginadmin/"><span class="sf2-icon-clock"></span>{% trans "Logs" %}</a>
|
|
|
|
</li>
|
|
|
|
{% endif %}
|
|
|
|
{% if events_enabled %}
|
|
|
|
<li class="tab">
|
|
|
|
<a href="{{ SITE_ROOT }}sys/virus_scan_records/"><span class="sf2-icon-security"></span>{% trans "Virus Scan" %}</a>
|
|
|
|
</li>
|
|
|
|
{% endif %}
|
|
|
|
</ul>
|
|
|
|
</script>
|
2016-03-16 16:21:53 +08:00
|
|
|
|
2016-04-23 18:07:09 +08:00
|
|
|
<script type="text/template" id="sysinfo-header-tmpl">
|
2016-03-16 16:21:53 +08:00
|
|
|
<div class="header-bar">
|
|
|
|
<h3 class="">{% trans "Info" %}</h3>
|
|
|
|
</div>
|
2016-04-23 18:07:09 +08:00
|
|
|
<div class="sysinfo">
|
|
|
|
</div>
|
|
|
|
<span class="loading-icon loading-tip"></span>
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<script type="text/template" id="sysinfo-tmpl">
|
2016-03-16 16:21:53 +08:00
|
|
|
<dl>
|
|
|
|
<dt>{% trans "System Info" %}</dt>
|
|
|
|
<dd><% if (is_pro) { %>
|
|
|
|
{% trans "Professional Edition" %}
|
|
|
|
<% if (with_license) { %>
|
|
|
|
{% trans "expires on" %} <%- license.Expiration %>
|
|
|
|
<% } %>
|
|
|
|
<% } else { %>
|
|
|
|
{% trans "Community Edition" %}
|
|
|
|
<a href="http://manual.seafile.com/deploy_pro/migrate_from_seafile_community_server.html" target="_blank">{% trans "Upgrade to Pro Edition" %}</a>
|
|
|
|
<% } %>
|
|
|
|
</dd>
|
|
|
|
|
|
|
|
<dt>{% trans "Libraries" %}</dt>
|
|
|
|
<dd><%- repos_count %></dd>
|
|
|
|
|
|
|
|
<% if (is_pro) { %>
|
|
|
|
<dt>{% trans "Active Users" %} / {% trans "Total Users" %} / {% trans "Limits" %}</dt>
|
|
|
|
<dd>
|
|
|
|
<%- active_users_count %>
|
|
|
|
/
|
|
|
|
<%- users_count %>
|
|
|
|
/
|
|
|
|
<% if (with_license) { %>
|
|
|
|
<%- license.MaxUsers %>
|
|
|
|
<% } else { %>
|
|
|
|
--
|
|
|
|
<% } %>
|
|
|
|
</dd>
|
|
|
|
<% } else { %>
|
|
|
|
<dt>{% trans "Active Users" %} / {% trans "Total Users" %}</dt>
|
|
|
|
<dd>
|
|
|
|
<%- active_users_count %>
|
|
|
|
/
|
|
|
|
<%- users_count %>
|
|
|
|
</dd>
|
|
|
|
<% } %>
|
|
|
|
|
|
|
|
<dt>{% trans "Groups" %}</dt>
|
|
|
|
<dd><%- groups_count %></dd>
|
|
|
|
|
|
|
|
<% if (multi_tenancy_enabled) { %>
|
|
|
|
<dt>{% trans "Organizations" %}</dt>
|
|
|
|
<dd><%- org_count %></dd>
|
|
|
|
<% } %>
|
|
|
|
</dl>
|
|
|
|
</script>
|
2016-04-23 18:07:09 +08:00
|
|
|
|
|
|
|
<script type="text/template" id="admin-devices-tmpl">
|
2016-04-29 16:47:04 +08:00
|
|
|
<div class="hd ovhd">
|
2016-04-23 18:07:09 +08:00
|
|
|
<ul class="tab-tabs-nav fleft">
|
|
|
|
<li class="tab <% if (cur_tab == 'desktop') { %> ui-state-active <% } %>">
|
|
|
|
<a href="#desktop-devices/" class="a">{% trans "Desktop" %}</a>
|
|
|
|
</li>
|
|
|
|
<li class="tab <% if (cur_tab == 'mobile') { %> ui-state-active <% } %>">
|
|
|
|
<a href="#mobile-devices/" class="a">{% trans "Mobile" %}</a>
|
|
|
|
</li>
|
|
|
|
<% if (is_pro) { %>
|
|
|
|
<li class="tab <% if (cur_tab == 'errors') { %> ui-state-active <% } %>">
|
|
|
|
<a href="#device-errors/" class="a">{% trans "Errors" %}</a>
|
|
|
|
</li>
|
|
|
|
<% } %>
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
<table class="hide">
|
|
|
|
<thead>
|
|
|
|
<tr>
|
|
|
|
<th width="22%">{% trans "User" %}</th>
|
|
|
|
<th width="17%">{% trans "Platform" %} / {% trans "Version" %}</th>
|
|
|
|
<th width="22%">{% trans "Device Name" %}</th>
|
|
|
|
<th width="17%">{% trans "IP" %}</th>
|
|
|
|
<th width="17%">{% trans "Last Access" %}</th>
|
|
|
|
<th width="5%"></th>
|
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
<span class="loading-icon loading-tip"></span>
|
|
|
|
<div class="empty-tips hide">
|
|
|
|
<h2 class="alc">{% trans "No connected devices" %}</h2>
|
|
|
|
</div>
|
|
|
|
<div id="paginator">
|
|
|
|
<a class="js-previous hide" href="#">{% trans "Previous" %}</a>
|
|
|
|
<a class="js-next hide" href="#">{% trans "Next" %}</a>
|
|
|
|
</div>
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<script type="text/template" id="admin-device-item-tmpl">
|
|
|
|
<td><%- user %></td>
|
|
|
|
<td><%- platform %> / <%- client_version %></td>
|
|
|
|
<td><%- device_name %></td>
|
|
|
|
<td><%- last_login_ip %></td>
|
|
|
|
<td><time title='<%- time %>'><%- time_from_now %></time></td>
|
|
|
|
<td>
|
|
|
|
<div>
|
|
|
|
<span class="unlink-device op-icon sf2-icon-delete vh" title="{% trans "Unlink" %}"></span>
|
|
|
|
</div>
|
|
|
|
</td>
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<script type="text/template" id="admin-device-errors-tmpl">
|
2016-04-29 16:47:04 +08:00
|
|
|
<div class="hd ovhd">
|
2016-04-23 18:07:09 +08:00
|
|
|
<ul class="tab-tabs-nav fleft">
|
|
|
|
<li class="tab <% if (cur_tab == 'desktop') { %> ui-state-active <% } %>">
|
|
|
|
<a href="#desktop-devices/" class="a">{% trans "Desktop" %}</a>
|
|
|
|
</li>
|
|
|
|
<li class="tab <% if (cur_tab == 'mobile') { %> ui-state-active <% } %>">
|
|
|
|
<a href="#mobile-devices/" class="a">{% trans "Mobile" %}</a>
|
|
|
|
</li>
|
|
|
|
<li class="tab <% if (cur_tab == 'errors') { %> ui-state-active <% } %>">
|
|
|
|
<a href="#device-errors/" class="a">{% trans "Errors" %}</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
2016-04-29 15:32:57 +08:00
|
|
|
<button id="clean-device-errors" class="fright hide"><span class="vam">{% trans "Clean" %}</span></button>
|
2016-04-23 18:07:09 +08:00
|
|
|
</div>
|
|
|
|
<table class="hide">
|
|
|
|
<thead>
|
|
|
|
<tr>
|
|
|
|
<th width="15%">{% trans "User" %}</th>
|
|
|
|
<th width="17%">{% trans "Device" %} / {% trans "Version" %}</th>
|
|
|
|
<th width="18%">{% trans "IP" %}</th>
|
|
|
|
<th width="15%">{% trans "Library" %}</th>
|
|
|
|
<th width="17%">{% trans "Error" %}</th>
|
|
|
|
<th width="18%">{% trans "Time" %}</th>
|
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
<span class="loading-icon loading-tip"></span>
|
|
|
|
<div class="empty-tips hide">
|
|
|
|
<h2 class="alc">{% trans "No sync errors" %}</h2>
|
|
|
|
</div>
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<script type="text/template" id="admin-device-error-tmpl">
|
|
|
|
<td>
|
|
|
|
<a href="{{ SITE_ROOT }}useradmin/info/<%- email %>/"><%- email %></a>
|
|
|
|
</td>
|
|
|
|
<td><%- device_name %> / <%- client_version %></td>
|
|
|
|
<td><%- device_ip %>
|
|
|
|
<td>
|
|
|
|
<a href="{{ SITE_ROOT }}sys/seafadmin/repo/<%- repo_id %>/"><%- repo_name %></a>
|
|
|
|
</td>
|
|
|
|
<td><%- error_msg %></td>
|
|
|
|
<td><time title='<%- time %>'><%- time_from_now %></time></td>
|
|
|
|
</script>
|
2016-05-17 14:09:24 +08:00
|
|
|
|
|
|
|
<script type="text/template" id="user-info-popup-tmpl">
|
|
|
|
<div class="outer-caret up-outer-caret"><div class="inner-caret"></div></div>
|
|
|
|
<div class="popover-con">
|
|
|
|
<div class="item ovhd">
|
|
|
|
{% avatar request.user 36 %}
|
|
|
|
<div class="txt">
|
|
|
|
<%- app.pageOptions.name %><br />
|
|
|
|
<%- app.pageOptions.email %>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="loading-icon loading-tip"></div>
|
|
|
|
<p class="error alc hide"></p>
|
|
|
|
<div id="space-traffic" class="hide"></div>
|
|
|
|
<a class="item" href="{{ SITE_ROOT }}profile/">{% trans "Settings" %}</a>
|
|
|
|
<a href="{{ SITE_ROOT }}accounts/logout/" class="item" id="logout">{% trans "Log out" %}</a>
|
|
|
|
</div>
|
|
|
|
</script>
|