Ejemplo n.º 1
0
    def setUp(self):
        '''Set up the test and category infrastructure.'''

        #Course Instantiation
        self.course = Course(name="testing course", slug="testing-course")
        self.course.save()

        self.course2 = Course(name="testing course2", slug="testing-course2")
        self.course2.save()

        #Course Section Instantiation
        self.coursesection = CourseSection(name="Section 1",
                                           course=self.course)
        self.coursesection.save()

        self.coursesection2 = CourseSection(name="Section 2",
                                            course=self.course2)
        self.coursesection2.save()

        #Category Instantiation
        self.category = Category(
            name="Category 1 for testing course",
            slug="cat-1-testing-course",
            section=self.coursesection,
        )
        self.category.save()

        self.category2 = Category(
            name="Category 1 for testing course",
            slug="cat-1-testing-course2",
            section=self.coursesection2,
        )
        self.category2.save()

        #SubCategory Instantiation
        self.subcategory = SubCategory(
            name="SubCategory 1 for testing course",
            slug="subcategory-1-testing-course",
            category=self.category,
        )
        self.subcategory.save()

        self.subcategory2 = SubCategory(
            name="SubCategory 2 for testing course",
            slug="subcategory-2-testing-course",
            category=self.category2,
        )
        self.subcategory2.save()

        #User creation
        self.user = MyUser.objects.create_test_user(
            username="******",
            email="*****@*****.**",
            password="******",
        )
Ejemplo n.º 2
0
def seed_course_table():
    course = Course(name="Testing 101",
                    number=3342,
                    credit_hours=3,
                    department=(Department.get(Department.id == 1)))
    course.save()

    course = Course(name="Database Management Systems",
                    number=4523,
                    credit_hours=3,
                    department=(Department.get(Department.id == 2)))
    course.save()
Ejemplo n.º 3
0
    def setUp(self):
        self.student_a = Student(
            first_name="Tiffany",
            last_name="Jeruto",
            date_of_birth=datetime.date(2000, 6, 24),
            registration_number="254016",
            Email="*****@*****.**",
            phone_number="0789647745",
            place_of_residence="Rongai",
            guardian_phone="0789567484",
            id_number=345378625,
            date_joined=datetime.date.today(),
        )

        self.student_b = Student(
            first_name="Clay",
            last_name="Jensen",
            date_of_birth=datetime.date(1999, 7, 25),
            registration_number="254017",
            Email="*****@*****.**",
            phone_number="0789765945",
            place_of_residence="Roysambu",
            guardian_phone="0780007684",
            id_number=3453734789,
            date_joined=datetime.date.today(),
        )

        self.python = Course(name="Python",
                             duration_in_months=10,
                             Course_number="1001",
                             description="Django and Flask frameworks")

        self.javascript = Course(
            name="Javascript",
            duration_in_months=10,
            Course_number="1002",
            description="Vanilla javascript and frameworks")

        self.hardware = Course(name="Hardware",
                               duration_in_months=10,
                               Course_number="1003",
                               description=" Product design using Fusion 360")

        self.teacher = Teacher(first_name="James",
                               last_name="Mwai",
                               place_of_residence="Kilimani",
                               phone_number="0723456786",
                               Email="*****@*****.**",
                               id_number=3128956743,
                               profession="Google Expert",
                               registration_number="2344",
                               date_joined=datetime.date.today())
Ejemplo n.º 4
0
    def test_subcategory_creation(self):
        '''Tests creating a subcategory.'''

        course = Course(name="testing course", slug="testing-course")
        course.save()

        coursesection = CourseSection(name="Section 1", course=course)
        coursesection.save()

        category = Category(
            name="Category 1 for testing course",
            slug="cat-1-testing-course",
            section=coursesection,
        )
        category.save()

        subcategory = SubCategory(
            name="SubCategory 1 for testing course",
            slug="subcategory-1-testing-course",
            category=category,
        )
        subcategory.save()

        assert len(course.get_all_categories()) == 1
        assert len(course.get_all_subcategories()) == 1

        #Test get_absolute_url
        resp = self.client.get(subcategory.get_absolute_url())
        self.assertEqual(resp.status_code, 302)
