views.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. from utils.custom_modelviewset import CustomModelViewSet
  2. from utils.permission import IsTenantUser, IsAdministratorUser
  3. from rest_framework.views import APIView
  4. from .models import Option
  5. from .serializers import OptionSerializer
  6. from .filters import OptionFilter
  7. from apps.log.models import BizLog
  8. from utils import response_ok
  9. class DictView(APIView):
  10. def get(self, request):
  11. ret = {
  12. 'types':Option.TYPE_CHOICES,
  13. }
  14. return response_ok(ret)
  15. class OptionViewSet(CustomModelViewSet):
  16. queryset = Option.objects.filter()
  17. serializer_class = OptionSerializer
  18. def filter_queryset(self, queryset):
  19. queryset = queryset.filter()
  20. f = OptionFilter(self.request.GET, queryset=queryset)
  21. return f.qs
  22. def perform_create(self, serializer):
  23. super(OptionViewSet,self).perform_create(serializer)
  24. instance = serializer.instance
  25. validated_data = serializer.validated_data
  26. BizLog.objects.addnew(self.request.user, BizLog.INSERT,
  27. u'添加自定义项[%s],id=%d' % (instance.name, instance.id), validated_data)
  28. def perform_update(self, serializer):
  29. super(OptionViewSet,self).perform_update(serializer)
  30. instance = serializer.instance
  31. validated_data = serializer.validated_data
  32. BizLog.objects.addnew(self.request.user, BizLog.UPDATE,
  33. u'修改自定义项[%s],id=%d' % (instance.name, instance.id), validated_data)