fix(billing): robust shadow prune (charges before products + archive fallback)
This commit is contained in:
@@ -280,13 +280,17 @@ class FusionBillingInvoiceLedgerWizard(models.TransientModel):
|
||||
subs = self.env["sale.order"].search([("x_fc_shadow", "=", True)])
|
||||
counts["subscriptions"] = len(subs)
|
||||
subs.unlink()
|
||||
prods = self.env["product.product"].search([("default_code", "=like", "NC-%")])
|
||||
counts["products"] = len(prods)
|
||||
prods.unlink()
|
||||
ch = self.env["fusion.billing.charge"].search([])
|
||||
ch = self.env["fusion.billing.charge"].search([]) # before products (charge -> product)
|
||||
counts["charges"] = len(ch)
|
||||
ch.unlink()
|
||||
rec = self.env["fusion.billing.reconciliation"].search([])
|
||||
counts["reconciliations"] = len(rec)
|
||||
rec.unlink()
|
||||
prods = self.env["product.product"].search([("default_code", "=like", "NC-%")])
|
||||
counts["products"] = len(prods)
|
||||
try:
|
||||
prods.unlink()
|
||||
except Exception: # noqa: BLE001 - undeletable (referenced) products: archive instead
|
||||
prods.write({"active": False})
|
||||
counts["products_archived"] = len(prods)
|
||||
return counts
|
||||
|
||||
Reference in New Issue
Block a user