views.py 1.4 KB

123456789101112131415161718192021222324252627282930313233
  1. # coding=utf-8
  2. from rest_framework.viewsets import ReadOnlyModelViewSet
  3. from rest_framework.views import APIView
  4. from utils import response_ok, response_error
  5. from apps.system.models import SysLog
  6. from utils.permission import IsAdministrator, IsStaff
  7. from utils.custom_modelviewset import CustomModelViewSet
  8. from apps.knowledge.models import KnowledgeBase, KnowledgeBaseFeedback
  9. from apps.knowledge.filters import KnowledgeBaseFilter
  10. from apps.knowledge.serializers import KnowledgeBaseSerializer, KnowledgeBaseFeedbackSerializer
  11. class KnowledgeViewSet(ReadOnlyModelViewSet):
  12. permission_classes = [IsStaff, ]
  13. queryset = KnowledgeBase.objects.filter(delete=False)
  14. serializer_class = KnowledgeBaseSerializer
  15. def filter_queryset(self, queryset):
  16. f = KnowledgeBaseFilter(self.request.GET, queryset=queryset)
  17. return f.qs
  18. class KnowledgeBaseFeedbackViewSet(CustomModelViewSet):
  19. permission_classes = [IsStaff, ]
  20. queryset = KnowledgeBaseFeedback.objects.filter()
  21. serializer_class = KnowledgeBaseFeedbackSerializer
  22. def perform_create(self, serializer):
  23. super(KnowledgeBaseFeedbackViewSet, self).perform_create(serializer)
  24. instance = serializer.instance
  25. validated_data = serializer.validated_data
  26. SysLog.objects.addnew(self.request.user, SysLog.INSERT, u'添加知识错误反馈,id=%d' % instance.id, validated_data)