Jelajahi Sumber

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	apps/tenant/operation_help/serializer.py
#	apps/tenant/operation_help/views.py
wushaodong 4 tahun lalu
induk
melakukan
8f999dc079

+ 13 - 4
apps/tenant/operation_help/models.py

@@ -14,20 +14,29 @@ class OperationHelp(models.Model):
     create_time = models.DateTimeField(verbose_name='创建时间', auto_now_add=True)
     enable = models.BooleanField(verbose_name=u"在用", default=True)
     tenant = models.ForeignKey(Tenant, verbose_name=u'企业', editable=False, on_delete=models.PROTECT, null=True)
-    image = models.CharField(verbose_name=u'图片路径', max_length=250,blank=True)
-    width = models.IntegerField(verbose_name=u"图片宽度",blank=True, default=0)
-    height = models.IntegerField(verbose_name=u"图片高度",blank=True, default=0)
+
 
     class Meta:
         db_table = 'operation_help'
         ordering = ['-id', 'tenant']
         verbose_name = u'运维帮助'
 
+class OperationHelpImg(models.Model):
+    image = models.CharField(verbose_name=u'图片路径', max_length=250)
+    width = models.IntegerField(verbose_name=u"图片宽度")
+    height = models.IntegerField(verbose_name=u"图片高度")
+
+
+    class Meta:
+        db_table = 'operation_help_img'
+        ordering = ['-id']
+        verbose_name = u'运维帮助图片'
+
     def _add_img(self, file, user_id):
         width = None
         height = None
 
-        path = "operation_help/"
+        path = "operation_help_img/"
         filename = UploadFile(file, path, user_id)
         fullname = "%s%s" % (settings.MEDIA_ROOT, filename)
 

+ 6 - 0
apps/tenant/operation_help/serializer.py

@@ -17,7 +17,13 @@ class OperationHelpSerializer(serializers.ModelSerializer):
         fields = '__all__'
 
     def create(self, validated_data):
+        if 'file' in self.initial_data:
+            validated_data['images'] = self.initial_data['file'].split(',')
         validated_data['create_user'] = self.context['request'].user
         validated_data['tenant'] = self.context['request'].user.employee.tenant
         instance = super(OperationHelpSerializer, self).create(validated_data)
+
         return instance
+
+
+

+ 17 - 9
apps/tenant/operation_help/views.py

@@ -4,15 +4,14 @@ from utils.custom_modelviewset import CustomModelViewSet
 from rest_framework.decorators import action
 import json
 
-from .models import OperationHelp
+from .models import OperationHelp,OperationHelpImg
 from utils.permission import IsAdministratorUser
 from .serializer import OperationHelpSerializer
+from apps.tenant import tenant_log
 from apps.log.models import BizLog
 from .filters import OperationHelpFilter
-from django.db import transaction
-from utils.exceptions import CustomError
 from utils import response_ok, response_error
-
+from django.db import transaction
 
 class OperationHelpViewSet(CustomModelViewSet):
     permission_classes = [IsAdministratorUser, ]
@@ -25,14 +24,23 @@ class OperationHelpViewSet(CustomModelViewSet):
         return f.qs
 
     def perform_create(self, serializer):
-        super(OperationHelpViewSet, self).perform_create(serializer)
+        super(OperationHelpViewSet,self).perform_create(serializer)
         instance = serializer.instance
         validated_data = serializer.validated_data
-        BizLog.objects.addnew(instance.tenant, self.request.user, BizLog.INSERT, u'添加运维帮助信息,id={}'.format(instance.id), validated_data)
+        tenant_log(self.request.user.employee, BizLog.INSERT, u'添加运维帮助[%s],id=%d' % (instance.name, instance.id),
+                   validated_data)
 
     def perform_update(self, serializer):
-        super(OperationHelpViewSet, self).perform_update(serializer)
+        super(OperationHelpViewSet,self).perform_update(serializer)
         instance = serializer.instance
         validated_data = serializer.validated_data
-        BizLog.objects.addnew(instance.tenant, self.request.user, BizLog.INSERT, u'修改运维帮助信息,id={}'.format(instance.id),
-                              validated_data)
+        tenant_log(self.request.user.employee, BizLog.INSERT, u'修改运维帮助[%s],id=%d' % (instance.name, instance.id),
+                   validated_data)
+
+    @action(methods=['post'], detail=False)
+    def upload_image(self, request):
+        file = self.request.FILES.get('file')
+        img = OperationHelpImg.objects._add_img(file,request.user)
+        if img:
+            return response_ok(img.image)
+        return response_error('上传失败,请重新上传!')