Beispiel #1
0
def AddCourse(
    dept,
    number,
    name,
    comment="",
    descr="",
    genedreqs=0,
    firstyear=None,
    firstquarter=None,
    lastyear=None,
    lastquarter=None,
    mincredits=None,
    maxcredits=None,
):
    try:
        c = Course.objects.get(idcurriculum=dept, number=long(number))
        return c
    except Course.DoesNotExist, e:
        try:
            c = Course(name=name, number=long(number), idcurriculum=dept, comment=comment, description=descr)
            c.genedreqs = genedreqs
            c.firstyear = firstyear
            c.firstquarter = firstquarter
            c.lastyear = lastyear
            c.lastquarter = lastquarter
            c.mincredits = mincredits
            c.maxcredits = maxcredits
            c.save()
            return c
        except Exception, e:
            print "exception!"
            print e
            return None
Beispiel #2
0
def courses_data(request, course_id):
    courses, name = Course.get_course(Course, course_id)
    if not courses:
        raise Http404("invalid request")
    else:
        courses = Course.seperate_query_sets(Course, courses)
        context = {"name": name, "courses": courses}
        return render(request, "dashboard/courses_data.html", context=context)
Beispiel #3
0
    def test_tutorAllowedTeamsNumberNotExceeded(self):
        testCourse = Course(id=self.COURSE_ID)
        testCourse.save()

        tutorHas2AllowedTeamsNumber(self.tutor, testCourse)
        assign3TeamsToTutor(self.tutor, testCourse)

        tutorProject = Project.objects.get(id=1)

        self.assertEqual(tutorAllowedTeamsNumberNotExceeded(tutorProject), False)
Beispiel #4
0
    def handle(self, *args, **options):
        # print "Version: %s"%django.get_version()
        if args is None or len(args) == 0:
            raise CommandError("must specify directory")
            # print "opening %s"%args[0]
        subdir = args[0]

        c = Course()

        for root, dirs, files in os.walk(subdir):
            for name in files:
                filename = os.path.join(root, name)

                self.stdout.write("opening: %s\n" % filename)

                abbr = os.path.splitext(os.path.basename(filename))[0]
                self.stdout.write(abbr + "\n")

                curriculum = GetCurriculum(abbr)
                if curriculum is None:
                    self.stderr.write("Couldn't find the curriculum")
                    continue

                with open(filename, "rU") as csvfile:
                    csvreader = csv.DictReader(csvfile)

                    #
                    for row in csvreader:
                        # print row
                        genedreqs = c.convertGenEdReqsToInt(
                            row["GE_NW"], row["GE_VLPA"], row["GE_IS"], row["GE_W"], row["GE_EC"], row["GE_QSR"]
                        )

                        mincr = float(row["MinTermCredit"])
                        maxcr = float(row["MaxTermCredit"])
                        maxcr = mincr if maxcr < maxcr else maxcr

                        AddCourse(
                            curriculum,
                            int(row["CourseNumber"]),
                            row["CourseTitleLong"],
                            row["CourseComment"],
                            row["CourseDescription"],
                            genedreqs,
                            int(row["FirstYear"]),
                            quarters.get(row["FirstQuarter"]),
                            int(row["LastYear"]),
                            quarters.get(row["LastQuarter"]),
                            mincr,
                            maxcr,
                        )
Beispiel #5
0
def new_course(request):
    if request.method == "POST":
        error_time = False
        department = request.POST.get("department")
        name = request.POST.get("name")
        course_number = request.POST.get("course_number")
        group_number = request.POST.get("group_number")
        teacher = request.POST.get("teacher")
        start_time = request.POST.get("start_time")
        end_time = request.POST.get("end_time")
        first_day = request.POST.get("first_day")
        second_day = request.POST.get("second_day")
        exam_date = request.POST.get("exam_date")

        try:
            time.strptime(start_time, '%H:%M')
        except ValueError:
            error_time = True
            return render(request, "new-course.html",
                          {"error_time": error_time})

        try:
            time.strptime(end_time, '%H:%M')
        except ValueError:
            error_time = True
            return render(request, "new-course.html",
                          {"error_time": error_time})
        try:
            datetime.strptime(exam_date, '%Y-%m-%d')
        except ValueError:
            error_time = True
            return render(request, "new-course.html",
                          {"error_time": error_time})

        course = Course(department=department,
                        name=name,
                        course_number=course_number,
                        group_number=group_number,
                        teacher=teacher,
                        start_time=start_time,
                        end_time=end_time,
                        exam_date=exam_date,
                        first_day=first_day,
                        second_day=second_day)
        course.save()
        return render(request, "panel.html")

    return render(request, "new-course.html")
