From 61d1d9ec9030baf6061decc2159202d29959c0c4 Mon Sep 17 00:00:00 2001 From: xiaoyu <763691951@qq.com> Date: Wed, 21 Sep 2016 15:48:21 +0800 Subject: [PATCH] temp --- apps/users/api.py | 8 ++++- apps/users/serializers.py | 8 +++++ apps/users/templates/users/user_list.html | 39 ++++++++++++++++------- apps/users/urls.py | 1 + 4 files changed, 43 insertions(+), 13 deletions(-) diff --git a/apps/users/api.py b/apps/users/api.py index 2f683dcb6..c90bde910 100644 --- a/apps/users/api.py +++ b/apps/users/api.py @@ -4,9 +4,10 @@ import logging from rest_framework import generics +from rest_framework_bulk import ListBulkCreateUpdateDestroyAPIView from .serializers import UserSerializer, UserGroupSerializer, UserAttributeSerializer, UserGroupEditSerializer, \ - GroupEditSerializer, UserPKUpdateSerializer + GroupEditSerializer, UserPKUpdateSerializer, UserBulkUpdateSerializer from .models import User, UserGroup @@ -92,3 +93,8 @@ class UserUpdatePKApi(generics.UpdateAPIView): class GroupDeleteApi(generics.DestroyAPIView): queryset = UserGroup.objects.all() serializer_class = GroupEditSerializer + + +class UserBulkUpdateApi(ListBulkCreateUpdateDestroyAPIView): + queryset = User.objects.all() + serializer_class = UserBulkUpdateSerializer diff --git a/apps/users/serializers.py b/apps/users/serializers.py index 8e117a90d..9c8000cd3 100644 --- a/apps/users/serializers.py +++ b/apps/users/serializers.py @@ -3,6 +3,7 @@ from django.utils.translation import ugettext_lazy as _ from rest_framework import serializers +from rest_framework_bulk import BulkListSerializer, BulkSerializerMixin from .models import User, UserGroup @@ -67,3 +68,10 @@ class UserPKUpdateSerializer(serializers.ModelSerializer): print e raise serializers.ValidationError(_('Not a valid ssh public key')) return value + + +class UserBulkUpdateSerializer(BulkSerializerMixin, serializers.ModelSerializer): + + class Meta(object): + model = User + list_serializer_class = BulkListSerializer diff --git a/apps/users/templates/users/user_list.html b/apps/users/templates/users/user_list.html index 2017510ea..189808878 100644 --- a/apps/users/templates/users/user_list.html +++ b/apps/users/templates/users/user_list.html @@ -22,7 +22,7 @@ {% for user in object_list %} - + @@ -50,23 +50,38 @@ {% endblock %} {% block content_bottom_left %} - +{% endblock %} +{% block custom_foot_js %} + {% endblock %} - diff --git a/apps/users/urls.py b/apps/users/urls.py index e4ccce63e..59d96c0b7 100644 --- a/apps/users/urls.py +++ b/apps/users/urls.py @@ -36,6 +36,7 @@ urlpatterns = [ urlpatterns += [ url(r'^v1/users$', api.UserListAddApi.as_view(), name='user-list-api'), + url(r'^v1/users/update/$', api.UserBulkUpdateApi.as_view(), name='user-bulk-update-api'), url(r'^v1/users/(?P[0-9]+)$', api.UserDetailDeleteUpdateApi.as_view(), name='user-detail-api'), url(r'^v1/users/(?P[0-9]+)/patch$',