示例#1
0
def store_classes(path):
    """
    Gets classes data from classes.json (generated by web scraping)
    and instantiates Classes objects in the database
    """
    classes_data = json_to_data(path)
    classes = classes_data["classes"]
    for _class in classes:
        subject_instance = Subject.objects.get(initials=_class["subject"])
        class_instance = Class(class_id=_class["class"],
                               positions=string_to_int(_class["positions"]),
                               enrolled=string_to_int(_class["enrolled"]),
                               subject=subject_instance)
        class_instance.save()
        for schedule in _class["schedule"]:
            Schedule.objects.create(day=schedule["day"],
                                    time_start=schedule["time_start"],
                                    time_end=schedule["time_end"],
                                    place=schedule["place"],
                                    class_id=class_instance)
        for course in _class["course_reservation"]:
            try:
                course_instance = Course.objects.get(
                    name=course["course_name"])
                class_instance.courses.add(course_instance)
            except:
                pass
示例#2
0
def set_up_data():
    # model1: Class without term, all types tested
    c1 = Class(name='Experience of Christ as Life', code='ECAL', type='1YR')
    c2 = Class(name='God Ordained Way', code='GOW', type='MAIN')
    c3 = Class(name='New Jerusalem', code='NJ', type='2YR')

    # foreign model: Term
    # left here for comparison with mock method which does not need this line
    t = Term(current=True, season="Fall", year=2014)

    c4 = Class(name='Character', code='CHAR', term=t, type='AFTN')
    return dict([('c1', c1), ('c2', c2), ('c3', c3), ('c4', c4)])
示例#3
0
def add_or_edit_class(request, class_pk=None):

    if class_pk:
        clss = get_object_or_404(Class, pk=class_pk)
    else:
        clss = Class()

    if request.method == 'POST':
        form = ClassForm(request.POST, instance=clss)
        if form.is_valid():
            clss.start = datetime.datetime.strptime('11-14-2015 '+request.POST.get('start_time')+':'+request.POST.get('start_min'), '%m-%d-%Y %H:%M')
            clss.end = datetime.datetime.strptime('11-14-2015 '+request.POST.get('end_time')+':'+request.POST.get('end_min'), '%m-%d-%Y %H:%M')
            form.save()
            clss.save()
            clss.wl_moveup()
            return redirect(add_or_edit_class)

    form = ClassForm(instance=clss)
    classes = Class.objects.all()
    context = {
        'form': form,
        'classes': classes,
    }

    return render(request, 'templates/manage_classes.html', context)
示例#4
0
)
user4.save()

user5 = User(
    email="*****@*****.**",
    first_name="Ronald",
    last_name="Weasely",
    is_active=True,
    password=mkpasswd(),
)
user5.save()

class1 = Class(
    prefix="transfig",
    name="Transfiguration",
    droplet_image="ubuntu-20-04-x64",
    droplet_size="s-1vcpu-1gb",
    droplet_region="sfo3",
    droplet_student_limit=1,
)
class1.save()

class2 = Class(
    prefix="potions",
    name="Potions",
    droplet_image="ubuntu-20-04-x64",
    droplet_size="s-1vcpu-1gb",
    droplet_region="sfo3",
    droplet_student_limit=3,
    allow_registration=True,
)
class2.save()
示例#5
0
文件: views.py 项目: dsethan/tutor
def class_process(request):
	# Get request's context
	context = RequestContext(request)

	# Get HTTP POST total number of classes to add
	total = int(request.POST.get('total'))

	# ... and the User we are working with
	user_to_add_id = int(request.POST.get('user_to_add_id'))

	# Now, for each class to add, check to see if it is already
	# stored. If not, create a new class/department object. If it
	# is, create a tutor class object.
	for i in range(0,int(total)):
		
		# Get the HTTP POST objects for this particular class
		class_to_add = request.POST.get('class_' + str(i))
		department_to_add = request.POST.get('department_' + str(i))
		number_to_add = request.POST.get('number_' + str(i))

		# First check to see if the department exists
		departments = Department.objects.all()
		dept_id = None

		for dept in departments:
			if dept.name == department_to_add:
				dept_id = dept.id


		tutor_to_associate = None

		for tutor in TutorProfile.objects.all():
			if tutor.user.id == user_to_add_id:
				tutor_to_associate = tutor

		# If no department id was returned in the above, add it...
		if dept_id == None:
			new_department = Department(name=str(department_to_add),
				short_ident = str(department_to_add)[0:4].upper(),
				school=tutor_to_associate.school)
			new_department.save()
			dept_id = new_department.id

		# Now check to see if the class exists
		classes = Class.objects.all()
		class_id = None

		for cl in classes:
			if cl.number == int(number_to_add):
				class_id = cl.id

		# If no class id was returned in the above, add it...
		if class_id == None:
			new_class = Class(department=Department.objects.get(id=dept_id),
				title = str(class_to_add),
				number = int(number_to_add))
			new_class.save()
			class_id = new_class.id

		if tutor_to_associate == None:
			return HttpResponse("This tutor does not exist!!!!")

		# Get the right class to associate
		class_to_associate = Class.objects.get(id=class_id)

		# Construct new tutor class object
		new_tutor_class = TutorClass(
			tutor=tutor_to_associate,
			teach=class_to_associate)

		# Save this tutor class to the database
		new_tutor_class.save()

	return HttpResponse("All things added successfully!")