Ejemplo n.º 5
0
def upload_course(request):
	if request.method != "POST":
		return JsonResponse({'error_code': 1, 'msg': "not POST method, it's "+request.method})
	data = json.loads(request.body)
	team = Team.objects.filter(pk=data.get("tid")).first()
	# print(data.get("tid"))
	if team is None:
		return JsonResponse({'error_code': 2, 'msg': "team not exist", "id": Team.objects.all().last().id, "tid":data.get("tid")})
	name = data.get('name')
	teacher = data.get('teacher')
	description = data.get('description')
	link = data.get('link')
	# TODO: change time
	startTime = data.get('startTime')
	endTime = data.get('endTime')
	startTime = datetime.datetime.strptime(startTime, "%Y-%m-%d %H:%M:%S")
	endTime = datetime.datetime.strptime(endTime, "%Y-%m-%d %H:%M:%S")
	# courseTime = CourseTime(addTime=addTime, endTime=endTime)
	# courseTime.save()

	image = data.get('image')
	print("this is image:\n"+image)
	course = Course(tid=team, name=name, teacher=teacher, description=description, link=link, picture=image)
	course.save()
	courseTime = CourseTime(startTime=startTime, endTime=endTime, cid=course)
	courseTime.save()
	return JsonResponse({'error_code': 0})
Ejemplo n.º 6
0
    def setUp(self):
        '''Set up the user infrastructure.'''

        #User creation
        self.user = MyUser.objects.create_test_user(
            username="******",
            email="*****@*****.**",
            password="******",
        )

        #User2 creation
        self.user2 = MyUser.objects.create_test_user(
            username="******",
            email="*****@*****.**",
            password="******",
        )

        #User3 creation
        self.user3 = MyUser.objects.create_test_user(
            username="******",
            email="*****@*****.**",
            password="******",
        )

        #Course Instantiation
        self.course = Course(name="testing course", slug="testing-course")
        self.course.save()
Ejemplo n.º 7
0
def createCourseObject(filePath, tableIndex):
    # 创建文档对象
    doc = Document(filePath)
    # 获取课程所在表格
    try:
        courseTable = doc.tables[tableIndex]  #文档中第index个表格
    except Exception as e:
        print(e)
    try:
        # 创建课程对象
        from course.models import Course
        course = Course()
    except Exception as e:
        print(e)
    course.name = coursenameMange(courseTable.cell(2, 1).text)  #课程名称
    course.courseNumber = courseTable.cell(0, 1).text  #课程编号
    course.totalHours = courseTable.cell(1, 1).text  #总学时
    course.courseCategory = getCourseCategory(courseTable.cell(3,
                                                               1).text)  #课程类别
    course.writer = courseTable.cell(4, 1).text  #执笔人
    course.prerequisiteCourses = coursenameMange(courseTable.cell(
        5, 1).text)  #先修课程
    course.credit = courseTable.cell(0, 3).text  #学分
    course.experimentalHours = courseTable.cell(1, 3).text  #实验/上机学时
    course.englishName = courseTable.cell(2, 3).text  #英文名称
    course.appliedSpecialty = courseTable.cell(3, 3).text  #适用专业
    course.auditor = courseTable.cell(4, 3).text  #审核人
    return course
Ejemplo n.º 8
0
    def handle(self, *args, **options):
        course_id = 1
        BASE_DIR = os.path.dirname(
            os.path.dirname(
                os.path.dirname(os.path.dirname(os.path.abspath(__file__)))))
        workbook = openpyxl.load_workbook(BASE_DIR + '/course_data.xlsx')
        sheet = workbook.get_sheet_by_name("Sheet1")
        for row in sheet:
            if row[0].row == 1:
                continue

            course_time_spaces = self.__get_course_times(row[8].value)

            course = Course(course_id=course_id,
                            course_no=row[0].value,
                            semester=row[1].value,
                            university=row[2].value,
                            campus=row[3].value,
                            classification=row[4].value,
                            course_name=row[5].value,
                            professor=row[6].value,
                            credit=row[7].value)
            course.save()
            course_id += 1
            for course_time_space in course_time_spaces:
                course_time_space.course = course
                course_time_space.save()
