def mutate(root, info, input=None): ok = True course = Course.objects.get(pk=input.course.id) assignment_instance = Assignment( assignment_name=input.assignment_name, assignment_description=input.assignment_description, start_date=input.start_date, due_date=input.due_date, course=course, ) assignment_instance.save() return CreateAssignment(ok=ok, assignment=assignment_instance)
def join(request, *args, **kwargs): if request.method == "POST": try: classe = Class.objects.get(code=str(request.POST.get('code'))) except: context = {'message': "The class code is invalid!"} return render(request, "classes/student/join.html", context) try: before = class_linker.objects.get(enrolled_class_id=classe.id, linked_user_id=request.user.id) except: pass else: context = {'message': "You cannot join a class twice!"} return render(request, "classes/student/join.html", context) class_link = class_linker() class_link.linked_user_id = request.user.id class_link.enrolled_class_id = classe.id class_link.save() model_assiginments = Model_assignment.objects.filter( linked_class_id=classe.id) for assignment in model_assiginments: new_assign = Assignment() new_assign.linked_class_id = classe.id new_assign.name = assignment.name new_assign.description = assignment.description new_assign.linked_class_linker_id = class_link.id new_assign.linked_model_assignment_id = assignment.id new_assign.user_id = request.user.id new_assign.save() response = redirect('/class/student/view/' + str(classe.id)) return response print(args, kwargs) print(request.user) return render(request, "classes/student/join.html", {})
def save_quiz(request): if request.query_params.get('teacher') is None: raise Exception("Query param 'teacher' must be passed") if request.query_params.get('students') is None: raise Exception("Query param 'students' must be passed") # parse data teacher_username = request.query_params.get('teacher') student_usernames = request.query_params.get('students').split(",") request_as_json = json.loads(request.body) quiz_name = request_as_json['quizName'] quiz_data = json.dumps(request_as_json['quizData']) # create database entry + add all data teacher_user = Profile.objects.get(username=teacher_username) assignment = Assignment(teacher=teacher_user, quizName=quiz_name, quizData=quiz_data) assignment.save() for student_username in student_usernames: student = Profile.objects.get(username=student_username) assignment.students.add(student) assignment.save() return Response({"status": "SUCCESS"})
def createAssignment(request, courseID): course = get_object_or_404(Course, pk=courseID) is_moderator = isCourseModerator(course, request.user) if not is_moderator: return HttpResponseForbidden("Forbidden 403") if request.method == 'POST': form = AssignmentForm(request.POST, request.FILES) form.this_course = course if form.is_valid(): newAssignment = Assignment(**form.cleaned_data) newAssignment.course = course newAssignment.creater = request.user newAssignment.serial_number = (Assignment.objects.filter(course=course).aggregate(Max('serial_number'))['serial_number__max'] or 0) + 1 newAssignment.save() link = reverse('assignments_createprogram', kwargs={'assignmentID': newAssignment.id}) messages.success(request, 'Assignment Created! Now <a href="{0}">ADD</a> programs to assignment.'.format(link), extra_tags='safe' ) #return HttpResponseRedirect(reverse('assignments_index', kwargs={'courseID':courseID})) return HttpResponseRedirect(reverse('assignments_details', kwargs={'assignmentID': newAssignment.id})) else: form = AssignmentForm() return render_to_response( 'assignments/createAssignment.html', {'form':form, 'course': course, 'is_moderator':is_moderator}, context_instance=RequestContext(request) )
def new_assignment(request, user, section_id): try: section = Section.objects.get(id=section_id) except Section.DoesNotExist: raise Http404("No such section!") if section.teacher != user: return HttpResponseForbidden("<h1>Not your class!</h1>") if request.method == 'POST': form = NewAssignmentForm(request.POST) if form.is_valid(): formdata = form.cleaned_data try: due_date = formdata['due_date'] due_time = formdata['due_time'] due_datetime = datetime.datetime.combine(due_date, due_time) assignment = Assignment(name=formdata['name'], description=formdata['description'], due_date=due_datetime, section=section) assignment.save() return HttpResponseRedirect(reverse('assignments:detail', args=(assignment.id,))) except (IntegrityError, DataError): form.add_error(None, "Sorry, couldn't create that assignment.") else: form = NewAssignmentForm() return render(request, 'section/new_assignment.html', {'form': form, 'section_id': section_id})
def createAssignment(request, courseID): course = get_object_or_404(Course, pk=courseID) is_moderator = isCourseModerator(course, request.user) if not is_moderator: return HttpResponseForbidden("Forbidden 403") if request.method == 'POST': form = AssignmentForm(request.POST, request.FILES) form.this_course = course if form.is_valid(): newAssignment = Assignment(**form.cleaned_data) newAssignment.course = course newAssignment.creater = request.user newAssignment.serial_number = ( Assignment.objects.filter(course=course).aggregate( Max('serial_number'))['serial_number__max'] or 0) + 1 newAssignment.save() link = reverse('assignments_createprogram', kwargs={'assignmentID': newAssignment.id}) messages.success( request, 'Assignment Created! Now <a href="{0}">ADD</a> programs to assignment.' .format(link), extra_tags='safe') #return HttpResponseRedirect(reverse('assignments_index', kwargs={'courseID':courseID})) return HttpResponseRedirect( reverse('assignments_details', kwargs={'assignmentID': newAssignment.id})) else: form = AssignmentForm() return render_to_response('assignments/createAssignment.html', { 'form': form, 'course': course, 'is_moderator': is_moderator }, context_instance=RequestContext(request))
def setUp(self): self.assignment = Assignment(id=1, title="Tester", description="A test case for us", required_media="Video", deadline="2017-08-23")
enrollment.save() # ANNOUNCEMENT_TEST announcement = Announcement( title='Test Announcement Title', body='Announcement Test Body', course=course, ) announcement.save() # ASSIGNMENT_TEST assignment = Assignment( title='Assignment Test Title', description='Assignment Test Description', score=100.00, deadline=date.today(), assignment_file='', course=course, student=student, ) assignment.save() # GROUP_TEST group = Group( name='Group Test', course=course, ) group.save() group.students.add(student) # ASSISTANT_TEST