Pārlūkot izejas kodu

Merge branch 'master' of http://git.zzliaoyuan.com:4000/wushaodong/decorate

lijiangwei 4 gadi atpakaļ
vecāks
revīzija
1de28f615e
3 mainītis faili ar 12 papildinājumiem un 4 dzēšanām
  1. 6 2
      apps/customer/serializers.py
  2. 3 0
      apps/order/models.py
  3. 3 2
      apps/order/serializers.py

+ 6 - 2
apps/customer/serializers.py

@@ -164,11 +164,15 @@ class NewCustomerSerializer(serializers.ModelSerializer):
         instance = super(NewCustomerSerializer, self).update(instance, validated_data)
         order = Order.objects.filter(customer=instance).first()
         if not order:
-            order = Order.objects.create(customer=instance, service_user_id=instance.track_user.id, status=Order.NORMAL)
+            order = Order.objects.create(customer=instance, service_user_id=instance.track_user.id, status=Order.NORMAL,
+                                         stage_progress=instance.stage_progress)
+            projects = instance.project.all()
+            for project in projects:
+                order.project.add(project.id)
             order.no = order.get_no()
             order.save()
         if order:
-            Order.objects.filter(no=order.no).update(customer=instance)
+            Order.objects.filter(no=order.no).update(stage_progress=instance.stage_progress)
         return instance
 
 

+ 3 - 0
apps/order/models.py

@@ -15,6 +15,9 @@ class Order(models.Model):
         (ABANDONED, u'放弃'),
     )
     no = models.CharField(max_length=50, verbose_name='单号', blank=True)
+    project = models.ManyToManyField(Option, verbose_name=u'项目', related_name='order_category', editable=False)
+    stage_progress = models.ForeignKey(Option, verbose_name=u'阶段进度', related_name='order_stage_progress',
+                                       on_delete=models.PROTECT)
     customer = models.ForeignKey(NewCustomer, related_name='order_customer', verbose_name=u"订单客户",
                                  on_delete=models.PROTECT)
     service_user = models.ForeignKey(settings.AUTH_USER_MODEL,related_name='order_service_user', verbose_name=u"服务人员",

+ 3 - 2
apps/order/serializers.py

@@ -7,16 +7,17 @@ from utils.booleancharfield import TimeCharField
 class OrderSerializer(serializers.ModelSerializer):
     service_user_text = serializers.CharField(source='service_user.name', read_only=True)
     create_time_f = TimeCharField(source='create_time', read_only=True)
+    status_text = serializers.CharField(source='get_status_display', read_only=True)
 
     name = serializers.CharField(source='customer.name', read_only=True)
     tel = serializers.CharField(source='customer.tel', read_only=True)
     village = serializers.CharField(source='customer.village', read_only=True)
     address = serializers.CharField(source='customer.address', read_only=True)
-    stage_progress_text = serializers.CharField(source='customer.stage_progress.name', read_only=True)
+    stage_progress_text = serializers.CharField(source='stage_progress.name', read_only=True)
     project_text = serializers.SerializerMethodField()
 
     def get_project_text(self, obj):
-        project = obj.customer.project.all()
+        project = obj.project.all()
         return ','.join(project.values_list('name', flat=True))
 
     class Meta: