fix mandehesab, bazdid, sms
This commit is contained in:
1 parent
7e5c83bea2
commit
1fd27d0445
22 files changed
+16462
-5918
No files matched your search
@@ -5,6 +5,7 @@ from uuid import uuid4
|
||||
from django.db import IntegrityError
|
||||
|
||||
from ..models import SMSDedup, SMSQueue, SMSTemplate, SMSType
|
||||
from .balance import customer_balance
|
||||
from .recipients import resolve_recipients
|
||||
from .render import render_template
|
||||
from .rules import is_sms_enabled
|
||||
@@ -22,6 +23,11 @@ def enqueue_sms(*, customer=None, sms_type, context=None, dedup_key=None,
|
||||
یا آزمایشی)، و ``SMSTemplate.auto_send`` که مدیر در صفحهٔ قالبها برای هر نوع
|
||||
پیامک روشن میکند تا پیامکهای خودکارِ اسکنر بدون صف تأیید ارسال شوند.
|
||||
|
||||
متغیرهای مشترکِ همهٔ قالبها (مثل ``{balance}`` = مانده حساب مشتری) همینجا و
|
||||
یکبار به ``context`` افزوده میشوند تا هر قالبی بتواند از آنها استفاده کند؛
|
||||
فراخوانها لازم نیست هر بار آنها را بسازند. اگر فراخوان خودش مقداری داده باشد
|
||||
(``context``) همان اولویت دارد.
|
||||
|
||||
هیچ استثنایی به فراخوان پرتاب نمیشود؛ خطاها فقط لاگ میشوند تا مسیر اصلی
|
||||
(مثلاً ایجاد مشتری یا اسکنر) هرگز بهخاطر پیامک مختل نشود.
|
||||
"""
|
||||
@@ -30,7 +36,10 @@ def enqueue_sms(*, customer=None, sms_type, context=None, dedup_key=None,
|
||||
template = SMSTemplate.objects.filter(sms_type=sms_type, is_enabled=True).first()
|
||||
if template is None:
|
||||
return 0
|
||||
message = render_template(template.text, context)
|
||||
ctx = dict(context or {})
|
||||
# متغیرهای سراسری قالبها؛ هرگز مقدار فراخوان را بازنویسی نمیکنند.
|
||||
ctx.setdefault("balance", customer_balance(customer))
|
||||
message = render_template(template.text, ctx)
|
||||
# «ارسال خودکار» هر نوع پیامک در صفحهٔ قالبها تعیین میشود؛ خاموش = بازبینی مدیر.
|
||||
approved = approved or template.auto_send
|
||||
|
||||
|
||||
Reference in new issue
Block a user