Beispiel #6
0
def confirm_trial(request, course_id):
    course, course_name = Course.get_course(Course, course_id=course_id)
    if request.method == "POST":
        trial = request.user.trial
        if trial.trial_available():
            # ADDING USER TO THE TRIAL GROUP
            trial.status = False
            trial.course = course_name
            trial.set_trial_datetime()
            trial.save()

            add_user_to_group(group_id=3, user_id=request.user.id)
            messages.success(request,
                             "You are Successfully enrolled in the trial.")
            return redirect(
                "dashboard:dashboard",
                user_id=request.user.id,
            )
        else:
            messages.warning(
                request,
                "you are not elligible for this trial. may be becuase you have already taken one.",
            )
            return redirect("dashboard:dashboard", user_id=request.user.id)
    else:
        context = {
            "course": course,
        }
        return render(request, "dashboard/confirm_trial.html", context=context)
Beispiel #7
0
    def handle(self, *args, **options):
        #print "Version: %s"%django.get_version()
        if args is None or len(args) == 0:
            raise CommandError('must specify directory')
        #print "opening %s"%args[0]
        subdir = args[0]

        c = Course()

        for root, dirs, files in os.walk(subdir):
            for name in files:
                filename = os.path.join(root, name)

                self.stdout.write('opening: %s\n' % filename)

                abbr = os.path.splitext(os.path.basename(filename))[0]
                self.stdout.write(abbr + '\n')

                curriculum = GetCurriculum(abbr)
                if curriculum is None:
                    self.stderr.write('Couldn\'t find the curriculum')
                    continue

                with open(filename, 'rU') as csvfile:
                    csvreader = csv.DictReader(csvfile)

                    #
                    for row in csvreader:
                        #print row
                        genedreqs = c.convertGenEdReqsToInt(
                            row['GE_NW'], row['GE_VLPA'], row['GE_IS'],
                            row['GE_W'], row['GE_EC'], row['GE_QSR'])

                        mincr = float(row['MinTermCredit'])
                        maxcr = float(row['MaxTermCredit'])
                        maxcr = mincr if maxcr < maxcr else maxcr

                        AddCourse(curriculum, int(row['CourseNumber']),
                                  row['CourseTitleLong'], row['CourseComment'],
                                  row['CourseDescription'], genedreqs,
                                  int(row['FirstYear']),
                                  quarters.get(row['FirstQuarter']),
                                  int(row['LastYear']),
                                  quarters.get(row['LastQuarter']), mincr,
                                  maxcr)
Beispiel #8
0
def create_course():
    form = CourseForm()
    if form.validate_on_submit():
        course = Course(title=form.title.data,
                        category=form.category.data,
                        summary=form.summary.data)
        db.session.add(course)
        db.session.commit()
        return redirect(url_for('.create_module', course_id=course.id))
    return render_template('course_form.html', form=form)
Beispiel #9
0
	def handle(self, *args, **options):
		#print "Version: %s"%django.get_version()
		if args is None or len(args) == 0:
			raise CommandError('must specify directory')
		#print "opening %s"%args[0]
		subdir = args[0]

		c = Course()

		for root, dirs, files in os.walk(subdir):
			for name in files:
				filename = os.path.join(root,name)

				self.stdout.write('opening: %s\n'%filename)

				abbr = os.path.splitext(os.path.basename(filename))[0]
				self.stdout.write(abbr + '\n')

				curriculum = GetCurriculum(abbr)
				if curriculum is None:
					self.stderr.write('Couldn\'t find the curriculum' )
					continue

				with open(filename,'rU') as csvfile:
					csvreader = csv.DictReader(csvfile)
					#
					for row in csvreader:

						# lookup the course
						coursenum = int(row['CourseNumber'])
						c = GetCourse(curriculum, coursenum)
						if c is None:
							print "!!!! Couldn't find %s   %d"%(curriculum.abbreviation, coursenum)
							continue

						# meetings
						mtgs = inflateMeeting(row)

						# instructor
						inst_name = None
						for i in mtgs:
							if i['Instructors'] is not None and len(i['Instructors']) > 0:
								if len(i['Instructors'][0]) > 0:
									inst_name = i['Instructors'][0]

						instructor = cachedSafeGetOrAdd(self.instructors, inst_name, AddInstructor, **{'name': inst_name})

						# add section
						kwargs = {}
						kwargs['quarter'] = QUARTERS[row['Quarter'].lower()]

						kwargs['year'] = row['Year']
						kwargs['section'] = row['SectionID'] if 'SectionID' in row else row['PrimarySection']
						kwargs['idinstructor'] = instructor
						kwargs['idcourse'] = c
						kwargs['numenrolled'] = row['CurrentEnrollment']
						kwargs['maxenrollment'] = row['LimitEstimateEnrollment']
						kwargs['sln'] = row['SLN']
						kwargs['classwebsite'] = row['ClassWebsiteUrl']
						section = dbSafeGetOrAdd(Section, **kwargs)

						if section is None:
							print "Section not added", section
							continue

						#print "section seems to have been added..."
						#print section


						# meetings
						for m in mtgs:

							bldg_name = m['Building']
							bldg = cachedSafeGetOrAdd(self.buildings, bldg_name, AddBuilding, **{'name': bldg_name})

							room = None
							if bldg is not None:
								room_name = m['Room']
								room = cachedSafeGetOrAdd(self.rooms, room_name, AddRoom, **{'name': room_name, 'idbuilding': bldg })

							mtg_type_name = m['Type']
							mtg_type = cachedSafeGetOrAdd(self.meetingtypes, mtg_type_name, AddMeetingType, **{'name': mtg_type_name})

							mtg_start = parseTime(m['Start'])
							mtg_end = parseTime(m['End'])
							mtg_days = makeDaysFromStr(m['Days'])

							meeting = Meeting(day = mtg_days, starttime = mtg_start, endtime = mtg_end, idinstance = section, idroom = room, idmeetingtype = mtg_type)
							meeting.save()