Ejemplo n.º 9
0
 def test_parse_course_object(self):
     test_data = {
         "id": "fc:fs:fs:emne:ntnu.no:EXPH0004:1",
         "type": "fc:fs:emne",
         "parent": "fc:org:ntnu.no",
         "membership": {
             "basic": "member",
             "fsroles": ["STUDENT"],
             "active": True,
             "notAfter": "2017-12-14T23:00:00Z",
             "subjectRelations": "undervisning",
             "displayName": "Student"
         },
         "displayName":
         "Examen philosophicum for naturvitenskap og teknologi"
     }
     course = Course(
         course_code="EXPH0004",
         course_name="Examen philosophicum for naturvitenskap og teknologi",
         credit=7.5,
         average_grade=0,
         pass_rate=100.0)
     course.save()
     course_info = parse_course_object(test_data)
     self.assertEqual(course_info["course_code"], "EXPH0004")
     self.assertEqual(
         course_info["course_name"],
         "Examen philosophicum for naturvitenskap og teknologi")
     self.assertEqual(course_info["semester"], "H2017")
Ejemplo n.º 10
0
 def save(self, **kw):
     u = Course(name=kw['name'],
                purpose=kw['purpose'],
                techerId=kw['techerId'],
                techerNumber=kw['techerNumber'],
                techerName=kw['techerName'])
     u.save()
Ejemplo n.º 11
0
 def get_course_or_create(self):
     try:
         self.course = Course.objects.get(name_slug=self.dir)
     except:
         self.course = Course()
         self.course.name_slug = self.dir
         self.course.save()
Ejemplo n.º 12
0
def create_course_view(request):
    context = {}
    if request.method == 'POST':
        course_form = CourseCreateForm(request.POST,
                                       request.FILES,
                                       instance=request.user)

        course = Course()
        if course_form.is_valid():
            data = course_form.cleaned_data
            course.name = data['name']
            course.target_language = data['target_language']
            course.source_language = data['source_language']
            course.description = data['description']
            course.author = request.user
            if (data['image']):
                course.image = data['image']

            try:
                course.save()
                return redirect('course:detail', course.slug)
            except IntegrityError:
                print("error")
                context[
                    'course_error'] = "You have already created a course with this name. Choose a different one."
    else:
        course_form = CourseCreateForm(instance=request.user)

    context['course_form'] = course_form

    return render(request, 'course/create_course.html', context)
Ejemplo n.º 13
0
    def setUpTestData(cls):
        course = Course(title='TDDD12', body='Big boody')
        course.save()

        Comment.objects.create(author='TDDX21',
                               body='Ave maria its ti me to shower',
                               course=course)
Ejemplo n.º 14
0
	def setUp(self):
		self.student_a=Student(first_name=Joy,
			last_name=Wahome,
			date_of_birth=datetime.date(1998,8,25),
			registration_number=123,
			place_of_residence=Nairobi,
			phone_number=123456789,
			[email protected],
			guardian_phone=12345,
			id_number=1111111,
			date_joined=datetime.date.today(),)

		self.student_b=Student(first_name=Ivy,
			last_name=Wahome,
			date_of_birth=datetime.date(1996,5,24),
			registration_number=1234,
			place_of_residence=Nairobi,
			phone_number=123456789,
			[email protected],
			guardian_phone=123456,
			id_number=2222222,
			date_joined=datetime.date.today(),)

		self.python=Course(name=python,
			duration_in_months=10,
			course_number=1,
			description=Learn to code in Python,)

		self.javascript=Course(name=javascript,
			duration_in_months=10,
			course_number=2,
			description=Learn to code in JS,)

		self.hardware=Course(name=hardware,
			duration_in_months=10,
			course_number=3,
			description=Learn to build hardware,)

		self.teacher=Teacher(first_name=James,
			last_name=Mwai,
			date_of_birth=datetime.date(1998,8,25),
			registration_no=123,
			place_of_residence=Nairobi,
			phone_number=123456789,
			[email protected],
			id_number=1111111,
			profession=Consultant,)
Ejemplo n.º 15
0
    def test_category_uniqueness(self):
        '''Testing the uniqueness of a Category.'''

        course = Course(name="testing course", slug="testing-course")
        course.save()

        coursesection = CourseSection(name="Section 1", course=course)
        coursesection.save()

        category = Category(
            name="Category 1 for testing course",
            slug="cat-1-testing-course",
            section=coursesection,
        )
        category.save()

        category2 = Category(
            name="Category 2 for testing course",
            slug="cat-2-testing-course",
            section=coursesection,
        )
        category2.save()

        course2 = Course(name="testing course2", slug="testing-course2")
        course2.save()

        assert len(coursesection.category_set.all()) == 2

        coursesection2 = CourseSection(name="Section 2", course=course2)
        coursesection2.save()

        category3 = Category(
            name="Category 2 for testing course",
            slug="cat-3-testing-course2",
            section=coursesection2,
        )
        category3.save()
        #Same category name, different coursesection

        #Attempt to save to the same category
        category3.section = coursesection
        try:
            category3.save()
            #If save was successful, category and category3 violate uniqueness
            raise RuntimeError("category3 has the same credentials as course")
        except:
            pass
