@@ -230,78 +230,85 @@ def member_management_edituser(uid):
230230    post_data  =  request .get_json ()
231231
232232    if  not  uid .isdigit ():
233-         active_member  =  post_data ['activeMember' ]
234- 
235-         if  ldap_is_eval_director (user_name ):
236-             logger .info ('backend' , action = "edit %s room: %s onfloor: %s housepts %s"  % 
237-                                           (uid , post_data ['roomNumber' ], post_data ['onfloorStatus' ],
238-                                            post_data ['housingPoints' ]))
239-             room_number  =  post_data ['roomNumber' ]
240-             onfloor_status  =  post_data ['onfloorStatus' ]
241-             housing_points  =  post_data ['housingPoints' ]
242- 
243-             ldap_set_roomnumber (uid , room_number )
244-             if  onfloor_status :
245-                 db .session .add (OnFloorStatusAssigned (uid , datetime .now ()))
246-                 ldap_add_member_to_group (uid , "onfloor" )
247-             else :
248-                 for  ofs  in  OnFloorStatusAssigned .query .filter (OnFloorStatusAssigned .uid  ==  uid ):
249-                     db .session .delete (ofs )
250-                 db .session .flush ()
251-                 db .session .commit ()
252- 
253-                 ldap_remove_member_from_group (uid , "onfloor" )
254-             ldap_set_housingpoints (uid , housing_points )
255- 
256-         # Only update if there's a diff 
257-         logger .info ('backend' , action = "edit %s active: %s"  %  (uid , active_member ))
258-         if  ldap_is_active (uid ) !=  active_member :
259-             if  active_member :
260-                 ldap_set_active (uid )
261-             else :
262-                 ldap_set_inactive (uid )
263- 
264-             if  active_member :
265-                 db .session .add (SpringEval (uid ))
266-             else :
267-                 SpringEval .query .filter (
268-                     SpringEval .uid  ==  uid  and 
269-                     SpringEval .active ).update (
270-                     {
271-                         'active' : False 
272-                     })
273-             clear_active_members_cache ()
233+         edit_uid (uid , user_name , post_data )
274234    else :
275-         logger .info ('backend' , action = "edit freshman account %s room: %s onfloor: %s eval_date: %s sig_missed %s"  % 
276-             (uid , post_data ['roomNumber' ], post_data ['onfloorStatus' ],
277-             post_data ['evalDate' ], post_data ['sigMissed' ]))
235+         edit_fid (uid , post_data )
278236
279-         name  =  post_data ['name' ]
237+     db .session .flush ()
238+     db .session .commit ()
239+     return  jsonify ({"success" : True }), 200 
280240
281-         if  post_data ['roomNumber' ] ==  "" :
282-             room_number  =  None 
283-         else :
284-             room_number  =  post_data ['roomNumber' ]
241+ def  edit_uid (uid , user_name , post_data ):
242+     active_member  =  post_data ['activeMember' ]
285243
244+     if  ldap_is_eval_director (user_name ):
245+         logger .info ('backend' , action = "edit %s room: %s onfloor: %s housepts %s"  % 
246+                                       (uid , post_data ['roomNumber' ], post_data ['onfloorStatus' ],
247+                                        post_data ['housingPoints' ]))
248+         room_number  =  post_data ['roomNumber' ]
286249        onfloor_status  =  post_data ['onfloorStatus' ]
287-         eval_date  =  post_data ['evalDate ' ]
250+         housing_points  =  post_data ['housingPoints ' ]
288251
289-         if  post_data ['sigMissed' ] ==  "" :
290-             sig_missed  =  None 
252+         ldap_set_roomnumber (uid , room_number )
253+         if  onfloor_status :
254+             db .session .add (OnFloorStatusAssigned (uid , datetime .now ()))
255+             ldap_add_member_to_group (uid , "onfloor" )
291256        else :
292-             sig_missed  =  post_data ['sigMissed' ]
293- 
294-         FreshmanAccount .query .filter (FreshmanAccount .id  ==  uid ).update ({
295-             'name' : name ,
296-             'eval_date' : datetime .strptime (eval_date , "%Y-%m-%d" ),
297-             'onfloor_status' : onfloor_status ,
298-             'room_number' : room_number ,
299-             'signatures_missed' : sig_missed 
300-         })
257+             for  ofs  in  OnFloorStatusAssigned .query .filter (OnFloorStatusAssigned .uid  ==  uid ):
258+                 db .session .delete (ofs )
259+             db .session .flush ()
260+             db .session .commit ()
261+ 
262+             ldap_remove_member_from_group (uid , "onfloor" )
263+         ldap_set_housingpoints (uid , housing_points )
264+ 
265+     # Only update if there's a diff 
266+     logger .info ('backend' , action = "edit %s active: %s"  %  (uid , active_member ))
267+     if  ldap_is_active (uid ) !=  active_member :
268+         if  active_member :
269+             ldap_set_active (uid )
270+         else :
271+             ldap_set_inactive (uid )
301272
302-     db .session .flush ()
303-     db .session .commit ()
304-     return  jsonify ({"success" : True }), 200 
273+         if  active_member :
274+             db .session .add (SpringEval (uid ))
275+         else :
276+             SpringEval .query .filter (
277+                 SpringEval .uid  ==  uid  and 
278+                 SpringEval .active ).update (
279+                 {
280+                     'active' : False 
281+                 })
282+         clear_active_members_cache ()
283+ 
284+ 
285+ def  edit_fid (uid , post_data ):
286+     logger .info ('backend' , action = "edit freshman account %s room: %s onfloor: %s eval_date: %s sig_missed %s"  % 
287+         (uid , post_data ['roomNumber' ], post_data ['onfloorStatus' ],
288+         post_data ['evalDate' ], post_data ['sigMissed' ]))
289+ 
290+     name  =  post_data ['name' ]
291+ 
292+     if  post_data ['roomNumber' ] ==  "" :
293+         room_number  =  None 
294+     else :
295+         room_number  =  post_data ['roomNumber' ]
296+ 
297+     onfloor_status  =  post_data ['onfloorStatus' ]
298+     eval_date  =  post_data ['evalDate' ]
299+ 
300+     if  post_data ['sigMissed' ] ==  "" :
301+         sig_missed  =  None 
302+     else :
303+         sig_missed  =  post_data ['sigMissed' ]
304+ 
305+     FreshmanAccount .query .filter (FreshmanAccount .id  ==  uid ).update ({
306+         'name' : name ,
307+         'eval_date' : datetime .strptime (eval_date , "%Y-%m-%d" ),
308+         'onfloor_status' : onfloor_status ,
309+         'room_number' : room_number ,
310+         'signatures_missed' : sig_missed 
311+     })
305312
306313
307314@member_management_bp .route ('/manage/user/<uid>' , methods = ['GET' ]) 
0 commit comments