diff --git a/coretabs.user.js b/coretabs.user.js
index 4aecdbe..74bf846 100644
--- a/coretabs.user.js
+++ b/coretabs.user.js
@@ -50,6 +50,7 @@
allCaseUsers = [],
caseHistoryData = [],
caseSubProcessData = {},
+ caseUsersRoleMap = {},
refundReviewData = [],
filteredRefundData = [],
selectedCaseId = null,
@@ -378,9 +379,17 @@
// CaseRoleTypeCode in Performed By column
const roleCell = document.createElement("td");
if (currentCaseRoleTypeCode) {
- roleCell.innerHTML = `Current Role:
${currentCaseRoleTypeCode}`;
+ // Get user names for this role type
+ const userNames = caseUsersRoleMap[currentCaseRoleTypeCode] || [];
+ let roleContent = `${currentCaseRoleTypeCode}`;
+
+ if (userNames.length > 0) {
+ roleContent += `
${userNames.map((name) => `• ${name}`).join("
")}`;
+ }
+
+ roleCell.innerHTML = roleContent;
} else {
- roleCell.innerHTML = `Current Role:
Not available`;
+ roleCell.innerHTML = `Not available`;
}
currentRoleRow.appendChild(roleCell);
@@ -600,6 +609,17 @@
(loadedUsersForCaseId = caseId),
populateFilter("users-role-filter", allCaseUsers, "CaseRoleType"),
renderCaseUsersTable());
+
+ // Create role-to-users lookup map for Case History tab
+ caseUsersRoleMap = {};
+ allCaseUsers.forEach((user) => {
+ if (user.CaseRoleType && user.FullName) {
+ if (!caseUsersRoleMap[user.CaseRoleType]) {
+ caseUsersRoleMap[user.CaseRoleType] = [];
+ }
+ caseUsersRoleMap[user.CaseRoleType].push(user.FullName);
+ }
+ });
} catch (error) {
handleError(error, responseArea);
}
@@ -642,6 +662,9 @@
// Fetch CaseRoleTypeCode for each ToWorkflowStepIdentifier
await fetchCaseSubProcessData(caseId);
+ // Fetch user roles for matching with CaseRoleTypeCode
+ await fetchCaseUsers(caseId);
+
populateFilter("history-type-filter", caseHistoryData, "CaseType");
renderCaseHistoryTable();
} catch (error) {