Ejemplo n.º 16
0
def pasth(request):
    context = RequestContext(request)
    if request.user.is_authenticated():
        data = request.POST.get('test')
        results = list()
        pq = PyQuery(data)
        coursesFound = 0
        tempSchedule = Schedule()
        for c in pq('tr'):
            results.append(pq(c).text())

            #find out if this is class data
            query = "COURSE SECT GRADE CREDIT CREDIT EARNED CREDIT FOR GPA COURSE TITLE"

            if pq(c).text(
            ) == query:  #go through the page to find when courses first appear
                coursesFound = 1
                #print "found courses" #debug log

            else:  #if it is not a header then do this
                if coursesFound == 1:  #if it is not a header AND courses have already been found, parse them
                    coursedata = pq(c)
                    pastClass = Course()  #temp class object
                    for d in coursedata(
                            'td'):  # break the tr down into it's td values
                        #print coursedata(d).text() #debugging logs

                        length = len(
                            coursedata(d).text()
                        )  #get the length of the data so we know what field it is

                        if length == 8:
                            pastClass.name = coursedata(d).text()
                        else:
                            if length == 4:
                                pastClass.section = coursedata(
                                    d).text()  #0000 for transfer classes
                            else:
                                if length == 1 or length == 2:
                                    pastClass.finalgrade = coursedata(d).text()
                                else:
                                    if length == 3:
                                        pastClass.cedits = coursedata(d).text(
                                        )  #note: there can be multiple credit fields (credits earned, for gpa, credits), we are grabbing the very last one
                                    else:
                                        pastClass.cname = coursedata(d).text()
                    tempSchedule.add(pastClass)

        user_profile = request.user.get_profile()
        user_profile.pastHistory = tempSchedule
        #go to user profile and add tempschedule

        return render_to_response('pasth.html', {
            "results": results,
        },
                                  context_instance=context)

    else:
        return render_to_response('nsi.html', context_instance=context)
Ejemplo n.º 17
0
 def post(self, request):
     course_code = request.POST.get('courseCode')
     if not Course.objects.filter(code=course_code).exists():
         return self.error(msg=f"course not exist", err=request.POST)
     else:
         try:
             # 赋予复制后的课程新code并返回该code,新课其余信息与原课一致
             codes = [int(course.code) for course in Course().objects]
             new_course_code = str(max(codes)+1)
             course = Course(code=course_code)
             Course.objects.create(code=new_course_code, name=course.name,
                                   start_time=course.start_time, end_time=course.end_time,
                                   description=course.description, deleted=course.deleted,
                                   students=course.students, teachers=course.teachers)
             return self.success(new_course_code)
         except Exception as e:
             return self.error(msg=str(e), err=e.args)
Ejemplo n.º 18
0
 def setUp(self) -> None:
     courses = [
         Course(course_code="TDT4120",
                course_name="AlgDat",
                credit=7.5,
                average_grade=1,
                pass_rate=100.0),
         Course(course_code="TMA4100",
                course_name="Matte 1",
                credit=7.5,
                average_grade=1,
                pass_rate=100.0),
         Course(course_code="TMA4115",
                course_name="Matte 3",
                credit=7.5,
                average_grade=1,
                pass_rate=100.0),
         Course(course_code="EXPH0004",
                course_name="Exphil",
                credit=7.5,
                average_grade=1,
                pass_rate=100.0),
         Course(course_code="TFE4101",
                course_name="KretsDigtek",
                credit=7.5,
                average_grade=1,
                pass_rate=100.0),
         Course(course_code="TFY4125",
                course_name="Fysikk",
                credit=7.5,
                average_grade=1,
                pass_rate=100.0),
         Course(course_code="TDT4290",
                course_name="KPro",
                credit=7.5,
                average_grade=1,
                pass_rate=100.0),
         Course(course_code="TDT4136",
                course_name="AI Intro",
                credit=7.5,
                average_grade=1,
                pass_rate=100.0),
         Course(course_code="TULL123",
                course_name="Ikke egentlig et f*g",
                credit=100,
                average_grade=5,
                pass_rate=40)
     ]
     for c in courses:
         c.save()
