Files
2026-10-11 19:04:20 +03:30

25 lines
970 B
Python

"""قواعد فعال/غیرفعال بودن پیامک برای مشتری (مدل opt-out)."""
from ..models import CustomerSMSSetting, SMSType
def is_sms_enabled(customer, sms_type):
"""اگر رکوردی با is_enabled=False وجود داشته باشد غیرفعال است؛ در غیر این‌صورت فعال."""
if customer is None:
return True
setting = CustomerSMSSetting.objects.filter(customer=customer, sms_type=sms_type).first()
if setting is None:
return True
return setting.is_enabled
def customer_toggle_map(customer):
"""فهرست نوع‌های پیامک با وضعیت مؤثر (برای نمایش در پنل مشتری)."""
overrides = {
s.sms_type: s.is_enabled
for s in CustomerSMSSetting.objects.filter(customer=customer)
}
return [
{"code": code, "label": label, "enabled": overrides.get(code, True)}
for code, label in SMSType.choices
]