Feat: Удаление заявок и элементов

 Кнопка удаления в index (с подтверждением)
 Кнопка удаления в show (с подтверждением)
 Удаление элементов в edit (JavaScript)
 approve/reject кнопки в index

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
mirivlad 2026-04-02 09:31:08 +08:00
parent 729d48ac5a
commit 3f0039712d
4 changed files with 29 additions and 4 deletions

View File

@ -264,6 +264,13 @@ document.getElementById('addElementBtn').addEventListener('click', function() {
bootstrap.Modal.getInstance(document.getElementById('addElementModal')).hide();
});
// Удаление элемента
window.removeItem = function(id) {
if (!confirm('Удалить этот элемент из заявки?')) return;
items = items.filter(item => item.id !== id);
updateItemsDisplay();
};
// Обновление отображения элементов
function updateItemsDisplay() {
const container = document.getElementById('items-container');

View File

@ -219,6 +219,13 @@ document.getElementById('addElementBtn').addEventListener('click', function() {
bootstrap.Modal.getInstance(document.getElementById('addElementModal')).hide();
});
// Удаление элемента
window.removeItem = function(id) {
if (!confirm('Удалить этот элемент из заявки?')) return;
items = items.filter(item => item.id !== id);
updateItemsDisplay();
};
function updateItemsDisplay() {
const container = document.getElementById('items-container');
document.getElementById('items_json').value = JSON.stringify(items);

View File

@ -91,13 +91,19 @@
<div class="btn-group btn-group-sm">
<a href="{{ route('admin.course-requests.show', $request) }}" class="btn btn-outline-primary" title="Просмотр"><i class="bi bi-eye"></i></a>
@if($request->isPending())
<form action="{{ route('admin.course-requests.approve', $request) }}" method="POST" class="d-inline">
<a href="{{ route('admin.course-requests.edit', $request) }}" class="btn btn-outline-warning" title="Редактировать"><i class="bi bi-pencil"></i></a>
<form action="{{ route('admin.course-requests.approve', $request) }}" method="POST" class="d-inline" title="Одобрить">
@csrf
<button class="btn btn-outline-success" title="Одобрить" onclick="return confirm('Одобрить заявку?')"><i class="bi bi-check-lg"></i></button>
<button class="btn btn-outline-success" onclick="return confirm('Одобрить заявку?')"><i class="bi bi-check-lg"></i></button>
</form>
<form action="{{ route('admin.course-requests.reject', $request) }}" method="POST" class="d-inline">
<form action="{{ route('admin.course-requests.reject', $request) }}" method="POST" class="d-inline" title="Отклонить">
@csrf
<button class="btn btn-outline-danger" title="Отклонить" onclick="return confirm('Отклонить заявку?')"><i class="bi bi-x-lg"></i></button>
<button class="btn btn-outline-danger" onclick="return confirm('Отклонить заявку?')"><i class="bi bi-x-lg"></i></button>
</form>
<form action="{{ route('admin.course-requests.destroy', $request) }}" method="POST" class="d-inline" onsubmit="return confirm('Удалить заявку?')">
@csrf
@method('DELETE')
<button class="btn btn-outline-danger" title="Удалить"><i class="bi bi-trash"></i></button>
</form>
@endif
</div>

View File

@ -18,6 +18,11 @@
<button class="btn btn-danger btn-sm"><i class="bi bi-x-lg"></i> Отклонить</button>
</form>
<a href="{{ route('admin.course-requests.edit', $courseRequest) }}" class="btn btn-warning btn-sm"><i class="bi bi-pencil"></i> Редактировать</a>
<form action="{{ route('admin.course-requests.destroy', $courseRequest) }}" method="POST" class="d-inline" onsubmit="return confirm('Удалить заявку?')">
@csrf
@method('DELETE')
<button class="btn btn-danger btn-sm"><i class="bi bi-trash"></i> Удалить</button>
</form>
@endif
<a href="{{ route('admin.course-requests.index') }}" class="btn btn-secondary btn-sm">Назад</a>
</div>