Browse Source

Signed-off-by: zry <admin@z-touhou.org>

zry 8 years ago
parent
commit
03f5d9eeba
1 changed files with 15 additions and 10 deletions
  1. 15 10
      UserManage/views/user.py

+ 15 - 10
UserManage/views/user.py

@@ -266,11 +266,12 @@ def XLSFileUser(request):
             except Exception,e:
                 kwvars = {'request':request,'xerror':e,}
                 return render_to_response('UserManage/user.addxls.error.html',kwvars,RequestContext(request))
-            try:
-                studentrole=RoleList.objects.get(name = u'学生')
-                querysetlist=[]
-                for ud in userdata:
-                    if ud[0]!=0:
+            
+            studentrole=RoleList.objects.get(name = u'学生')
+            querysetlist=[]
+            for ud in userdata:
+                if ud[0]!=0:
+                    try:
                         t_user=User(username=str(ud[0]),
                                  sid=ud[0],
                                  classid=GroupList.objects.get(classid = ud[4]),
@@ -282,11 +283,15 @@ def XLSFileUser(request):
                                  role=studentrole)
                         #t_user.set_password(ud[3])
                         querysetlist.append(t_user)
-                User.objects.bulk_create(querysetlist)
-                return HttpResponseRedirect(reverse('listuserurl'))
-            except Exception,e:
-                kwvars = {'request':request,'xerror':e,}
-                return render_to_response('UserManage/user.addxls.error.html',kwvars,RequestContext(request))
+                    except GroupList.DoesNotExist:
+                        kwvars = {'request':request,'xerror':u"无效的分组ID:%d (在学号为%d的行)"%(ud[4],ud[0])}
+                        return render_to_response('UserManage/user.addxls.error.html',kwvars,RequestContext(request))
+                    except Exception,e:
+                        kwvars = {'request':request,'xerror':e,}
+                        return render_to_response('UserManage/user.addxls.error.html',kwvars,RequestContext(request))
+            User.objects.bulk_create(querysetlist)
+            return HttpResponseRedirect(reverse('listuserurl'))
+            
     else:
         form = XLSFileForm()