131 lines
5.1 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{% extends 'admin/base.html' %}
{% load programmer_tags %}
{% block title %}Статистика посещений{% endblock %}
{% block page_title %}Статистика посещений{% endblock %}
{% block content %}
<!-- Уведомления о заявках -->
{% get_unread_callbacks as unread_callbacks %}
{% get_today_callbacks as today_callbacks %}
{% if unread_callbacks > 0 %}
<div class="alert alert-warning alert-dismissible fade show" role="alert">
<h4>🚨 Внимание!</h4>
<p>
У вас <strong>{{ unread_callbacks }}</strong> непрочитанных заявок на обратный звонок
{% if today_callbacks > 0 %}
({{ today_callbacks }} из них сегодня)
{% endif %}
</p>
<a href="{% url 'admin:programmer_callbackrequest_changelist' %}" class="btn btn-warning btn-sm">
📋 Перейти к заявкам
</a>
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div>
{% endif %}
<div class="row mb-4">
<div class="col-12">
<div class="stats-grid">
<div class="stat-card">
<h3>📊 Просмотров сегодня</h3>
<p class="stat-number">{{ today_views }}</p>
</div>
<div class="stat-card">
<h3>📈 Просмотров за неделю</h3>
<p class="stat-number">{{ weekly_views }}</p>
</div>
<div class="stat-card">
<h3>👥 Уникальных посетителей</h3>
<p class="stat-number">{{ unique_visitors }}</p>
</div>
<div class="stat-card">
<h3>🕒 Всего просмотров</h3>
<p class="stat-number">{{ total_views }}</p>
</div>
<!-- Добавляем статистику по заявкам -->
<div class="stat-card">
<h3>📞 Заявок сегодня</h3>
<p class="stat-number">{{ today_callbacks }}</p>
</div>
<div class="stat-card">
<h3>📋 Всего заявок</h3>
<p class="stat-number">{% get_unread_callbacks %}/{{ total_callbacks }}</p>
<small>(непрочитанные/всего)</small>
</div>
</div>
</div>
</div>
<!-- Остальной код статистики остается без изменений -->
<div class="row">
<div class="col-12">
<div class="card">
<div class="card-header">
<h3>🔥 Популярные страницы (за неделю)</h3>
</div>
<div class="card-body p-0">
<table class="table table-striped mb-0">
<thead>
<tr>
<th>Страница</th>
<th>Просмотров</th>
</tr>
</thead>
<tbody>
{% for page in popular_pages %}
<tr>
<td>
<code>{{ page.url }}</code>
{% if page.url == '/' %}
<span class="badge bg-primary">Главная</span>
{% endif %}
</td>
<td><strong>{{ page.views }}</strong></td>
</tr>
{% empty %}
<tr>
<td colspan="2" class="text-center text-muted">Нет данных за выбранный период</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
</div>
<div class="row mt-4">
<div class="col-12">
<div class="card">
<div class="card-header">
<h3>📋 Последние посещения</h3>
</div>
<div class="card-body p-0">
<table class="table table-striped mb-0">
<thead>
<tr>
<th>Время</th>
<th>Страница</th>
<th>IP-адрес</th>
</tr>
</thead>
<tbody>
{% for view in recent_views %}
<tr>
<td>{{ view.timestamp|date:"d.m.Y H:i" }}</td>
<td><code>{{ view.url }}</code></td>
<td><small>{{ view.ip_address }}</small></td>
</tr>
{% empty %}
<tr>
<td colspan="3" class="text-center text-muted">Нет данных</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
</div>
{% endblock %}