mirror of
https://github.com/frappe/erpnext.git
synced 2026-08-19 17:30:01 +00:00
#8 ledger_preview: wrap the submit-in-memory dry run in a savepoint inside get_accounting_ledger_preview / get_stock_ledger_preview and roll back to it in a finally, so the preview never persists entries regardless of caller (previously only the whitelisted show_*_preview wrappers' full rollback made it safe). #9 exceptions: move BatchExpiredError and the QualityInspection* errors into a new erpnext/stock/exceptions.py and re-export them from stock_controller for backward compatibility (job_card and tests still import from the controller; identity is preserved). Services now import from the neutral module instead of back from the controller they were extracted out of. #10 quality inspection: extract the duplicated doctype->inspection-field map into a single INSPECTION_FIELDNAME_MAP constant in the service, consumed by both validate_inspection and check_item_quality_inspection. Verified: ledger snapshots, quality inspection suite, stock_entry batch-expiry test stay green; preview smoke-tested to persist nothing and not roll back the caller.