feat(fusion_portal): assessment-visit redesign - live on westin 19.0.2.9.0

Bundles multiple assessments per home visit; on completion groups them by
funding workflow (x_fc_sale_type) into one draft sale order per workflow
(March of Dimes / ADP / ODSP / WSIB / private / hardship / insurance).
Adds the mobility scooter ADP device type, the power-mobility home-access
rule, ADP multi-device combination guard, and the portal visit workspace.

Verified on a westin-v19 clone (clean registry load + funding-grouping
smoke test) then deployed to westin prod (fusion_portal 19.0.2.9.0).
Prod's pre-existing orphaned tax links were preserved (Odoo skips existing
FKs), pending a later audit.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
gsinghpal
2026-06-02 08:23:43 -04:00
parent 319de06ca6
commit 13fabb0e79
14 changed files with 722 additions and 9 deletions

View File

@@ -388,6 +388,7 @@
<small class="text-muted">Determines which sale order / funding workflow this case enters.</small>
</div>
</div>
<input type="hidden" name="visit_id" id="acc_visit_id"/>
</div>
</div>
</template>
@@ -647,6 +648,15 @@
// Fallback if Google Maps not loaded
window.initAddressAutocomplete = window.initAddressAutocomplete || function() {};
// Carry visit_id from the workspace launch (?visit_id=) into the form
(function() {
var _vid = new URLSearchParams(window.location.search).get('visit_id');
if (_vid) {
var f = document.getElementById('acc_visit_id');
if (f) { f.value = _vid; }
}
})();
// Form submission
function saveAssessment(createSaleOrder) {
var form = document.getElementById('accessibility_form');