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

194 lines
9.6 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 'base.html' %}
{% load static %}
{% block title %}{{ report.title }} - Портал за Докладване на Измами{% endblock %}
{% block schema_type %}Article{% endblock %}
{% block extra_head %}
<!-- Article Structured Data -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "{{ report.title|escapejs }}",
"description": "{{ report.description|truncatewords:30|escapejs }}",
"datePublished": "{{ report.created_at|date:'c' }}",
"dateModified": "{{ report.updated_at|date:'c'|default:report.created_at|date:'c' }}",
"author": {
"@type": "Organization",
"name": "{{ seo.site_name }}"
},
"publisher": {
"@type": "GovernmentOrganization",
"name": "{{ seo.site_name }}",
"logo": {
"@type": "ImageObject",
"url": "{{ seo.site_image }}"
}
},
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "{{ seo.canonical_url }}"
},
"articleSection": "{{ report.get_scam_type_display }}",
"keywords": "{{ report.tags.all|join:', ' }}, измама, {{ report.get_scam_type_display }}"
}
</script>
{% endblock %}
{% block content %}
<div class="gov-card">
<div class="gov-card-header">
<h1>{{ report.title }}</h1>
<div class="report-badges">
<span class="badge badge-{{ report.scam_type }}">{{ report.get_scam_type_display }}</span>
{% if report.status == 'verified' %}
<span class="badge badge-verified">Потвърдено</span>
{% elif report.status == 'rejected' %}
<span class="badge badge-rejected">Отхвърлено</span>
{% elif report.status == 'pending' %}
<span class="badge badge-pending">Чака Преглед</span>
{% elif report.status == 'under_review' %}
<span class="badge badge-under_review">В Преглед</span>
{% endif %}
{% if report.verification_score %}
<span class="badge badge-score">Проверка: {{ report.verification_score }}%</span>
{% endif %}
</div>
</div>
<div class="gov-card-body">
{% if report.status == 'rejected' and user.is_authenticated and report.reporter == user and rejection_action and rejection_action.reason %}
<div class="gov-alert gov-alert-error" style="margin-bottom: 1.5rem;">
<div class="alert-icon"></div>
<div class="alert-content">
<strong>Докладът е отхвърлен</strong>
<p style="margin: 0.75rem 0 0 0; font-size: 1.05rem;"><strong>Причина за отхвърляне:</strong></p>
<p style="margin: 0.5rem 0 0 0; padding: 0.75rem; background: rgba(220, 53, 69, 0.1); border-radius: 6px; border-left: 3px solid var(--gov-danger);">
{{ rejection_action.reason }}
</p>
<p style="margin: 0.75rem 0 0 0; font-size: 0.9rem; color: var(--gov-gray);">
<strong>Отхвърлен на:</strong> {{ rejection_action.created_at|date:"d.m.Y в H:i" }}<br>
<strong>От:</strong> {{ rejection_action.moderator.username|default:"модератор" }}
</p>
<div style="margin-top: 1rem;">
<a href="{% url 'reports:edit' report.pk %}" class="btn btn-primary btn-sm">Редактиране и Повторно Изпращане</a>
</div>
</div>
</div>
{% endif %}
<div class="info-grid" style="margin-bottom: 2rem;">
<div class="info-item">
<strong>Статус:</strong> <span class="badge badge-{{ report.status }}">{{ report.get_status_display }}</span>
</div>
<div class="info-item">
<strong>Докладвано на:</strong> {{ report.created_at|date:"d F Y, H:i" }}
</div>
<div class="info-item">
<strong>Докладвано от:</strong> {{ report.get_reporter_display }}
</div>
{% if report.verified_at %}
<div class="info-item">
<strong>Потвърдено на:</strong> {{ report.verified_at|date:"d F Y, H:i" }}
</div>
{% endif %}
</div>
<div class="info-section">
<h3>Описание</h3>
<p style="line-height: 1.8; color: var(--gov-dark);">{{ report.description|linebreaks }}</p>
</div>
<div class="info-section">
<h3>Докладвани Обекти</h3>
<ul style="list-style: none; padding: 0;">
{% if report.reported_url %}
<li style="padding: 0.75rem; background: var(--gov-light); margin-bottom: 0.5rem; border-radius: 6px;">
<strong>URL:</strong> <a href="{{ report.reported_url }}" target="_blank" rel="noopener">{{ report.reported_url }}</a>
</li>
{% endif %}
{% if report.reported_email %}
<li style="padding: 0.75rem; background: var(--gov-light); margin-bottom: 0.5rem; border-radius: 6px;">
<strong>Имейл:</strong> {{ report.reported_email }}
</li>
{% endif %}
{% if report.reported_phone %}
<li style="padding: 0.75rem; background: var(--gov-light); margin-bottom: 0.5rem; border-radius: 6px;">
<strong>Телефон:</strong> {{ report.reported_phone }}
</li>
{% endif %}
{% if report.reported_company %}
<li style="padding: 0.75rem; background: var(--gov-light); margin-bottom: 0.5rem; border-radius: 6px;">
<strong>Фирма:</strong> {{ report.reported_company }}
</li>
{% endif %}
</ul>
</div>
{% if report.tags.all %}
<div class="info-section">
<h3>Етикети</h3>
<div class="report-tags">
{% for tag in report.tags.all %}
<span class="tag" style="background-color: {{ tag.color }}">{{ tag.name }}</span>
{% endfor %}
</div>
</div>
{% endif %}
{% if report.verifications.all %}
<div class="info-section">
<h3>Детайли за Проверка</h3>
{% for verification in report.verifications.all %}
<div class="verification-item" style="padding: 1rem; background: var(--gov-light); margin-bottom: 1rem; border-radius: 8px; border-left: 4px solid var(--gov-secondary);">
<strong>{{ verification.get_verification_method_display }}:</strong>
<span>Увереност: {{ verification.confidence_score }}%</span>
{% if verification.notes %}
<p style="margin-top: 0.5rem; color: var(--gov-gray);">{{ verification.notes }}</p>
{% endif %}
</div>
{% endfor %}
</div>
{% endif %}
{% if user.is_authenticated and report.reporter == user %}
<div class="report-actions">
{% if report.status == 'pending' %}
<a href="{% url 'reports:edit' report.pk %}" class="btn btn-secondary">Редактиране</a>
<a href="{% url 'reports:delete' report.pk %}"
class="btn btn-danger"
data-confirm="Сигурни ли сте, че искате да изтриете този доклад? Това действие не може да бъде отменено."
data-confirm-title="Изтриване на Доклад">Изтриване</a>
{% elif report.status == 'rejected' %}
<a href="{% url 'reports:edit' report.pk %}" class="btn btn-primary">Редактиране и Повторно Изпращане</a>
<a href="{% url 'reports:delete' report.pk %}"
class="btn btn-danger"
data-confirm="Сигурни ли сте, че искате да изтриете този отхвърлен доклад? Това действие не може да бъде отменено."
data-confirm-title="Изтриване на Доклад">Изтриване</a>
{% endif %}
</div>
{% endif %}
{% if report.status == 'verified' and report.is_public %}
<div class="report-actions" style="margin-top: 2rem; padding-top: 2rem; border-top: 2px solid var(--gov-gray-light);">
<div style="background: var(--gov-light); padding: 1.5rem; border-radius: 8px; border-left: 4px solid var(--gov-warning);">
<h4 style="margin: 0 0 0.75rem 0; color: var(--gov-primary); display: flex; align-items: center; gap: 0.5rem;">
<span>⚠️</span>
<span>Смятате ли, че този доклад е несправедлив?</span>
</h4>
<p style="margin: 0 0 1rem 0; color: var(--gov-gray); line-height: 1.6;">
Ако сте обект на този доклад и смятате, че информацията е невярна или несправедлива, можете да подадете заявка за премахване.
</p>
<a href="{% url 'reports:takedown_request' report.pk %}" class="btn btn-secondary">
📝 Заявка за Премахване на Доклад
</a>
</div>
</div>
{% endif %}
</div>
</div>
{% endblock %}