Initial commit

This commit is contained in:
2025-09-04 11:27:16 +03:00
commit c1a75f783a
29 changed files with 2153 additions and 0 deletions

View File

@@ -0,0 +1,61 @@
{% extends "layout.html" %}
{% block content %}
<div class="container mt-4">
<h2>Доступные опросы</h2>
{% if current_user.is_admin %}
{% for survey in surveys %}
<div class="card mb-4 p-3">
<h5>{{ survey.name }}</h5>
<!-- Кнопка пройти -->
<a href="{{ url_for('show_quiz', survey_id=survey.id) }}" class="btn btn-sm btn-primary mb-2">Пройти</a>
<!-- Расшаривание пользователям -->
<form method="POST" action="{{ url_for('assign_user_survey_bulk') }}">
<input type="hidden" name="survey_id" value="{{ survey.id }}">
<div class="row row-cols-2 row-cols-md-3 row-cols-lg-4 g-2">
{% for user in users %}
<div class="form-check col">
<input class="form-check-input" type="checkbox" name="user_ids"
value="{{ user.id }}"
id="survey{{ survey.id }}_user{{ user.id }}"
{% if survey.id in assignments and user.id in assignments[survey.id] %}checked{% endif %}>
<label class="form-check-label" for="survey{{ survey.id }}_user{{ user.id }}">
{{ user.username }} ({{ user.full_name or "без ФИО" }})
</label>
</div>
{% endfor %}
</div>
<div class="mt-2">
<button class="btn btn-sm btn-warning">Сохранить назначения</button>
</div>
</form>
</div>
{% endfor %}
{% else %}
{% for us in surveys %}
<div class="list-group mb-2">
<div class="list-group-item d-flex justify-content-between align-items-center">
<div class="fw-bold">{{ us.survey_type.name }}</div>
<div class="btn-group">
<a href="{{ url_for('show_quiz', survey_id=us.survey_type.id) }}" class="btn btn-sm btn-primary">Пройти</a>
<button class="btn btn-sm btn-outline-secondary" data-bs-toggle="collapse" data-bs-target="#send{{ us.id }}">Отправить</button>
</div>
</div>
<div class="collapse p-3 border rounded" id="send{{ us.id }}">
<form id="send-survey-form" method="POST" action="{{ url_for('send_survey', survey_id=us.id) }}">
<input type="email" name="email" class="form-control mb-2" placeholder="Email" required>
<div class="form-check"><input class="form-check-input" type="checkbox" name="show_result"> Показывать результат</div>
<div class="form-check"><input class="form-check-input" type="checkbox" name="ask_full_name"> Указать ФИО</div>
<div class="form-check"><input class="form-check-input" type="checkbox" name="ask_phone"> Указать телефон</div>
<div class="form-check"><input class="form-check-input" type="checkbox" name="ask_organization"> Указать организацию</div>
<button class="btn btn-success btn-sm mt-2">Отправить</button>
</form>
</div>
</div>
{% endfor %}
{% endif %}
</div>
{% endblock %}