forked from erp-dev/erp
feat: added custom signal for pre sales order created
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user