allow admins to delete approvals and activity entries
This commit is contained in:
@@ -2594,6 +2594,19 @@ function renderActivityLog() {
|
||||
details.textContent = JSON.stringify(entry.details, null, 2);
|
||||
block.appendChild(details);
|
||||
}
|
||||
if (isAdmin()) {
|
||||
const actions = document.createElement("div");
|
||||
actions.className = "actions";
|
||||
const deleteBtn = document.createElement("button");
|
||||
deleteBtn.type = "button";
|
||||
deleteBtn.className = "danger";
|
||||
deleteBtn.textContent = "Eintrag loeschen";
|
||||
deleteBtn.addEventListener("click", async () => {
|
||||
await deleteActivityEntry(entry.id);
|
||||
});
|
||||
actions.appendChild(deleteBtn);
|
||||
block.appendChild(actions);
|
||||
}
|
||||
els.activityLogList.appendChild(block);
|
||||
}
|
||||
}
|
||||
@@ -2813,6 +2826,17 @@ function renderApprovals() {
|
||||
await decideApproval(entry.id, false);
|
||||
});
|
||||
actions.appendChild(rejectBtn);
|
||||
|
||||
if (isAdmin()) {
|
||||
const deleteBtn = document.createElement("button");
|
||||
deleteBtn.type = "button";
|
||||
deleteBtn.className = "danger";
|
||||
deleteBtn.textContent = "Eintrag loeschen";
|
||||
deleteBtn.addEventListener("click", async () => {
|
||||
await deleteApprovalEntry(entry.id);
|
||||
});
|
||||
actions.appendChild(deleteBtn);
|
||||
}
|
||||
block.appendChild(actions);
|
||||
|
||||
els.approvalsList.appendChild(block);
|
||||
@@ -2863,6 +2887,32 @@ async function decideApproval(id, approve) {
|
||||
}
|
||||
}
|
||||
|
||||
async function deleteApprovalEntry(id) {
|
||||
clearMessages("approvals");
|
||||
try {
|
||||
await api(`/v1/approvals/${encodeURIComponent(id)}`, {
|
||||
method: "DELETE"
|
||||
});
|
||||
await refreshApprovals();
|
||||
renderMessage(els.approvalsMessage, "Freigabe-Eintrag geloescht", false, true);
|
||||
} catch (error) {
|
||||
renderMessage(els.approvalsMessage, error.message, true);
|
||||
}
|
||||
}
|
||||
|
||||
async function deleteActivityEntry(id) {
|
||||
clearMessages("activity");
|
||||
try {
|
||||
await api(`/v1/activity-log/${encodeURIComponent(id)}`, {
|
||||
method: "DELETE"
|
||||
});
|
||||
await refreshActivityLog();
|
||||
renderMessage(els.activityMessage, "Aktivitaets-Eintrag geloescht", false, true);
|
||||
} catch (error) {
|
||||
renderMessage(els.activityMessage, error.message, true);
|
||||
}
|
||||
}
|
||||
|
||||
function renderStatus() {
|
||||
const status = state.status;
|
||||
if (!status) {
|
||||
|
||||
Reference in New Issue
Block a user