3 Commits

Author SHA1 Message Date
ca60cd0619 Update 2025-11-27 01:37:39 +00:00
dbbebbaa3b revert f0d83b3cd8
revert Merge pull request 'add-new-case-history-tab' (#1) from add-new-case-history-tab into main

Reviewed-on: #1
2025-11-26 09:50:10 +00:00
f0d83b3cd8 Merge pull request 'add-new-case-history-tab' (#1) from add-new-case-history-tab into main
Reviewed-on: #1
2025-11-26 09:12:20 +00:00

View File

@@ -1,7 +1,7 @@
// ==UserScript== // ==UserScript==
// @name CoreTabs // @name CoreTabs1
// @namespace https://git.diasbaskara.id/diasbaskara/userscripts/ // @namespace https://git.diasbaskara.id/diasbaskara/userscripts/
// @version 0.4 // @version 0.5
// @description Manage your cases easily. // @description Manage your cases easily.
// @author Dias Baskara // @author Dias Baskara
// @match https://coretax.intranet.pajak.go.id/* // @match https://coretax.intranet.pajak.go.id/*
@@ -50,6 +50,7 @@
allCaseUsers = [], allCaseUsers = [],
caseHistoryData = [], caseHistoryData = [],
caseSubProcessData = {}, caseSubProcessData = {},
caseUsersRoleMap = {},
refundReviewData = [], refundReviewData = [],
filteredRefundData = [], filteredRefundData = [],
selectedCaseId = null, selectedCaseId = null,
@@ -378,9 +379,17 @@
// CaseRoleTypeCode in Performed By column // CaseRoleTypeCode in Performed By column
const roleCell = document.createElement("td"); const roleCell = document.createElement("td");
if (currentCaseRoleTypeCode) { if (currentCaseRoleTypeCode) {
roleCell.innerHTML = `<strong>Current Role:</strong><br><small style="color: #666;">${currentCaseRoleTypeCode}</small>`; // Get user names for this role type
const userNames = caseUsersRoleMap[currentCaseRoleTypeCode] || [];
let roleContent = `<strong style="color: #333;">${currentCaseRoleTypeCode}</strong>`;
if (userNames.length > 0) {
roleContent += `<br><small style="color: #888; font-size: 10px;">${userNames.map((name) => `${name}`).join("<br>")}</small>`;
}
roleCell.innerHTML = roleContent;
} else { } else {
roleCell.innerHTML = `<strong>Current Role:</strong><br><small style="color: #666; font-style: italic;">Not available</small>`; roleCell.innerHTML = `<strong style="color: #666; font-style: italic;">Not available</strong>`;
} }
currentRoleRow.appendChild(roleCell); currentRoleRow.appendChild(roleCell);
@@ -600,6 +609,17 @@
(loadedUsersForCaseId = caseId), (loadedUsersForCaseId = caseId),
populateFilter("users-role-filter", allCaseUsers, "CaseRoleType"), populateFilter("users-role-filter", allCaseUsers, "CaseRoleType"),
renderCaseUsersTable()); 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) { } catch (error) {
handleError(error, responseArea); handleError(error, responseArea);
} }
@@ -642,6 +662,9 @@
// Fetch CaseRoleTypeCode for each ToWorkflowStepIdentifier // Fetch CaseRoleTypeCode for each ToWorkflowStepIdentifier
await fetchCaseSubProcessData(caseId); await fetchCaseSubProcessData(caseId);
// Fetch user roles for matching with CaseRoleTypeCode
await fetchCaseUsers(caseId);
populateFilter("history-type-filter", caseHistoryData, "CaseType"); populateFilter("history-type-filter", caseHistoryData, "CaseType");
renderCaseHistoryTable(); renderCaseHistoryTable();
} catch (error) { } catch (error) {