Ejemplo n.º 19
0
 def setUp(self) -> None:
     courses = [
         Course(course_code="TDT4120", course_name="AlgDat", credit=7.5, average_grade=1, pass_rate=100.0),
         Course(course_code="TMA4100", course_name="Matte 1", credit=7.5, average_grade=1, pass_rate=100.0),
         Course(course_code="EXPH0004", course_name="Exphil", credit=7.5, average_grade=1, pass_rate=100.0),
         Course(course_code="TFE4101", course_name="KretsDigtek", credit=7.5, average_grade=1, pass_rate=100.0),
         Course(course_code="TFY4125", course_name="Fysikk", credit=7.5, average_grade=1, pass_rate=100.0),
         Course(course_code="TDT4290", course_name="KPro", credit=7.5, average_grade=1, pass_rate=100.0),
         Course(course_code="TDT4136", course_name="AI Intro", credit=7.5, average_grade=1, pass_rate=100.0),
     ]
     for c in courses: c.save()
     reviews = [
         Review(id=1, course_code="TMA4100", user_email="*****@*****.**", score=5, workload=1, difficulty=2,
                review_text="Bra f*g", full_name="Test test", study_programme="MTDT"),
         Review(id=2, course_code="TMA4100", user_email="*****@*****.**", score=3, workload=0, difficulty=0,
                review_text="Givende", full_name="KPro Kproson", study_programme="MTKPRO"),
         Review(id=3, course_code="TMA4100", user_email="*****@*****.**", score=4, workload=1, difficulty=2,
                review_text="Lattice", full_name="Heman 2015", study_programme="MTDT"),
         Review(id=4, course_code="TDT4120", user_email="*****@*****.**", score=5, workload=2, difficulty=2,
                review_text="Kult", full_name="KPro Kproson", study_programme="MTKPRO"),
         Review(id=5, course_code="TDT4120", user_email="*****@*****.**", score=1, workload=0, difficulty=0,
                review_text="Kjipt", full_name="Test test", study_programme="MTDT"),
         Review(id=6, course_code="EXPH0004", user_email="*****@*****.**", score=3, workload=1, difficulty=0,
                review_text="<3", full_name="KPro Kproson", study_programme="MTDT")
     ]
     for r in reviews: r.save()
     UserAuth(expiring_token="valid_token", access_token="valid_token", user_email="*****@*****.**").save()
     User.objects.create(username="******", email="*****@*****.**").save()
    def setUpTestData(cls):
        course = Course(title='TDDD12', body='Big boody')
        course.save()

        assignment = Assignment(title='TDDD11',
                                description='Very big yes',
                                deadline=datetime.today(),
                                course=course)
        assignment.save()
Ejemplo n.º 21
0
    def setUp(self):
        '''Set up the test and category infrastructure.'''

        #Course Instantiation
        self.course = Course(name="testing course", slug="testing-course")
        self.course.save()

        #Course Section Instantiation
        self.coursesection = CourseSection(name="Section 1",
                                           course=self.course)
        self.coursesection.save()

        #Category Instantiation
        self.category = Category(
            name="Category 1 for testing course",
            slug="cat-1-testing-course",
            section=self.coursesection,
        )
        self.category.save()

        #SubCategory Instantiation
        self.subcategory = SubCategory(
            name="SubCategory 1 for testing course",
            slug="subcategory-1-testing-course",
            category=self.category,
        )
        self.subcategory.save()

        #User creation
        self.user = MyUser.objects.create_test_user(
            username="******",
            email="*****@*****.**",
            password="******",
        )

        self.user2 = MyUser.objects.create_test_user(
            username="******",
            email="*****@*****.**",
            password="******",
        )

        #Question creation
        self.question = Question(
            course=self.course,
            section=self.coursesection,
            category=self.category,
            subcategory=self.subcategory,
            question_text="Here is an example question.",
            option_A="Here is option A.",
            option_B="Here is option B.",
            answer_letter="A",
            answer_explanation="Here is an example explanation.",
            index=1,
        )
        self.question.save()
Ejemplo n.º 22
0
 def post(self, request):
     '''删除课程'''
     course_code = request.POST.get('courseCode')
     if not Course.objects.filter(code=course_code).exists():
         return self.error(msg=f"course not exist", err=request.POST)
     else:
         try:
             course = Course(code=course_code, deleted=True)
             course.save()
         except Exception as e:
             return self.error(msg=str(e), err=e.args)
Ejemplo n.º 23
0
 def setUp(self) -> None:
     UserAuth(expiring_token="valid_token",
              access_token="valid_token",
              user_email="*****@*****.**").save()
     UserAuth(expiring_token="expired_token",
              access_token="expired_token",
              user_email="*****@*****.**").save()
     Course(course_code="TMA4100",
            course_name="Matematikk 1",
            credit=7.5,
            average_grade=2,
            pass_rate=100.0).save()
Ejemplo n.º 24
0
 def test_post_review_invalid_JSON_formatting_and_values_course_exists(self):
     invalid_test_data = {"course_code": "TDT4290",
                          "score": -2,
                          "workload": "abx",
                          "difficulty": 0}
     course = Course(course_code="TDT4290", course_name="Customer Driven Project", credit=15, average_grade=1,
                     pass_rate=100.0)
     course.save()
     c = APIClient()
     c.credentials(HTTP_AUTHORIZATION='valid_token')
     response = c.post("/review/", data=invalid_test_data, format="json")
     self.assertEqual(response.status_code, 400)
Ejemplo n.º 25
0
def CreateCourse(request, pk, upk):
    teacher = TeacherProfile.objects.get(user_id=upk)
    subject = Subject.objects.get(id=pk)
    if subject.author.user.id == teacher.user.id:
        course = Course(author=teacher, subject=subject)
        serializer = CourseCreateSerializer(course, data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data)
        return Response(serializer.errors)
    return Response(
        {"message": "you're not authorized to access this Subject"},
        status=403)
Ejemplo n.º 26
0
def get_course():
    """
    生成一个课程

    :author: lishanZheng
    :date: 2020/01/03
    """
    clazz = get_clazz()
    teacher = get_teacher()
    course_data = get_course_data()
    course = Course(**course_data, clazz=clazz, teacher=teacher)
    course.save()
    return course
Ejemplo n.º 27
0
    def test_string_representation(self):
        cat = Category('sci', 'loh')

        cont = Contact()
        cont.contact_choice = "PHONE"
        cont.value = "5555"

        # br = Branch('e32424','2343242','iaau.edu.kg')

        course = Course(name="My entry title",
                        description="it is a my live",
                        logo="lj.kg",
                        category=cat)
        self.assertEqual(str(course), course.name)
    def setUpTestData(cls):
        course = Course(title='TDDD12', body='Big boody')
        course.save()

        assignment = Assignment(title='TDDD11',
                                description='Very big yes',
                                deadline=datetime.today(),
                                course=course)
        assignment.save()

        handin = Handin.objects.create(holder='TDDX21',
                                       attached_files='ada/beda/ceda',
                                       assignment=assignment)
        handin.save()
Ejemplo n.º 29
0
def createRelationBetweenCourseAndCourse(courseObject, couseName, graph):
    # 从数据库中查找特点node
    prerequisiteCourseNode = graph.nodes.match('Course',
                                               name=couseName).first()
    if prerequisiteCourseNode:
        # 将node转换为对象
        prerequisiteCourse = courseObject.wrap(prerequisiteCourseNode)
    else:
        try:
            from course.models import Course
            prerequisiteCourse = Course()
        except Exception as e:
            print(e)
        prerequisiteCourse.name = couseName
    # 构建关系
    courseObject.Prerequisite.add(prerequisiteCourse)
Ejemplo n.º 30
0
def add_course(request):
	courses = Course.objects.filter(teacher=request.user)
	teacher = request.user
	newcourse = Course(teacher=teacher)
	if request.method == 'POST':
		form = CourseForm(request.POST, request.FILES, instance=newcourse)
		if form.is_valid():
			newcourse = form.save()
			return HttpResponseRedirect("/teacher/")
	else:
		form = CourseForm()
	return render_to_response('teacher/course_add.html',
        { 'CourseForm': form,
        'courses':courses
        },
        context_instance=RequestContext(request))