fix mandehesab, bazdid, sms
This commit is contained in:
1 parent
7e5c83bea2
commit
1fd27d0445
22 files changed
+16462
-5918
No files matched your search
@@ -22,7 +22,35 @@ class VisitQueue(models.Model):
|
||||
|
||||
|
||||
class Action(models.Model):
|
||||
actionType = models.CharField(max_length=50, null=True, blank=True)
|
||||
"""اقدام/وظیفهٔ CRM مرتبط با مشتری.
|
||||
|
||||
``actionType`` فقط این شش مقدار را میپذیرد؛ همین شش مقدار در فرمهای پنل
|
||||
(``customerActionInc.html``) و در تمام مقایسههای کد (``== 'bazdid'``،
|
||||
``exclude(actionType='vosol')`` و …) استفاده میشوند.
|
||||
|
||||
``status`` نیز همان سه مقدارِ بهکاررفته در کد و قالبها را میپذیرد.
|
||||
املای ``'waite'`` عمداً حفظ شده است: ۲٫۷۱۹ رکورد موجودِ دیتابیس و تمام
|
||||
مقایسههای کد/قالب (``== 'waite'``، ``if filter_status == 'waite'``) با
|
||||
همین املا کار میکنند و تغییرش داده را از موتور جستوجو جدا میکند.
|
||||
"""
|
||||
|
||||
class ActionType(models.TextChoices):
|
||||
BAZDID = 'bazdid', 'بازدید'
|
||||
NASB = 'nasb', 'نصب'
|
||||
VOSOL = 'vosol', 'وصول مطالبات'
|
||||
HAMAHANGI = 'hamahangi', 'هماهنگی'
|
||||
IN_CALL = 'inCall', 'تماس ورودی'
|
||||
OUT_CALL = 'outCall', 'تماس خروجی'
|
||||
|
||||
class Status(models.TextChoices):
|
||||
# املا عیناً مطابق داده و کد فعلی است (نه 'wait').
|
||||
WAITE = 'waite', 'در انتظار (باز)'
|
||||
FINISH = 'finish', 'انجام شده'
|
||||
CANCELL = 'cancell', 'لغو شده'
|
||||
|
||||
actionType = models.CharField(
|
||||
max_length=50, null=True, blank=True, choices=ActionType.choices,
|
||||
)
|
||||
forUser = models.ForeignKey(User, on_delete=models.SET_NULL, null=True, blank=True)
|
||||
customer = models.ForeignKey('Customer', related_name='actionrlt', on_delete=models.CASCADE, null=True, blank=True)
|
||||
createdDT = models.DateTimeField(auto_now_add=True)
|
||||
@@ -31,7 +59,9 @@ class Action(models.Model):
|
||||
finishDateTime = models.DateTimeField(null=True, blank=True)
|
||||
desc = models.CharField(max_length=500, null=True, blank=True)
|
||||
result = models.CharField(max_length=500, null=True, blank=True)
|
||||
status = models.CharField(max_length=50, null=True, blank=True)
|
||||
status = models.CharField(
|
||||
max_length=50, null=True, blank=True, choices=Status.choices,
|
||||
)
|
||||
nazar = models.CharField(max_length=50, null=True, blank=True, default=None)
|
||||
nextNazarDT = models.DateTimeField(null=True, blank=True, default=None)
|
||||
nazarDT = models.DateTimeField(null=True, blank=True, default=None)
|
||||
|
||||
Reference in new issue
Block a user