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) {