示例#6
0
文件: views.py 项目: dsethan/tutor
def class_process(request):
    # Get request's context
    context = RequestContext(request)

    # Get HTTP POST total number of classes to add
    total = int(request.POST.get('total'))

    # ... and the User we are working with
    user_to_add_id = int(request.POST.get('user_to_add_id'))

    # Now, for each class to add, check to see if it is already
    # stored. If not, create a new class/department object. If it
    # is, create a tutor class object.
    for i in range(0, int(total)):

        # Get the HTTP POST objects for this particular class
        class_to_add = request.POST.get('class_' + str(i))
        department_to_add = request.POST.get('department_' + str(i))
        number_to_add = request.POST.get('number_' + str(i))

        # First check to see if the department exists
        departments = Department.objects.all()
        dept_id = None

        for dept in departments:
            if dept.name == department_to_add:
                dept_id = dept.id

        tutor_to_associate = None

        for tutor in TutorProfile.objects.all():
            if tutor.user.id == user_to_add_id:
                tutor_to_associate = tutor

        # If no department id was returned in the above, add it...
        if dept_id == None:
            new_department = Department(
                name=str(department_to_add),
                short_ident=str(department_to_add)[0:4].upper(),
                school=tutor_to_associate.school)
            new_department.save()
            dept_id = new_department.id

        # Now check to see if the class exists
        classes = Class.objects.all()
        class_id = None

        for cl in classes:
            if cl.number == int(number_to_add):
                class_id = cl.id

        # If no class id was returned in the above, add it...
        if class_id == None:
            new_class = Class(department=Department.objects.get(id=dept_id),
                              title=str(class_to_add),
                              number=int(number_to_add))
            new_class.save()
            class_id = new_class.id

        if tutor_to_associate == None:
            return HttpResponse("This tutor does not exist!!!!")

        # Get the right class to associate
        class_to_associate = Class.objects.get(id=class_id)

        # Construct new tutor class object
        new_tutor_class = TutorClass(tutor=tutor_to_associate,
                                     teach=class_to_associate)

        # Save this tutor class to the database
        new_tutor_class.save()

    return HttpResponse("All things added successfully!")
示例#7
0
 def test_models(self):
     data_dicts = set_up_data()
     self.assertTrue(Class(data_dicts['c1']))
     self.assertTrue(Class(data_dicts['c2']))
     self.assertTrue(Class(data_dicts['c3']))
     self.assertTrue(Class(data_dicts['c4']))
示例#8
0
 def create(self, request):
     try:
         data = JSONParser().parse(request)
         class_serializer = ClassNoImageSerializer(data=data)
         # data = request.FILES['pre']
         # ex_image_serializer = ExerciseNoImageSerializer(data=data)
         if class_serializer.is_valid():
             cl = Class()
             cl.type = class_serializer.validated_data.get('type')
             cl.name = class_serializer.validated_data.get('name')
             cl.description = class_serializer.validated_data.get(
                 'description')
             cl.age = class_serializer.validated_data.get('age')
             cl.difficulty = class_serializer.validated_data.get(
                 'difficulty')
             cl.length = class_serializer.validated_data.get('length')
             cl.trainer = class_serializer.validated_data.get('trainer')
             cl.save()
             categories = []
             cat = class_serializer.validated_data.get('categories')
             for c in cat:
                 categories.append(c.category)
             cl.categories.set(categories)
             # ex.videoclass = class_serializer.validated_data.get('videoclass')
             cl.workarea = class_serializer.validated_data.get('workarea')
             cl.save()
             return Response(class_serializer.data,
                             status=status.HTTP_201_CREATED)
         return Response(class_serializer.errors,
                         status=status.HTTP_400_BAD_REQUEST)
     except Class.DoesNotExist:
         return Response(status=status.HTTP_400_BAD_REQUEST)