Beispiel #10
0
def AddCourse(dept,
              number,
              name,
              comment="",
              descr="",
              genedreqs=0,
              firstyear=None,
              firstquarter=None,
              lastyear=None,
              lastquarter=None,
              mincredits=None,
              maxcredits=None):
    try:
        c = Course.objects.get(idcurriculum=dept, number=long(number))
        return c
    except Course.DoesNotExist, e:
        try:
            c = Course(name=name,
                       number=long(number),
                       idcurriculum=dept,
                       comment=comment,
                       description=descr)
            c.genedreqs = genedreqs
            c.firstyear = firstyear
            c.firstquarter = firstquarter
            c.lastyear = lastyear
            c.lastquarter = lastquarter
            c.mincredits = mincredits
            c.maxcredits = maxcredits
            c.save()
            return c
        except Exception, e:
            print "exception!"
            print e
            return None
Beispiel #11
0
def addCourseResualt(request):

    tempNews = Course()
    tempNews.course_no = request.GET['course_no']
    tempNews.name = request.GET['name']
    tempNews.course_type = request.GET['course_type']
    tempNews.student_level = request.GET['student_level']
    tempNews.semester = request.GET['semester']
    tempNews.start_week = request.GET['start_week']
    tempNews.end_week = request.GET['end_week']
    tempNews.remarks = request.GET['remarks']
    tempNews.valid = 1
    tempNews.save()
    posts = tempNews.__class__.objects.all()
    t = loader.get_template('jiaoxuegongzuo.html')
    c = Context({'posts': posts})
    return HttpResponse(t.render(c))
Beispiel #12
0
def addCourseResualt(request):
    
    tempNews=Course()
    tempNews.course_no= request.GET['course_no']
    tempNews.name= request.GET['name']
    tempNews.course_type= request.GET['course_type']
    tempNews.student_level= request.GET['student_level']
    tempNews.semester= request.GET['semester']
    tempNews.start_week= request.GET['start_week']
    tempNews.end_week= request.GET['end_week']
    tempNews.remarks= request.GET['remarks']
    tempNews.valid=1
    tempNews.save()
    posts = tempNews.__class__.objects.all()
    t =loader.get_template('jiaoxuegongzuo.html')
    c =Context({'posts':posts})
    return HttpResponse(t.render(c))
Beispiel #13
0
def courseregistration(request):
    if request.method == "POST":
        course_details = Course()
        course_details.subject = request.POST['catagory']
        course_details.coursename = request.POST['coursename']
        course_details.description = request.POST['description']
        course_details.image = request.FILES['image']
        course_details.coursestartdate = request.POST['startdate']
        course_details.courseenddate = request.POST['enddate']
        course_details.duration = request.POST['duration']
        course_details.course_id = request.POST['coursename']
        course_details.faculty_id = request.user
        course_details.save()
        '''for f in request.FILES.get('videopath'):
            print("hello")
            print(f)'''

        n = int(request.POST['number'])
        titles = request.POST.getlist('title')
        videos = request.FILES.getlist('videopath')
        for i in range(n):
            lecture_details = Lecture()
            lecture_details.lecture_id = str(
                request.POST['coursename']) + str(i)
            lecture_details.course_id = Course.objects.last()
            lecture_details.lecturedate = date.today()
            lecture_details.lecturename = titles[i]
            lecture_details.lecturevideo = videos[i]
            lecture_details.save()

        return redirect(request, 'addingcourseconfirmation.html')

    else:
        return render(request, 'courseregistration.html')