Add caseTypeKey fallback to prevent module load cascade on parse errors

This commit is contained in:
Christian 2026-04-02 22:06:37 +02:00
parent ae6217b976
commit 73c477bcea

View File

@ -2502,6 +2502,7 @@
// inline script fails to parse due template edge-cases. // inline script fails to parse due template edge-cases.
var caseTypeModuleDefaults = window.caseTypeModuleDefaults || {}; var caseTypeModuleDefaults = window.caseTypeModuleDefaults || {};
window.caseTypeModuleDefaults = caseTypeModuleDefaults; window.caseTypeModuleDefaults = caseTypeModuleDefaults;
window.caseTypeKey = window.caseTypeKey || {{ ((case.template_key or case.type or 'ticket')|lower)|tojson }};
window.forceCaseTabActivation = window.forceCaseTabActivation || function(tabId) { window.forceCaseTabActivation = window.forceCaseTabActivation || function(tabId) {
if (!tabId) return; if (!tabId) return;
@ -9790,6 +9791,7 @@
if (btn) btn.style.setProperty('--tcolor', newColor); if (btn) btn.style.setProperty('--tcolor', newColor);
if (lbl) lbl.textContent = newLabel; if (lbl) lbl.textContent = newLabel;
if (ico) { ico.className = 'bi ' + newIcon; } if (ico) { ico.className = 'bi ' + newIcon; }
window.caseTypeKey = String(newType || 'ticket').toLowerCase();
try { try {
const resp = await fetch(`/api/v1/sag/${caseId}`, { const resp = await fetch(`/api/v1/sag/${caseId}`, {
@ -10083,7 +10085,10 @@
'Sag-detalje': ['pipeline', 'hardware', 'locations', 'contacts', 'customers', 'wiki', 'tags', 'todo-steps', 'relations', 'call-history', 'files', 'emails', 'solution', 'time', 'sales', 'subscription', 'reminders', 'calendar'] 'Sag-detalje': ['pipeline', 'hardware', 'locations', 'contacts', 'customers', 'wiki', 'tags', 'todo-steps', 'relations', 'call-history', 'files', 'emails', 'solution', 'time', 'sales', 'subscription', 'reminders', 'calendar']
}; };
const defaultsByCaseType = caseTypeModuleDefaults[caseTypeKey]; const currentCaseTypeKey = (typeof caseTypeKey !== 'undefined' && caseTypeKey)
? caseTypeKey
: (window.caseTypeKey || 'ticket');
const defaultsByCaseType = caseTypeModuleDefaults[currentCaseTypeKey];
const standardModules = Array.isArray(defaultsByCaseType) && defaultsByCaseType.length > 0 const standardModules = Array.isArray(defaultsByCaseType) && defaultsByCaseType.length > 0
? defaultsByCaseType ? defaultsByCaseType
: (viewDefaults[viewName] || []); : (viewDefaults[viewName] || []);