KamoCRM

Editing top-level lines no longer deletes every option's lines

Fixkamo-shared-library
Shipped
26 ஆகஸ்ட், 2026 அன்று 7:25 PM UTC
Author
Kamo
Commit
00e601b

Quote.lineItems is orphanRemoval=true and option rows set both quote and option — which is why QuoteMapper filters on getOption() == null twice. A bare clear() in replaceLineItems therefore orphan-removed every option's rows whenever a PATCH supplied lineItems without options. The QuoteOption shells survived, recalculate repriced them to zero, and a three-option quote silently became three zero-priced options at HTTP 200.

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