KamoCRM

Layout choices, and saving contact details as they go

FeatureSecurityService
Shipped
September 24, 2026 at 7:46 AM UTC
Author
Kamo
Commit
d345869

The publish dialog now chooses how the public mortgage application lays itself out (kamo-shared-library ac83bea1): NORMAL or SQUEEZE, contact details at the START or LAST, FULL or BASIC questions. - PUT **************** takes applicationLayout, applicationContactStep and applicationFieldSet; a missing one keeps what is stored, so retiring a page never resets its layout. The response echoes them. - GET /public/loan-application/{p} answers layout {type, contactStep, fieldSet}, always resolved. - POST **************** — for a START product only (404 otherwise): *** fail-closed, submission IP budget, name + email required. Creates the lead with source "Online Loan Application (unfinished)" and answers a 256-bit token held in Redis for a day, written inside the transaction so a Redis failure rolls the lead back rather than guaranteeing a duplicate. - PUT **************** adds answers to that lead through updateLead (absent = unchanged). Token bound to the product. - POST /public/loan-application/{p} with progressToken finishes that lead (source "Online Loan Application", receipt as before) instead of filing a second one; an unknown or expired token files a new lead as before. - Lead ownership is checked BEFORE updateLead rather than by catching its exception: it is @Transactional and would mark the request rollback-only. Ratchet baseline: startProgress and saveProgress added with their reasons, and byHost (added on main by 81e0756 without a line, which left the ratchet red).

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing