Esempio n. 1
0
def updateSyllabus(request, department, class_number, year, semester, section, sid):
	user = request.user
	c = getClassObject(department, class_number, year, semester, section, user)
	s = get_object_or_404(CourseContent, pk=sid)
	
	message = ''
	classUrl = getClassUrl(c)
	#Updates the syllabus
	if request.method == 'POST':
		course = CourseContent(id=sid, cid=c, created_on=s.created_on, was_updated=1, updated_on=datetime.datetime.now() )
		form = CourseForm(request.POST, instance=course)
		if form.is_valid():
			form.save()
			message = 'You have successfully updated the syllabus'
	else:
		#Initializes the form with existing syllabus information
		course = CourseContent.objects.get(cid=c.cid)
		form = CourseForm(initial={'officeHrs': course.officeHrs, 'officeLocation': course.officeLocation, 'phoneNumber': course.phoneNumber, 'TaOfficeLocation': course.TaOfficeLocation, 'TaOfficeHrs': course.TaOfficeHrs, 'lectTime': course.lectTime, 'prereq': course.prereq, 'books': course.books, 'topics': course.topics, 'markingScheme': course.markingScheme, 'academicHonesty': course.academicHonesty, 'additionalInfo': course.additionalInfo,})
	
	content = getContent(c, user)
	content['form'] = form
	content['classUrl'] = classUrl
	content['message'] = message
	return render_to_response('instructor/syllabus.html', content, 
		context_instance=RequestContext(request))
Esempio n. 2
0
def syllabus(request, department, class_number, year, semester, section):
	user = request.user
	c = getClassObject(department, class_number, year, semester, section, user)
	
	message = ''
	classUrl = getClassUrl(c)

	#Form that has defined fields for prof to fill out to create a syllabus
	if request.method == 'POST':
		content = CourseContent(cid=c, created_on=datetime.datetime.now(), was_updated=0, updated_on=datetime.datetime.now() )
		form = CourseForm(request.POST, instance=content)
		if form.is_valid():
			form.save()
			message = 'You have successfully created a syllabus'
	else:
		#If form exists, redirect to update page, otherwise send blank form
		try:
			course = CourseContent.objects.get(cid=c.cid)
			return HttpResponseRedirect(classUrl+"instructor/syllabus/update/%s" %course.id)
		except CourseContent.DoesNotExist:
			form = CourseForm()
	
	content = getContent(c, user)
	content['form'] = form
	content['message'] = message
	return render_to_response('instructor/syllabus.html', content, 
		context_instance=RequestContext(request))
Esempio n. 3
0
def api_add_course(request):
    if request.method == 'POST':
        form = CourseForm(request.POST)

        if form.is_valid():
            c = form.save(commit=False)

            if int(request.POST["lecturer_id"]) == -1:

                lec = Lecturer.objects.get_or_create(title=request.POST["lecturer_title"],
                                                     name=request.POST["lecturer_name"],
                                                     department=request.POST["lecturer_dept"],
                                                     email=request.POST["lecturer_email"],
                                                     uni=University.objects.get(id=int(request.POST["uni"])))[0]
                lec.save()
                c.lecturer = lec

            else:
                c.lecturer = Lecturer(id=int(form.data["lecturer_id"]))
            c.save()

            return course(request, c.id)
        else:
            print form.errors
            return add_course(request)
    return add_course(request)
Esempio n. 4
0
def create_course( request, course_id=None ):

    #Firstst of all we need to make user that non-institutions can't create courses
    if request.user.user_type == "u":
	return HttpResponseRedirect('/ticwiapp/desktop')
    #Prepares the information to update or create a new course.

    #if id:
    #    instance = get_object_or_404(Course, id=course_id)
    #    form = CourseForm(request.POST or None, instance=instance)
    #    if form.is_valid():
    #        form.update()
    #        return HttpResponseRedirect('/ticwiapp/get/')
    #    course = Course.objects.get(id=id)
    #    dictionary = model_to_dict(course, fields=[], exclude=[]) 
    #    form = forms.CourseForm(dictionary)
    #else:
    if request.POST:
        form = CourseForm(request.POST)
        if form.is_valid():
            a = form.save( commit = False )
            a.user = request.user
            a.save()

            return HttpResponseRedirect('/ticwiapp/desktop')
    else:
        form = CourseForm()

    args = {}
    args.update(csrf(request))
    args['form'] = form
    args['full_name'] = request.user.username
    return render_to_response('create_course.html', args)
Esempio n. 5
0
def api_add_course(request):
    if request.method == 'POST':
        form = CourseForm(request.POST)

        if form.is_valid():
            c = form.save(commit=False)

            if int(request.POST["lecturer_id"]) == -1:

                lec = Lecturer.objects.get_or_create(
                    title=request.POST["lecturer_title"],
                    name=request.POST["lecturer_name"],
                    department=request.POST["lecturer_dept"],
                    email=request.POST["lecturer_email"],
                    uni=University.objects.get(id=int(request.POST["uni"])))[0]
                lec.save()
                c.lecturer = lec

            else:
                c.lecturer = Lecturer(id=int(form.data["lecturer_id"]))
            c.save()

            return course(request, c.id)
        else:
            print form.errors
            return add_course(request)
    return add_course(request)
Esempio n. 6
0
def course_update(request, course_id):
    if request.method == 'POST':
        c = Course.objects.get(id=course_id)
        form = CourseForm(request.POST, request.FILES, instance=c)
        if form.is_valid():
            u = request.user
            c = form.save()
            dimentions = (150, 150)
            if len(request.FILES) == 1:
                image = request.FILES['image']
                c.image.save(image.name, createImage(c.image, dimentions))
            name = u.first_name + ' ' + u.last_name
            username = request.user.username
            variables_for_template = {
                'name': name,
                'username': username,
            }
            return redirect('/course/' + str(course_id) + '/', variables_for_template)
        else:
            variables = _course_context(request, course_id)
            variables['form'] = form
            variables.update(csrf(request))
            return render(request, 'website/course/course_info_edit.html',
                          variables,
                          context_instance=RequestContext(request))
Esempio n. 7
0
def create(request):
    form = CourseForm(data=request.POST or None)
    try:
        user = Teacher.objects.get(pk=request.user.id)
        if form.is_valid():
            course = form.create(user)
            return model_to_dict(course, fields=course_fields)
    except Exception as e:
        return e
    raise Http404
Esempio n. 8
0
def addcourse(request):
    if request.method == "POST":
        form = CourseForm(request.POST)
        if form.is_valid():
            new_course = Course(**form.cleaned_data)
            new_course.save()
            new_student_course=Student_Course(course_id=form.cleaned_data['course_id'],student_id=request.user.id)
            new_student_course.save()
            # redirect, or however you want to get to the main view
            # return HttpResponseRedirect('/polls/main/')
    else:
        form = CourseForm() 

    return render(request, 'polls/addcourse.html', {'form': form})    
Esempio n. 9
0
def createcourse(request):
    
    if request.method == 'POST': # If the form has been submitted...
        form = CourseForm(request.POST) # A form bound to the POST data
        if form.is_valid(): # All validation rules pass
            # Process the data in form.cleaned_data
            # ...
            form.save()
            return HttpResponseRedirect('/createpage/') # Redirect after POST
    else:
        form = CourseForm() # An unbound form

    return render(request, "createpage/createcourse.html", {
        'form': form,
    })
Esempio n. 10
0
def update(request, id):
    try:
        form = CourseForm(request.PUT or None)
        course = Course.objects.get(author=request.user.id, pk=id)
        if form.is_valid():
            course = form.update(course)
            content_type = ContentType.objects.get_for_model(course)
            UserLogEntry.objects.log_action(request.user.id,
                                            content_type.pk, course.id,
                                            unicode(course.title), 3)
            return model_to_dict(course, fields=course_fields)
        else:
            return form.error_messages
    except Exception as e:
        return e
    raise Http404
Esempio n. 11
0
def course_admin_update(request, course_id, prefix):
    if request.is_ajax():
        form = CourseForm(request.POST) if prefix == 'None' else CourseForm(request.POST, prefix=prefix) 
        if form.is_valid():
            try:
                course = Course.objects.get(pk=course_id)
                course.teacher = form.cleaned_data['teacher']
                course.name = form.cleaned_data['name'] 
                course.save()
                return HttpResponse('OK')
                
            except ObjectDoesNotExist:
                # create new object
                position = None
                if Course.objects.count() > 0:
                    course = Course.objects.order_by('-position').all()[0]
                    position = course.position

                else:
                    position = 1

                newcourse = Course()
                newcourse.teacher = form.cleaned_data['teacher']
                newcourse.name = form.cleaned_data['name']
                newcourse.position = position
                newcourse.save()
                response = {'created_object_id': newcourse.pk}
                return HttpResponse(json.dumps(response), mimetype="application/json") 
        else:
            errors_dict = {}
            if form.errors:
                for error in form.errors:
                    e = form.errors[error]
                    field = prefix+"-"+error;
                    errors_dict[field] = unicode(e)
            print errors_dict
            return HttpResponseBadRequest(json.dumps(errors_dict))
    else:
        return HttpResponseNotFound('You do not have permission to access this page!')