Variant distribution: treat redirect as success, refresh modal in place, toasts above modal (inside dialog); asset v32

This commit is contained in:
2026-10-08 10:28:34 +03:00
parent 78130dbcd7
commit 6c2e41d558
10 changed files with 49 additions and 30 deletions

View File

@@ -44,10 +44,10 @@
<a th:href="@{/admin/labs/{id}(id=${lab.id})}" th:text="|ЛР ${lab.number}|">ЛР</a>
<span class="lab-col-title" th:text="${lab.title}">—</span>
<div class="lab-head-actions">
<button class="btn btn-primary btn-sm" type="button"
<button class="btn btn-secondary btn-sm p-2" type="button"
th:attr="data-url=@{/admin/groups/{id}/assign-modal(id=${group.id}, labId=${lab.id})},data-lab-name=|ЛР ${lab.number}|" data-action="assign"
title="Раздать варианты студентам: уровни, варианты, автокраспределение по группе">
<i class="bi bi-people" aria-hidden="true"></i> Варианты
title="Выдача вариантов: уровни, варианты, автокраспределение по группе">
<i class="cell-ico ico bi bi-list" aria-hidden="true"></i>
</button>
<form class="inline-form" th:with="pub=${labPublication[lab.id]}, pc=${pub != null ? pub.publishedCount : 0}, all=${pub != null and pub.allPublished}"
th:action="@{/admin/groups/{id}/publish(id=${group.id})}" method="post">
@@ -64,10 +64,9 @@
<span class="mini-count js-pub-count" th:classappend="(${all} or ${pc == 0}) ? 'is-hidden' : ''" th:text="${pc}"></span>
</button>
</form>
<a class="btn btn-secondary btn-sm"
<a class="btn btn-secondary btn-sm p-2"
th:href="'/admin/groups/' + ${group.id} + '/submissions.zip?labId=' + ${lab.id}"
th:title="|Скачать решения по ЛР ${lab.number}|">
<i class="bi bi-download" aria-hidden="true"></i><span class="mini-count" th:text="${labSubmissionCounts[lab.id] ?: 0}">0</span></a>
th:title="|Скачать решения по ЛР ${lab.number}|">⤓<span class="mini-count" th:text="${labSubmissionCounts[lab.id] ?: 0}">0</span></a>
</div>
</div>
</th>
@@ -343,7 +342,7 @@
<div class="dlg-body" id="assign-modal-body"></div>
</dialog>
<script th:src="@{/js/admin-group.js(v='30')}" defer></script>
<script th:src="@{/js/admin-group.js(v='32')}" defer></script>
</div>
</body>
</html>