This commit is contained in:
gsinghpal
2026-02-23 00:32:20 -05:00
parent d6bac8e623
commit e8e554de95
549 changed files with 1330 additions and 124935 deletions

View File

@@ -1310,48 +1310,42 @@
handleReasonChange();
}
function disableFormInputs(form) {
if (!form) return;
form.style.display = 'none';
form.querySelectorAll('input, select, textarea').forEach(function(el) {
el.disabled = true;
if (el.hasAttribute('required')) {
el.removeAttribute('required');
el.dataset.wasRequired = 'true';
}
});
}
function enableFormInputs(form) {
if (!form) return;
form.style.display = 'block';
form.querySelectorAll('input, select, textarea').forEach(function(el) {
el.disabled = false;
if (el.dataset.wasRequired === 'true') {
el.setAttribute('required', 'required');
}
});
}
function showEquipmentForm() {
var value = equipmentSelect ? equipmentSelect.value : '';
// Hide all forms and disable required on hidden fields
if (rollatorForm) {
rollatorForm.style.display = 'none';
rollatorForm.querySelectorAll('[required]').forEach(function(el) {
el.removeAttribute('required');
el.dataset.wasRequired = 'true';
});
}
if (wheelchairForm) {
wheelchairForm.style.display = 'none';
wheelchairForm.querySelectorAll('[required]').forEach(function(el) {
el.removeAttribute('required');
el.dataset.wasRequired = 'true';
});
}
if (powerchairForm) {
powerchairForm.style.display = 'none';
powerchairForm.querySelectorAll('[required]').forEach(function(el) {
el.removeAttribute('required');
el.dataset.wasRequired = 'true';
});
}
disableFormInputs(rollatorForm);
disableFormInputs(wheelchairForm);
disableFormInputs(powerchairForm);
// Show selected form and restore required
if (value === 'rollator' && rollatorForm) {
rollatorForm.style.display = 'block';
rollatorForm.querySelectorAll('[data-was-required]').forEach(function(el) {
el.setAttribute('required', 'required');
});
} else if (value === 'wheelchair' && wheelchairForm) {
wheelchairForm.style.display = 'block';
wheelchairForm.querySelectorAll('[data-was-required]').forEach(function(el) {
el.setAttribute('required', 'required');
});
} else if (value === 'powerchair' && powerchairForm) {
powerchairForm.style.display = 'block';
powerchairForm.querySelectorAll('[data-was-required]').forEach(function(el) {
el.setAttribute('required', 'required');
});
if (value === 'rollator') {
enableFormInputs(rollatorForm);
} else if (value === 'wheelchair') {
enableFormInputs(wheelchairForm);
} else if (value === 'powerchair') {
enableFormInputs(powerchairForm);
}
}

View File

@@ -12,7 +12,8 @@
<div class="container-fluid py-3" id="pdf_field_editor"
t-att-data-template-id="template.id"
t-att-data-page-count="template.page_count or 1"
t-att-data-current-page="1">
t-att-data-current-page="1"
t-att-data-category="template.category or 'other'">
<!-- Header Bar -->
<div class="d-flex justify-content-between align-items-center mb-3">
@@ -96,7 +97,7 @@
</div>
</div>
<!-- Data Keys Reference (collapsible) -->
<!-- Data Keys Reference (collapsible, populated by JS) -->
<div class="card">
<div class="card-header py-2" style="cursor: pointer;"
data-bs-toggle="collapse" data-bs-target="#dataKeysCollapse">
@@ -106,36 +107,8 @@
</h6>
</div>
<div id="dataKeysCollapse" class="collapse">
<div class="card-body p-2" style="max-height: 250px; overflow-y: auto; font-size: 11px;">
<div class="mb-1"><strong>Client:</strong></div>
<code class="d-block">client_last_name</code>
<code class="d-block">client_first_name</code>
<code class="d-block">client_middle_name</code>
<code class="d-block">client_health_card</code>
<code class="d-block">client_health_card_version</code>
<code class="d-block">client_street</code>
<code class="d-block">client_unit</code>
<code class="d-block">client_city</code>
<code class="d-block">client_state</code>
<code class="d-block">client_postal_code</code>
<code class="d-block">client_phone</code>
<code class="d-block">client_email</code>
<code class="d-block">client_weight</code>
<div class="mb-1 mt-2"><strong>Consent:</strong></div>
<code class="d-block">consent_applicant</code>
<code class="d-block">consent_agent</code>
<code class="d-block">consent_date</code>
<code class="d-block">agent_rel_spouse</code>
<code class="d-block">agent_rel_parent</code>
<code class="d-block">agent_rel_child</code>
<code class="d-block">agent_rel_poa</code>
<code class="d-block">agent_rel_guardian</code>
<code class="d-block">agent_last_name</code>
<code class="d-block">agent_first_name</code>
<code class="d-block">agent_middle_initial</code>
<div class="mb-1 mt-2"><strong>Signatures:</strong></div>
<code class="d-block">signature_page_11</code>
<code class="d-block">signature_page_12</code>
<div class="card-body p-2" id="dataKeysList"
style="max-height: 300px; overflow-y: auto; font-size: 11px;">
</div>
</div>
</div>