@@ -46,21 +46,62 @@ class UserView(viewsets.ModelViewSet):
4646 throttle_classes = [ScopedRateThrottle , ]
4747
4848
49- class UserChangeView (viewsets .ModelViewSet ):
50- queryset = User .objects .all ()
51- serializer_class = UserNoTypeSerializer
52- permission_classes = (UserPUTOnly ,)
49+ class UserChangeView (APIView ):
50+
5351 throttle_scope = "post"
5452 throttle_classes = [ScopedRateThrottle , ]
5553
56-
57- class UserChangeAllView (viewsets .ModelViewSet ):
58- queryset = User .objects .all ()
59- serializer_class = UserSerializer
60- permission_classes = (AuthPUTOnly ,)
54+ def put (self , request , format = None ):
55+ data = request .data .copy ()
56+ username = request .session .get ('user_id' , None )
57+ if username != None :
58+ user = User .objects .get (username = username )
59+ user .password = data ["password" ]
60+ user .name = data ["name" ]
61+ user .school = data ["school" ]
62+ user .course = data ["course" ]
63+ user .classes = data ["classes" ]
64+ user .number = data ["number" ]
65+ user .realname = data ["realname" ]
66+ user .qq = data ["qq" ]
67+ user .email = data ["email" ]
68+ user .save ()
69+ user2 = UserData .objects .get (username = username )
70+ user2 .des = data ["des" ]
71+ user2 .save ()
72+
73+ return Response ("ok" , status = HTTP_200_OK )
74+
75+ return Response ("nologin" , status = HTTP_400_BAD_REQUEST )
76+
77+
78+ class UserChangeAllView (APIView ):
6179 throttle_scope = "post"
6280 throttle_classes = [ScopedRateThrottle , ]
6381
82+ def put (self , request , format = None ):
83+ if request .session .get ('type' ,None ) != 3 :
84+ return Response ("no permission" , status = HTTP_400_BAD_REQUEST )
85+
86+ data = request .data .copy ()
87+ username = data ["username" ]
88+ if username != None :
89+ user = User .objects .get (username = username )
90+ if data ["password" ] != "." :
91+ user .password = data ["password" ]
92+ user .name = data ["name" ]
93+ user .school = data ["school" ]
94+ user .course = data ["course" ]
95+ user .classes = data ["classes" ]
96+ user .number = data ["number" ]
97+ user .realname = data ["realname" ]
98+ user .qq = data ["qq" ]
99+ user .email = data ["email" ]
100+ user .type = data ["type" ]
101+ user .save ()
102+ return Response ("ok" , status = HTTP_200_OK )
103+ return Response ("username error" , status = HTTP_400_BAD_REQUEST )
104+
64105class UserLoginDataView (viewsets .ModelViewSet ):
65106 queryset = UserLoginData .objects .all ().order_by ('-id' )
66107 serializer_class = UserLoginDataSerializer
0 commit comments