1
0
forked from erp-dev/erp

feat: added custom signal for pre sales order created

This commit is contained in:
2026-01-31 23:58:40 +08:00
parent f643b643b7
commit a633a617d5
5 changed files with 173 additions and 0 deletions

View File

@@ -211,6 +211,28 @@ def create_pre_sales_order(
]
)
# domain event: pre sales order created
# must be fired only after commit to avoid triggering on rollbacks
def _send_created_signal():
try:
from .signals import pre_sales_order_created
pre_sales_order_created.send(
sender=models.PreSalesOrder,
instance=pre_sales_order,
created_by=created_by,
operator=operator,
items_count=len(normalized_items),
)
except Exception:
import logging
logging.getLogger(__name__).exception(
'[business.pre_order_services] 触发 pre_sales_order_created signal 失败(已忽略)'
)
transaction.on_commit(_send_created_signal)
pre_sales_order.refresh_from_db()
return pre_sales_order