def courseAdd(request): if not request.user.is_anonymous(): return render(request, 'CourseMain.html') else: errors = [] existed = [] addIsDone = False if request.method == 'POST': if 'file' in request.POST and len(request.POST.get('file')) > 0: #click confirm button fileTerms = re.split(',', request.POST.get('file')) s = "" for x in xrange(0, len(fileTerms) / LEN_OF_COURSE_TABLE): dbQuery = Course_info( course_id = fileTerms[0 + LEN_OF_COURSE_TABLE * x].encode('utf-8'), name = fileTerms[1 + LEN_OF_COURSE_TABLE * x].encode('utf-8'), credits = fileTerms[2 + LEN_OF_COURSE_TABLE * x].encode('utf-8'), semester = fileTerms[3 + LEN_OF_COURSE_TABLE * x].encode('utf-8'), textbook = fileTerms[4 + LEN_OF_COURSE_TABLE * x].encode('utf-8'), college = fileTerms[5 + LEN_OF_COURSE_TABLE * x].encode('utf-8'), ) if Course_info.objects.filter(course_id = fileTerms[0 + LEN_OF_COURSE_TABLE * x]): #test duplicate add s = s + str(x) isExist = True existed.append(fileTerms[0 + x * LEN_OF_COURSE_TABLE : LEN_OF_COURSE_TABLE + x * LEN_OF_COURSE_TABLE]) else: dbQuery.save() addIsDone = True form = CourseForm() elif request.FILES.get('file'): #dealing with upload fileLocation = request.FILES.get('file') fileTerms = re.split(',|\n', fileLocation.read()) multiAdd = True terms = [] for x in xrange(0, len(fileTerms) / LEN_OF_COURSE_TABLE): terms.append(fileTerms[0 + x * LEN_OF_COURSE_TABLE : LEN_OF_COURSE_TABLE + x * LEN_OF_COURSE_TABLE]) elif request.POST.get('multiAddCancle'): #click cancle button form = CourseForm() else: #regular form submit form = CourseForm(request.POST) if form.is_valid(): info = form.cleaned_data dbQuery = Course_info( course_id = info['course_id'], name = info['course_name'], credits = info['credits'], semester = info['semester'], textbook = info['textbook'], college = info['college'], ) dbQuery.save() addIsDone = True form = CourseForm() else: #raw form form = CourseForm() return render(request, 'AddCourse.html', locals())
def courseAdd(request): errors = [] errorImport = [] addIsDone = False #===========USER GROUP CHECK========================================================# isAdmin = False # isFaculty = False # userName = request.user.username # if Admin_user.objects.filter(id = userName): # userInfo = Admin_user.objects.filter(id = userName) # if userInfo[0].college == 'all': # isAdmin = True # userCollege = -1 # else: # isFaculty = True # userCollege = userInfo[0].college # elif Faculty_user.objects.filter(id = userName): # userInfo = Faculty_user.objects.filter(id = userName) # if userInfo[0].isSpecial and request.user.has_perm("IMS.course_manage"): # isFaculty = True # userCollege = userInfo[0].college # elif Student_user.objects.filter(id = userName): # userInfo = Student_user.objects.filter(id = userName) # if userInfo[0].isSpecial and request.user.has_perm("IMS.course_manage"): # isFaculty = True # userCollege = userInfo[0].college # #isAdmin = True # #isFaculty = False # #userCollege = -1 # #============END OF GROUP CHECK=====================================================# if request.method == 'POST': if request.POST.get('multiAddCancle') or request.POST.get('first'): #click cancle button or first access if isAdmin: form = CourseForm() if isFaculty: facultyAdd = True form = CourseFormFacultyAdd() elif 'file' in request.POST and len(request.POST.get('file')) > 0: #click confirm button fileTerms = re.split(',', request.POST.get('file')) for x in xrange(0, len(fileTerms) / LEN_OF_COURSE_TABLE): dbQuery = Course_info( course_id = fileTerms[0 + LEN_OF_COURSE_TABLE * x].encode('utf-8'), name = fileTerms[1 + LEN_OF_COURSE_TABLE * x].encode('utf-8'), credits = fileTerms[2 + LEN_OF_COURSE_TABLE * x].encode('utf-8'), semester = fileTerms[3 + LEN_OF_COURSE_TABLE * x].encode('utf-8'), textbook = fileTerms[4 + LEN_OF_COURSE_TABLE * x].encode('utf-8'), college = fileTerms[5 + LEN_OF_COURSE_TABLE * x].encode('utf-8'), course_type = fileTerms[6 + LEN_OF_COURSE_TABLE * x].encode('utf-8'), ) state = importCheck(fileTerms[0 + LEN_OF_COURSE_TABLE * x : LEN_OF_COURSE_TABLE * (x + 1)], isAdmin, isFaculty, userCollege) if state == 'YEAH'.encode('utf-8'): dbQuery.save() else: errorExist = True returnListItem = fileTerms[0 + LEN_OF_COURSE_TABLE * x : LEN_OF_COURSE_TABLE * (x + 1)]; returnListItem.append(state) errorImport.append(returnListItem) addIsDone = True if isAdmin: form = CourseForm() if isFaculty: facultyAdd = True form = CourseFormFacultyAdd() elif request.FILES.get('file'): #dealing with upload fileLocation = request.FILES.get('file') fileTerms = re.split(',|\n', fileLocation.read()) multiAdd = True terms = [] for x in xrange(0, len(fileTerms) / LEN_OF_COURSE_TABLE): terms.append(fileTerms[0 + x * LEN_OF_COURSE_TABLE : LEN_OF_COURSE_TABLE + x * LEN_OF_COURSE_TABLE]) else: #regular form submit if isAdmin: form = CourseForm(request.POST) if form.is_valid(): info = form.cleaned_data dbQuery = Course_info( course_id = info['course_id'], name = info['course_name'], credits = info['credits'], semester = info['semester'], textbook = info['textbook'], college = info['college'], course_type = info['course_type'], ) dbQuery.save() addIsDone = True form = CourseForm() elif isFaculty: form = CourseFormFacultyAdd(request.POST) if form.is_valid(): info = form.cleaned_data dbQuery = Course_info( course_id = info['course_id'], name = info['course_name'], credits = info['credits'], semester = info['semester'], textbook = info['textbook'], college = userCollege, course_type = info['course_type'], ) dbQuery.save() addIsDone = True facultyAdd = True form = CourseFormFacultyAdd() return render(request, 'AddCourse.html', locals()) return render(request, 'AccessFault.html')
def courseAdd(request): if not request.user.is_anonymous(): return render(request, 'CourseMain.html') else: errors = [] existed = [] addIsDone = False if request.method == 'POST': if 'file' in request.POST and len( request.POST.get('file')) > 0: #click confirm button fileTerms = re.split(',', request.POST.get('file')) s = "" for x in xrange(0, len(fileTerms) / LEN_OF_COURSE_TABLE): dbQuery = Course_info( course_id=fileTerms[0 + LEN_OF_COURSE_TABLE * x].encode('utf-8'), name=fileTerms[1 + LEN_OF_COURSE_TABLE * x].encode('utf-8'), credits=fileTerms[2 + LEN_OF_COURSE_TABLE * x].encode('utf-8'), semester=fileTerms[3 + LEN_OF_COURSE_TABLE * x].encode('utf-8'), textbook=fileTerms[4 + LEN_OF_COURSE_TABLE * x].encode('utf-8'), college=fileTerms[5 + LEN_OF_COURSE_TABLE * x].encode('utf-8'), ) if Course_info.objects.filter( course_id=fileTerms[0 + LEN_OF_COURSE_TABLE * x]): #test duplicate add s = s + str(x) isExist = True existed.append( fileTerms[0 + x * LEN_OF_COURSE_TABLE:LEN_OF_COURSE_TABLE + x * LEN_OF_COURSE_TABLE]) else: dbQuery.save() addIsDone = True form = CourseForm() elif request.FILES.get('file'): #dealing with upload fileLocation = request.FILES.get('file') fileTerms = re.split(',|\n', fileLocation.read()) multiAdd = True terms = [] for x in xrange(0, len(fileTerms) / LEN_OF_COURSE_TABLE): terms.append( fileTerms[0 + x * LEN_OF_COURSE_TABLE:LEN_OF_COURSE_TABLE + x * LEN_OF_COURSE_TABLE]) elif request.POST.get('multiAddCancle'): #click cancle button form = CourseForm() else: #regular form submit form = CourseForm(request.POST) if form.is_valid(): info = form.cleaned_data dbQuery = Course_info( course_id=info['course_id'], name=info['course_name'], credits=info['credits'], semester=info['semester'], textbook=info['textbook'], college=info['college'], ) dbQuery.save() addIsDone = True form = CourseForm() else: #raw form form = CourseForm() return render(request, 'AddCourse.html', locals())