瀏覽代碼

订单审批

wushaodong 3 年之前
父節點
當前提交
5d3a8b5ec3
共有 2 個文件被更改,包括 26 次插入7 次删除
  1. 1 1
      apps/order/models.py
  2. 25 6
      apps/order/views.py

+ 1 - 1
apps/order/models.py

@@ -164,7 +164,7 @@ class OrderImages(models.Model):
     )
     type = models.PositiveSmallIntegerField(choices=TYPE_CHOICE, default=ONE)
     order = models.ForeignKey(Order, verbose_name=u'产品', on_delete=models.PROTECT, related_name='order_images')
-    image = models.ForeignKey(Upload, verbose_name=u'图片', on_delete=models.PROTECT)
+    image = models.ForeignKey(Upload, verbose_name=u'图片', on_delete=models.SET_NULL, null=True,)
     enable = models.BooleanField(verbose_name=u'是否在用', default=True, )
 
     class Meta:

+ 25 - 6
apps/order/views.py

@@ -224,6 +224,10 @@ class OrderViewSet(CustomModelViewSet):
         data = request.POST
         try:
             instance = self.get_object()
+            if instance.status == order.ONE:
+                raise CustomError('该客户信息已审核通过,禁止操作')
+            if instance.status == order.THREE:
+                raise CustomError('该客户信息被拒绝审批,禁止操作')
             with transaction.atomic():
                 serializer = self.get_serializer(instance, data=request.data)
                 if serializer.is_valid(raise_exception=True):
@@ -276,7 +280,7 @@ class OrderViewSet(CustomModelViewSet):
                     for item in json.loads(data):
                         OrderDetailEdit.objects.create(order=instance, value=item['name'], reason=item['reason'],
                                                        type=item['type'])
-                        if item['type'] == OrderDetailEdit.ONE:
+                        if int(item['type']) == OrderDetailEdit.ONE:
                             OrderImages.objects.filter(order=instance, type=item['name']).update(enable=False)
                     instance.status = order.TOW
                 instance.save()
@@ -300,17 +304,26 @@ class OrderViewSet(CustomModelViewSet):
         # order_id 订单id
         # upload_id 图片id
         try:
-            order = self.get_object()
+            instance = self.get_object()
+            if instance.status == order.ONE:
+                raise CustomError('该客户信息已审核通过,禁止操作')
+            if instance.status == order.THREE:
+                raise CustomError('该客户信息被拒绝审批,禁止操作')
             with transaction.atomic():
                 if type:
                     # 上传图片时,把不在使用的同类别图片删除。
-                    images = OrderImages.objects.filter(order=order, type=type, enable=False)
+                    images = OrderImages.objects.filter(order=instance, type=type, enable=False)
                     for image in images:
                         image.image.del_images()
                         image.delete()
                 upload = Upload.objects._addnew(file, 'user_image')
                 if upload:
-                    OrderImages.objects.create(order=order, type=type, image=upload)
+                    OrderImages.objects.create(order=instance, type=type, image=upload, )
+                    edit = OrderDetailEdit.objects.filter(type=OrderDetailEdit.ONE, order=instance,
+                                                          value=type).first()
+                    if edit:
+                        edit.edit_time = datetime.datetime.now()
+                        edit.save()
                     dict = {
                         'id': upload.id,
                         'path': upload.get_path(),
@@ -327,12 +340,16 @@ class OrderViewSet(CustomModelViewSet):
         upload_id = request.POST.get('id')
 
         try:
-            order = self.get_object()
+            instance = self.get_object()
+            if instance.status == order.ONE:
+                raise CustomError('该客户信息已审核通过,禁止操作')
+            if instance.status == order.THREE:
+                raise CustomError('该客户信息被拒绝审批,禁止操作')
             with transaction.atomic():
                 if upload_id:
                     upload = Upload.objects.filter(id=upload_id).first()
                     if upload:
-                        OrderImages.objects.filter(order=order, image_id=upload_id).delete()
+                        OrderImages.objects.filter(order=instance, image_id=upload_id).delete()
                         upload.del_images()
                         return response_ok()
                 return response_error('图片参数错误,删除失败')
@@ -411,6 +428,8 @@ class OrderViewSet(CustomModelViewSet):
             instance = self.get_object()
             if instance.category == order.ONE:
                 raise CustomError('已上报信息,禁止删除!')
+            if instance.status == order.THREE:
+                raise CustomError('该客户信息被拒绝审批,禁止操作')
             with transaction.atomic():
                 OrderDetailEdit.objects.filter(order=instance).delete()
                 images = OrderImages.objects.filter(order=instance)