mirror of
https://github.com/discourse/discourse.git
synced 2024-11-25 04:19:05 +08:00
284 lines
10 KiB
Handlebars
284 lines
10 KiB
Handlebars
<div class="dashboard-left">
|
|
{{#if foundProblems}}
|
|
<div class="dashboard-stats detected-problems">
|
|
<div class="look-here"><i class="icon icon-warning-sign"></i></div>
|
|
<div class="problem-messages">
|
|
<p {{bindAttr class="loadingProblems:invisible"}}>
|
|
{{i18n admin.dashboard.problems_found}}
|
|
<ul {{bindAttr class="loadingProblems:invisible"}}>
|
|
{{#each problem in problems}}
|
|
<li>{{{problem}}}</li>
|
|
{{/each}}
|
|
</ul>
|
|
</p>
|
|
<p class="actions">
|
|
<small>{{i18n admin.dashboard.last_checked}}: {{problemsTimestamp}}</small>
|
|
<button {{action refreshProblems}} class="btn btn-small"><i class="icon icon-refresh"></i>{{i18n admin.dashboard.refresh_problems}}</button>
|
|
</p>
|
|
</div>
|
|
<div class="clearfix"></div>
|
|
</div>
|
|
{{else}}
|
|
{{#if thereWereProblems}}
|
|
<div class="dashboard-stats detected-problems">
|
|
<div class="look-here"> </div>
|
|
<div class="problem-messages">
|
|
<p>
|
|
{{i18n admin.dashboard.no_problems}}
|
|
<button {{action refreshProblems}} class="btn btn-small"><i class="icon icon-refresh"></i>{{i18n admin.dashboard.refresh_problems}}</button>
|
|
</p>
|
|
</div>
|
|
<div class="clearfix"></div>
|
|
</div>
|
|
{{/if}}
|
|
{{/if}}
|
|
|
|
{{#if Discourse.SiteSettings.version_checks}}
|
|
<div {{bindAttr class=":dashboard-stats :version-check versionCheck.critical_updates:critical:normal"}}>
|
|
<table class="table table-condensed table-hover">
|
|
<thead>
|
|
<tr>
|
|
<th> </th>
|
|
<th>{{i18n admin.dashboard.installed_version}}</th>
|
|
<th>{{i18n admin.dashboard.latest_version}}</th>
|
|
<th> </th>
|
|
<th> </th>
|
|
</tr>
|
|
</thead>
|
|
{{#unless loading}}
|
|
<tbody>
|
|
<td class="title">{{i18n admin.dashboard.version}}</td>
|
|
<td class="version-number"><a {{bindAttr href="versionCheck.gitLink"}} target="_blank">{{ versionCheck.installed_version }}</a></td>
|
|
|
|
{{#if versionCheck.noCheckPerformed}}
|
|
<td class="version-number"> </td>
|
|
<td class="face">
|
|
<span class="icon critical-updates-available">☹</span>
|
|
</td>
|
|
<td class="version-notes">
|
|
<span class="normal-note">{{i18n admin.dashboard.no_check_performed}}</span>
|
|
</td>
|
|
{{else}}
|
|
{{#if versionCheck.staleData}}
|
|
<td class="version-number"> </td>
|
|
<td class="face">
|
|
<span class="icon critical-updates-available">☹</span>
|
|
</td>
|
|
<td class="version-notes">
|
|
<span class="normal-note">{{i18n admin.dashboard.stale_data}}</span>
|
|
</td>
|
|
{{else}}
|
|
<td class="version-number">{{ versionCheck.latest_version }}</td>
|
|
<td class="face">
|
|
{{#if versionCheck.upToDate }}
|
|
<span class='icon update-to-date'>☻</span>
|
|
{{else}}
|
|
<span {{bindAttr class=":icon versionCheck.critical_updates:critical-updates-available:updates-available"}}>
|
|
{{#if versionCheck.behindByOneVersion}}
|
|
☺
|
|
{{else}}
|
|
☹
|
|
{{/if}}
|
|
</span>
|
|
{{/if}}
|
|
</td>
|
|
<td class="version-notes">
|
|
{{#if versionCheck.upToDate }}
|
|
{{i18n admin.dashboard.up_to_date}}
|
|
{{else}}
|
|
<span class="critical-note">{{i18n admin.dashboard.critical_available}}</span>
|
|
<span class="normal-note">{{i18n admin.dashboard.updates_available}}</span>
|
|
{{i18n admin.dashboard.please_upgrade}}
|
|
{{/if}}
|
|
</td>
|
|
{{/if}}
|
|
{{/if}}
|
|
</tbody>
|
|
{{/unless}}
|
|
</table>
|
|
</div>
|
|
{{/if}}
|
|
|
|
<div class="dashboard-stats trust-levels">
|
|
<table class="table table-condensed table-hover">
|
|
<thead>
|
|
<tr>
|
|
<th> </th>
|
|
<th>0</th>
|
|
<th>1</th>
|
|
<th>2</th>
|
|
<th>3</th>
|
|
<th>4</th>
|
|
</tr>
|
|
</thead>
|
|
{{#unless loading}}
|
|
{{ render 'admin/templates/reports/trust_levels_report' users_by_trust_level tagName="tbody" }}
|
|
{{/unless}}
|
|
</table>
|
|
</div>
|
|
|
|
<div class="dashboard-stats totals">
|
|
<table>
|
|
<tr>
|
|
<td class="title"><i class='icon icon-trophy'></i> {{i18n admin.dashboard.admins}}</td>
|
|
<td class="value">{{#link-to 'adminUsersList.admins'}}{{admins}}{{/link-to}}</td>
|
|
<td class="title"><i class='icon icon-ban-circle'></i> {{i18n admin.dashboard.banned}}</td>
|
|
<td class="value">{{#link-to 'adminUsersList.banned'}}{{banned}}{{/link-to}}</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="title"><i class='icon icon-magic'></i> {{i18n admin.dashboard.moderators}}</td>
|
|
<td class="value">{{#link-to 'adminUsersList.moderators'}}{{moderators}}{{/link-to}}</td>
|
|
<td class="title"><i class='icon icon-ban-circle'></i> {{i18n admin.dashboard.blocked}}</td>
|
|
<td class="value">{{#link-to 'adminUsersList.blocked'}}{{blocked}}{{/link-to}}</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="dashboard-stats">
|
|
<table class="table table-condensed table-hover">
|
|
<thead>
|
|
<tr>
|
|
<th> </th>
|
|
<th>{{i18n admin.dashboard.reports.today}}</th>
|
|
<th>{{i18n admin.dashboard.reports.yesterday}}</th>
|
|
<th>{{i18n admin.dashboard.reports.last_7_days}}</th>
|
|
<th>{{i18n admin.dashboard.reports.last_30_days}}</th>
|
|
<th>{{i18n admin.dashboard.reports.all}}</th>
|
|
</tr>
|
|
</thead>
|
|
{{#unless loading}}
|
|
{{ render 'admin_report_counts' signups }}
|
|
{{ render 'admin_report_counts' topics }}
|
|
{{ render 'admin_report_counts' posts }}
|
|
{{ render 'admin_report_counts' likes }}
|
|
{{ render 'admin_report_counts' flags }}
|
|
{{ render 'admin_report_counts' bookmarks }}
|
|
{{ render 'admin_report_counts' favorites }}
|
|
{{ render 'admin_report_counts' emails }}
|
|
{{/unless}}
|
|
</table>
|
|
</div>
|
|
|
|
<div class="dashboard-stats">
|
|
<table class="table table-condensed table-hover">
|
|
<thead>
|
|
<tr>
|
|
<th class="title" title="{{i18n admin.dashboard.private_messages_title}}"><i class="icon icon-envelope"></i> {{i18n admin.dashboard.private_messages_short}}</th>
|
|
<th>{{i18n admin.dashboard.reports.today}}</th>
|
|
<th>{{i18n admin.dashboard.reports.yesterday}}</th>
|
|
<th>{{i18n admin.dashboard.reports.last_7_days}}</th>
|
|
<th>{{i18n admin.dashboard.reports.last_30_days}}</th>
|
|
<th>{{i18n admin.dashboard.reports.all}}</th>
|
|
</tr>
|
|
</thead>
|
|
{{#unless loading}}
|
|
{{ render 'admin_report_counts' user_to_user_private_messages }}
|
|
{{ render 'admin_report_counts' system_private_messages }}
|
|
{{ render 'admin_report_counts' notify_moderators_private_messages }}
|
|
{{ render 'admin_report_counts' notify_user_private_messages }}
|
|
{{ render 'admin_report_counts' moderator_warning_private_messages }}
|
|
{{/unless}}
|
|
</table>
|
|
</div>
|
|
|
|
<div class="dashboard-stats">
|
|
<table class="table table-condensed table-hover">
|
|
<thead>
|
|
<tr>
|
|
<th> </th>
|
|
<th>{{i18n admin.dashboard.reports.today}}</th>
|
|
<th>{{i18n admin.dashboard.reports.yesterday}}</th>
|
|
<th>{{i18n admin.dashboard.reports.7_days_ago}}</th>
|
|
<th>{{i18n admin.dashboard.reports.30_days_ago}}</th>
|
|
</tr>
|
|
</thead>
|
|
{{#unless loading}}
|
|
{{ render 'admin/templates/reports/per_day_counts_report' visits tagName="tbody"}}
|
|
{{/unless}}
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="dashboard-right">
|
|
{{ render 'admin/templates/commits' githubCommits }}
|
|
|
|
<div class="dashboard-stats">
|
|
<table class="table table-condensed table-hover">
|
|
<thead>
|
|
<tr>
|
|
<th class="title">{{top_referred_topics.title}} ({{i18n admin.dashboard.reports.last_30_days}})</th>
|
|
<th>{{top_referred_topics.ytitles.num_clicks}}</th>
|
|
</tr>
|
|
</thead>
|
|
{{#unless loading}}
|
|
{{#each data in top_referred_topics.data}}
|
|
<tbody>
|
|
<tr>
|
|
<td class="title">
|
|
<div class="referred-topic-title">
|
|
<div class="overflow-ellipsis">
|
|
<a href="/t/{{unbound data.topic_slug}}/{{unbound data.topic_id}}">{{data.topic_title}}</a>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="value">{{data.num_clicks}}</td>
|
|
</tr>
|
|
</tbody>
|
|
{{/each}}
|
|
{{/unless}}
|
|
</table>
|
|
</div>
|
|
|
|
<div class="dashboard-stats">
|
|
<table class="table table-condensed table-hover">
|
|
<thead>
|
|
<tr>
|
|
<th class="title">{{top_traffic_sources.title}} ({{i18n admin.dashboard.reports.last_30_days}})</th>
|
|
<th>{{top_traffic_sources.ytitles.num_clicks}}</th>
|
|
<th>{{top_traffic_sources.ytitles.num_topics}}</th>
|
|
</tr>
|
|
</thead>
|
|
{{#unless loading}}
|
|
{{#each top_traffic_sources.data}}
|
|
<tbody>
|
|
<tr>
|
|
<td class="title">{{domain}}</td>
|
|
<td class="value">{{num_clicks}}</td>
|
|
<td class="value">{{num_topics}}</td>
|
|
</tr>
|
|
</tbody>
|
|
{{/each}}
|
|
{{/unless}}
|
|
</table>
|
|
</div>
|
|
|
|
<div class="dashboard-stats">
|
|
<table class="table table-condensed table-hover">
|
|
<thead>
|
|
<tr>
|
|
<th class="title">{{top_referrers.title}} ({{i18n admin.dashboard.reports.last_30_days}})</th>
|
|
<th>{{top_referrers.ytitles.num_clicks}}</th>
|
|
<th>{{top_referrers.ytitles.num_topics}}</th>
|
|
</tr>
|
|
</thead>
|
|
{{#unless loading}}
|
|
{{#each top_referrers.data}}
|
|
<tbody>
|
|
<tr>
|
|
<td class="title">{{#link-to 'adminUser' this}}{{unbound username}}{{/link-to}}</td>
|
|
<td class="value">{{num_clicks}}</td>
|
|
<td class="value">{{num_topics}}</td>
|
|
</tr>
|
|
</tbody>
|
|
{{/each}}
|
|
{{/unless}}
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<div class='clearfix'></div>
|
|
|
|
<div class="dashboard-stats pull-right">
|
|
<div class="pull-right">{{i18n admin.dashboard.last_updated}} {{updatedTimestamp}}</div>
|
|
<div class='clearfix'></div>
|
|
</div>
|
|
<div class='clearfix'></div> |