diff --git a/index.html b/index.html
index bc6f3f8..6cfe9e2 100644
--- a/index.html
+++ b/index.html
@@ -3277,19 +3277,30 @@
return `${year}-${month < 10 ? '0' : ''}${month}-${day < 10 ? '0' : ''}${day}`;
}
function markTaskAsCompleted() {
- getConfirmation('Mark this task as completed?', { confirmText: 'Mark as completed' }).then(res => {
- if (res) {
- RIBC.admin.putTaskStatus('completed', appState.params.id, appState.params.branch, currentTask.dataset.taskId)
- // remove task from displayed list
- const taskId = `${appState.params.id}_${appState.params.branch}_${currentTask.dataset.taskId}`;
- const filteredTasks = RIBC.getDisplayedTasks().filter(task => task !== taskId)
- RIBC.admin.setDisplayedTasks(filteredTasks)
- renderBranchTasks()
- adminDataChanged();
- notify('Task marked as completed', 'success')
- }
- })
+ getConfirmation('Mark this task as completed?', { confirmText: 'Mark as completed' }).then(res => {
+ if (!res) return;
+
+ RIBC.admin.putTaskStatus('completed', appState.params.id, appState.params.branch, currentTask.dataset.taskId);
+
+ const taskId = `${appState.params.id}_${appState.params.branch}_${currentTask.dataset.taskId}`;
+
+ // safer lookup before calling
+ const getAssigned = RIBC.getAssignedInterns || RIBC.admin?.getAssignedInterns;
+ const assignedInterns = (typeof getAssigned === 'function' ? getAssigned(taskId) : []) || [];
+ const completionDate = Date.now();
+
+ assignedInterns.forEach(internId => {
+ RIBC.admin.addCompletedTask(internId, taskId, 0, { completionDate });
+ });
+
+ const filteredTasks = RIBC.getDisplayedTasks().filter(task => task !== taskId);
+ RIBC.admin.setDisplayedTasks(filteredTasks);
+ renderBranchTasks();
+ adminDataChanged();
+ notify('Task marked as completed', 'success');
+ });
}
+
function saveTaskChanges() {
const changedDetails = {
title: getRef('edit_task_title').value.trim(),