diff --git a/modules/helpdesk/pages/helpdesk/handovers/create(default).phtml b/modules/helpdesk/pages/helpdesk/handovers/create(default).phtml index c798ecc..7fda7c2 100644 --- a/modules/helpdesk/pages/helpdesk/handovers/create(default).phtml +++ b/modules/helpdesk/pages/helpdesk/handovers/create(default).phtml @@ -150,10 +150,11 @@ if ($canManage && $mode === 'assign' && $step === 2) { >
-
+ diff --git a/modules/helpdesk/web/js/handover-domain-select.js b/modules/helpdesk/web/js/handover-domain-select.js index 4a2a56d..e4203f1 100644 --- a/modules/helpdesk/web/js/handover-domain-select.js +++ b/modules/helpdesk/web/js/handover-domain-select.js @@ -23,6 +23,7 @@ export function initHandoverDomainSelect(root = document) { const scope = group.closest('form') || document; const lookupContainer = scope.querySelector('[data-app-lookup]'); const domainSelect = group.querySelector('#wizard-domain'); + const domainNoInput = group.querySelector('#wizard-domain-no'); const domainUrlInput = group.querySelector('#wizard-domain-url'); const feedback = group.querySelector('#wizard-domain-feedback'); const manualBlock = group.querySelector('#wizard-domain-manual'); @@ -83,8 +84,9 @@ export function initHandoverDomainSelect(root = document) { manualUrlInput.value = ''; } // When showing manual, clear the hidden domain_no/url so only manual values submit - if (show && domainUrlInput) { - domainUrlInput.value = ''; + if (show) { + if (domainNoInput) domainNoInput.value = ''; + if (domainUrlInput) domainUrlInput.value = ''; } }; @@ -92,9 +94,8 @@ export function initHandoverDomainSelect(root = document) { clearOptions(); addPlaceholder(textInitial); domainSelect.disabled = true; - if (domainUrlInput) { - domainUrlInput.value = ''; - } + if (domainNoInput) domainNoInput.value = ''; + if (domainUrlInput) domainUrlInput.value = ''; setFeedback('', ''); showManual(false); }; @@ -145,18 +146,14 @@ export function initHandoverDomainSelect(root = document) { on(domainSelect, 'change', () => { const selected = domainSelect.options[domainSelect.selectedIndex]; - if (domainUrlInput) { - domainUrlInput.value = selected?.dataset.url || ''; - } + if (domainNoInput) domainNoInput.value = selected?.value || ''; + if (domainUrlInput) domainUrlInput.value = selected?.dataset.url || ''; }); // Sync manual inputs → hidden domain_no / domain_url fields if (manualNoInput) { on(manualNoInput, 'input', () => { - const hiddenNo = scope.querySelector('input[name="domain_no"]'); - if (hiddenNo) { - hiddenNo.value = manualNoInput.value.trim(); - } + if (domainNoInput) domainNoInput.value = manualNoInput.value.trim(); }); } if (manualUrlInput) { @@ -189,6 +186,9 @@ export function initHandoverDomainSelect(root = document) { domainSelect.dispatchEvent(new Event('change')); } }); + } else if (domainNoInput && domainNoInput.value) { + // Restore hidden value on page reload with validation errors (manual mode) + if (manualNoInput) manualNoInput.value = domainNoInput.value; } return {