Files
OSINT/templates/osint/auto_report_list.html
Iliyan Angelov ed94dd22dd update
2025-11-26 22:32:20 +02:00

110 lines
6.0 KiB
HTML

{% extends 'base.html' %}
{% block title %}Автоматично Генерирани Доклади - OSINT{% endblock %}
{% block content %}
<div class="gov-card">
<div class="gov-card-header">
<h2>Автоматично Генерирани Доклади от OSINT</h2>
</div>
<div class="gov-card-body">
<!-- Statistics -->
<div class="stats-grid" style="margin-bottom: 2rem;">
<div class="stat-card">
<h3>{{ pending_count }}</h3>
<p>Чакащи Преглед</p>
</div>
<div class="stat-card">
<h3>{{ approved_count }}</h3>
<p>Одобрени</p>
</div>
<div class="stat-card">
<h3>{{ published_count }}</h3>
<p>Публикувани</p>
</div>
<div class="stat-card">
<h3>{{ rejected_count }}</h3>
<p>Отхвърлени</p>
</div>
</div>
<!-- Filter Bar -->
<div class="filter-bar" style="margin-bottom: 2rem;">
<a href="?status=" class="btn btn-sm {% if not request.GET.status %}btn-primary{% else %}btn-secondary{% endif %}">Всички</a>
<a href="?status=pending" class="btn btn-sm {% if request.GET.status == 'pending' %}btn-primary{% else %}btn-secondary{% endif %}">Чакащи</a>
<a href="?status=approved" class="btn btn-sm {% if request.GET.status == 'approved' %}btn-primary{% else %}btn-secondary{% endif %}">Одобрени</a>
<a href="?status=published" class="btn btn-sm {% if request.GET.status == 'published' %}btn-primary{% else %}btn-secondary{% endif %}">Публикувани</a>
<a href="?status=rejected" class="btn btn-sm {% if request.GET.status == 'rejected' %}btn-primary{% else %}btn-secondary{% endif %}">Отхвърлени</a>
</div>
{% if auto_reports %}
<div class="reports-list">
{% for auto_report in auto_reports %}
<div class="report-card" style="border-left: 4px solid {% if auto_report.status == 'pending' %}#ffc107{% elif auto_report.status == 'approved' %}#28a745{% elif auto_report.status == 'published' %}#17a2b8{% else %}#dc3545{% endif %};">
<div class="report-header">
<h3>
<a href="{% url 'osint:auto_report_detail' auto_report.pk %}">{{ auto_report.title }}</a>
</h3>
<div>
<span class="badge badge-{{ auto_report.status }}">{{ auto_report.get_status_display }}</span>
<span class="badge" style="background: linear-gradient(135deg, #17a2b8 0%, #138496 100%); color: white;">
Увереност: {{ auto_report.confidence_score }}%
</span>
</div>
</div>
<div class="report-meta">
<span>🔗 <a href="{{ auto_report.source_url }}" target="_blank" rel="noopener">{{ auto_report.source_url|truncatechars:60 }}</a></span>
<span>📅 Създадено: {{ auto_report.created_at|date:"d F Y, H:i" }}</span>
{% if auto_report.reviewed_by %}
<span>👤 Прегледано от: {{ auto_report.reviewed_by.username }}</span>
{% endif %}
</div>
<div class="report-description">
{{ auto_report.description|truncatewords:50 }}
</div>
{% if auto_report.matched_keywords.all %}
<div class="report-tags">
<strong>Намерени Ключови Думи:</strong>
{% for keyword in auto_report.matched_keywords.all %}
<span class="badge badge-info">{{ keyword.name }}</span>
{% endfor %}
</div>
{% endif %}
<div class="report-actions">
<a href="{% url 'osint:auto_report_detail' auto_report.pk %}" class="btn btn-sm btn-primary">Преглед</a>
{% if auto_report.status == 'pending' %}
<a href="{% url 'osint:approve_auto_report' auto_report.pk %}" class="btn btn-sm btn-success">Одобри</a>
<a href="{% url 'osint:reject_auto_report' auto_report.pk %}" class="btn btn-sm btn-danger">Отхвърли</a>
{% endif %}
{% if auto_report.report %}
<a href="{% url 'reports:detail' auto_report.report.pk %}" class="btn btn-sm btn-secondary">Виж Доклад</a>
{% endif %}
</div>
</div>
{% endfor %}
</div>
<!-- Pagination -->
{% if page_obj.has_other_pages %}
<div class="pagination">
{% if page_obj.has_previous %}
<a href="?page=1{% if request.GET.status %}&status={{ request.GET.status }}{% endif %}" class="btn btn-secondary">Първа</a>
<a href="?page={{ page_obj.previous_page_number }}{% if request.GET.status %}&status={{ request.GET.status }}{% endif %}" class="btn btn-secondary">Предишна</a>
{% endif %}
<span class="page-info">Страница {{ page_obj.number }} от {{ page_obj.paginator.num_pages }}</span>
{% if page_obj.has_next %}
<a href="?page={{ page_obj.next_page_number }}{% if request.GET.status %}&status={{ request.GET.status }}{% endif %}" class="btn btn-secondary">Следваща</a>
<a href="?page={{ page_obj.paginator.num_pages }}{% if request.GET.status %}&status={{ request.GET.status }}{% endif %}" class="btn btn-secondary">Последна</a>
{% endif %}
</div>
{% endif %}
{% else %}
<div class="empty-state">
<p>Няма автоматично генерирани доклади.</p>
</div>
{% endif %}
</div>
</div>
{% endblock %}