|
@@ -1,7 +1,9 @@
|
|
# coding=utf-8
|
|
# coding=utf-8
|
|
from django.db import models
|
|
from django.db import models
|
|
from django.conf import settings
|
|
from django.conf import settings
|
|
|
|
+from django.utils import timezone
|
|
|
|
|
|
|
|
+from utils.exceptions import CustomError
|
|
from apps.option.models import Option
|
|
from apps.option.models import Option
|
|
|
|
|
|
|
|
|
|
@@ -19,15 +21,15 @@ class Customer(models.Model):
|
|
tel = models.CharField(max_length=50, verbose_name=u'电话')
|
|
tel = models.CharField(max_length=50, verbose_name=u'电话')
|
|
gender = models.PositiveSmallIntegerField(choices=settings.GENDER_CHOICES, verbose_name=u'性别',
|
|
gender = models.PositiveSmallIntegerField(choices=settings.GENDER_CHOICES, verbose_name=u'性别',
|
|
default=settings.MALE)
|
|
default=settings.MALE)
|
|
- village = models.CharField(max_length=100,verbose_name=u'小区')
|
|
|
|
- address = models.CharField(max_length=100,verbose_name=u'地址')
|
|
|
|
- source = models.ForeignKey(Option,max_length=100,verbose_name=u'来源',related_name='customer_source',
|
|
|
|
- on_delete=models.PROTECT,null=True)
|
|
|
|
- project = models.ForeignKey(Option,max_length=100, verbose_name=u'项目',related_name='customer_category',
|
|
|
|
- on_delete=models.PROTECT,null=True)
|
|
|
|
|
|
+ village = models.CharField(max_length=100, verbose_name=u'小区')
|
|
|
|
+ address = models.CharField(max_length=100, verbose_name=u'地址')
|
|
|
|
+ source = models.ForeignKey(Option, max_length=100, verbose_name=u'来源', related_name='customer_source',
|
|
|
|
+ on_delete=models.PROTECT, null=True)
|
|
|
|
+ project = models.ForeignKey(Option, max_length=100, verbose_name=u'项目', related_name='customer_category',
|
|
|
|
+ on_delete=models.PROTECT, null=True)
|
|
notes = models.CharField(max_length=500, verbose_name=u"备注", null=True)
|
|
notes = models.CharField(max_length=500, verbose_name=u"备注", null=True)
|
|
- report_status = models.PositiveSmallIntegerField(choices=STATUS_CHOICES, verbose_name=u'报备状态',default=NOT_CHECKED)
|
|
|
|
- check_user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=u'审核人',related_name='customer_check_user',
|
|
|
|
|
|
+ report_status = models.PositiveSmallIntegerField(choices=STATUS_CHOICES, verbose_name=u'报备状态', default=NOT_CHECKED)
|
|
|
|
+ check_user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=u'审核人', related_name='customer_check_user',
|
|
on_delete=models.PROTECT,null=True)
|
|
on_delete=models.PROTECT,null=True)
|
|
check_time = models.DateTimeField(verbose_name=u'审核时间', editable=False, null=True)
|
|
check_time = models.DateTimeField(verbose_name=u'审核时间', editable=False, null=True)
|
|
|
|
|
|
@@ -40,12 +42,17 @@ class Customer(models.Model):
|
|
permissions = [
|
|
permissions = [
|
|
('view_customer', u'查看'),
|
|
('view_customer', u'查看'),
|
|
('add_customer', u'添加'),
|
|
('add_customer', u'添加'),
|
|
|
|
+ ('update_customer',u'更新'),
|
|
('delete_customer', u'删除'),
|
|
('delete_customer', u'删除'),
|
|
('check_customer', u'审核'),
|
|
('check_customer', u'审核'),
|
|
]
|
|
]
|
|
|
|
|
|
|
|
+ def check_customer(self, user):
|
|
|
|
+ # 审核
|
|
|
|
+ if self.report_status == Customer.REPEAT_REPORT:
|
|
|
|
+ raise CustomError('当前客户报备状态为重复报备!')
|
|
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
|
|
+ self.check_user = user
|
|
|
|
+ self.report_status = Customer.CHECKED
|
|
|
|
+ self.check_time = timezone.now()
|
|
|
|
+ self.save()
|