Files
Quiz-for-Mont/templates/user/dashboard.html
2025-09-04 11:27:16 +03:00

89 lines
4.5 KiB
HTML

{% extends "layout.html" %}
{% block content %}
<div class="container mt-4">
<h2>Мои отправленные опросы</h2>
{% if invites %}
{% for invite in invites %}
<div class="card mb-3 border {% if invite.responded %}border-success bg-light{% else %}border-danger bg-light{% endif %}">
<div class="card-body d-flex justify-content-between align-items-center">
<div>
<strong>{{ invite.survey.survey_type.name }}</strong><br>
<small class="text-muted">Отправлено: {{ invite.sent_at.strftime('%d.%m.%Y %H:%M') }}</small><br>
<small>Кому: {{ invite.recipient_email }}</small><br>
{% if current_user.is_admin %}
<small class="text-muted">Отправитель: {{ invite.survey.user.full_name }} ({{ invite.survey.user.email }})</small>
{% endif %}
</div>
<div class="btn-group">
{% if invite.responded %}
<button class="btn btn-sm btn-outline-primary" data-bs-toggle="collapse" data-bs-target="#r{{ invite.id }}">
Показать результат
</button>
{% endif %}
{% if not invite.responded %}
<form method="POST" action="{{ url_for('send_survey', survey_id=invite.survey.id) }}">
<input type="hidden" name="email" value="{{ invite.recipient_email }}">
<input type="hidden" name="show_result" value="{{ 1 if invite.show_result else 0 }}">
<input type="hidden" name="ask_full_name" value="{{ 1 if invite.ask_full_name else 0 }}">
<input type="hidden" name="ask_phone" value="{{ 1 if invite.ask_phone else 0 }}">
<input type="hidden" name="ask_organization" value="{{ 1 if invite.ask_organization else 0 }}">
<button type="submit" class="btn btn-sm btn-outline-warning">Отправить повторно</button>
</form>
{% endif %}
<form method="POST" action="{{ url_for('delete_invite', invite_id=invite.id) }}" onsubmit="return confirm('Удалить приглашение?')">
<button type="submit" class="btn btn-sm btn-outline-danger">Удалить</button>
</form>
</div>
</div>
<div class="collapse" id="r{{ invite.id }}">
<div class="card-body">
{% if invite.responded and results[invite.id] %}
{% set result = results[invite.id] %}
{% set scores = result.platform_scores | from_json %}
{% set unsupported = result.unsupported | from_json %}
<p><strong>ФИО:</strong> {{ result.full_name or '—' }}</p>
<p><strong>Телефон:</strong> {{ result.phone or '—' }}</p>
<p><strong>Организация:</strong> {{ result.organization or '—' }}</p>
<p><strong>Получен:</strong> {{ result.submitted_at.strftime('%d.%m.%Y %H:%M') }}</p>
<hr>
<p><strong>Процент соответствия платформ:</strong></p>
<ul>
{% for p, percent in scores.items() %}
<li>{{ p }}: {{ percent }}%</li>
{% endfor %}
</ul>
<p><strong>Неподдерживаемые функции:</strong></p>
<ul>
{% for p, items in unsupported.items() %}
<li>{{ p }}:
{% if items %}
{{ items | join(", ") }}
{% else %}
все поддерживаются
{% endif %}
</li>
{% endfor %}
</ul>
<p><strong>Комментарий:</strong><br>{{ results[invite.id].comment or "—" }}</p>
{% else %}
<p class="text-danger">Ответ ещё не получен.</p>
{% endif %}
</div>
</div>
</div>
{% endfor %}
{% else %}
<p>Вы ещё не отправляли опросы.</p>
{% endif %}
</div>
{% endblock %}