Esempio n. 1
0
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())
Esempio n. 2
0
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')
Esempio n. 3
0
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())