- i18n.py: формальный русский (сканирования, панель управления, и т.д.) - Все шаблоны: замена хардкод-строк на t(key, request.state.lang) - dashboard_stats_fragment: добавлен request в контекст
45 lines
2.4 KiB
HTML
45 lines
2.4 KiB
HTML
{% if latest_flagged %}
|
|
<article class="dash-block dash-block-warn">
|
|
<h3>{{ t('heading_latest_flagged', request.state.lang) }}</h3>
|
|
<table class="compact">
|
|
<thead><tr><th>{{ t('col_package', request.state.lang) }}</th><th>{{ t('col_version', request.state.lang) }}</th><th>{{ t('col_findings', request.state.lang) }}</th><th>{{ t('col_time', request.state.lang) }}</th></tr></thead>
|
|
<tbody>
|
|
{% for s in latest_flagged %}
|
|
<tr>
|
|
<td><a href="/scans/{{ s.id }}"><strong class="flagged">{{ s.package_name }}</strong></a></td>
|
|
<td>{{ s.package_version }}</td>
|
|
<td><span class="flagged">{{ s.total_findings }}</span></td>
|
|
<td>{{ s.started_at.strftime('%m-%d %H:%M') if s.started_at }}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</article>
|
|
{% endif %}
|
|
|
|
<article class="dash-block" style="margin-top: 0;">
|
|
<h3>{{ t('heading_latest_scans', request.state.lang) }}</h3>
|
|
<table class="compact">
|
|
<thead>
|
|
<tr><th>{{ t('col_package', request.state.lang) }}</th><th>{{ t('col_version', request.state.lang) }}</th><th>{{ t('col_repo', request.state.lang) }}</th><th>{{ t('col_status', request.state.lang) }}</th><th></th><th>{{ t('col_time', request.state.lang) }}</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for s in latest_scans %}
|
|
<tr>
|
|
<td><a href="/packages/{{ s.package_name | urlencode }}/{{ s.package_version | urlencode }}">{{ s.package_name }}</a></td>
|
|
<td>{{ s.package_version }}</td>
|
|
<td><small>{{ s.repository }}</small></td>
|
|
<td>
|
|
{% if s.status == 'scanning' %}<span class="status-scanning"><span class="spinner"></span>scanning</span>{% else %}<span class="status-{{ s.status }}">{{ s.status }}</span>{% endif %}
|
|
</td>
|
|
<td>{% if s.flagged %}<span class="flagged">⚠ {{ s.total_findings }}</span>{% elif s.status == 'completed' %}<span class="clean">✓</span>{% else %}<span>-</span>{% endif %}</td>
|
|
<td>{{ s.started_at.strftime('%m-%d %H:%M') if s.started_at }}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
<small><a href="/scans">{{ t('view_all_scans', request.state.lang) }}</a></small>
|
|
</article>
|
|
|
|
<small style="opacity: 0.4;">{{ t('refresh_hint', request.state.lang, now.strftime('%H:%M:%S')) }}</small>
|