discourse/app/assets/javascripts/admin/templates/dashboard.js.handlebars

294 lines
11 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">&nbsp;</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>&nbsp;</th>
<th>{{i18n admin.dashboard.installed_version}}</th>
<th>{{i18n admin.dashboard.latest_version}}</th>
<th>&nbsp;</th>
<th>&nbsp;</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">&nbsp;</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">&nbsp;</td>
<td class="face">
{{#if versionCheck.version_check_pending}}
<span class='icon up-to-date'>☻</span>
{{else}}
<span class="icon critical-updates-available">☹</span>
{{/if}}
</td>
<td class="version-notes">
<span class="normal-note">
{{#if versionCheck.version_check_pending}}
{{i18n admin.dashboard.version_check_pending}}
{{else}}
{{i18n admin.dashboard.stale_data}}
{{/if}}
</span>
</td>
{{else}}
<td class="version-number">{{ versionCheck.latest_version }}</td>
<td class="face">
{{#if versionCheck.upToDate }}
<span class='icon up-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>&nbsp;</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.suspended}}</td>
<td class="value">{{#link-to 'adminUsersList.suspended'}}{{suspended}}{{/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>&nbsp;</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>&nbsp;</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>