def handle(self, *args, **options): # create demo users users = {} for name in ['demo_student', 'demo_tutor', 'demo_owner']: user = User.objects.filter(username=name).delete() user = User.objects.create_user(username=name, email='*****@*****.**', password=name) UserProfile(user=user).save() users[name] = user # create demo grading passGrade = Grading(title='passed', means_passed=True) passGrade.save() failGrade = Grading(title='failed', means_passed=False) failGrade.save() passFailGrading = GradingScheme( title='Pass/Fail Grading Scheme (Demo)') passFailGrading.save() passFailGrading.gradings.add(passGrade) passFailGrading.gradings.add(failGrade) passFailGrading.save() # create demo course course = Course( title='Demo Course', active=True, owner=users['demo_owner'], max_authors=3, ) course.save() course.tutors.add(users['demo_tutor']) course.participants.add(users['demo_student'].profile) # create demo assignment today = timezone.now() last_week = today - datetime.timedelta(weeks=1) tomorrow = today + datetime.timedelta(days=1) next_week = today + datetime.timedelta(weeks=1) ass = Assignment(title='Demo Assignment 1', course=course, download='http://example.org/assignments1.pdf', gradingScheme=passFailGrading, publish_at=last_week, soft_deadline=tomorrow, hard_deadline=next_week, has_attachment=False) ass.save() # create demo submission Submission(assignment=ass, submitter=users['demo_student'], notes="This is a demo submission.", state=Submission.SUBMITTED_TESTED).save()
def setUpGradings(self): self.passGrade = Grading(title='passed', means_passed=True) self.passGrade.save() self.failGrade = Grading(title='failed', means_passed=False) self.failGrade.save() self.passFailGrading = GradingScheme(title='Pass/Fail Grading Scheme') self.passFailGrading.save() self.passFailGrading.gradings.add(self.passGrade) self.passFailGrading.gradings.add(self.failGrade) self.passFailGrading.save()
def create_pass_fail_grading(): pass_grade = Grading(title=uccrap + 'passed', means_passed=True) pass_grade.save() fail_grade = Grading(title=uccrap + 'failed', means_passed=False) fail_grade.save() pass_fail_grading = GradingScheme(title=uccrap + 'Pass/Fail') pass_fail_grading.save() pass_fail_grading.gradings.add(pass_grade) pass_fail_grading.gradings.add(fail_grade) pass_fail_grading.save() return pass_fail_grading
def handle(self, *args, **options): print("Adding demo data ...") # create demo users users = {} for name in ['demo_student', 'demo_cheater', 'demo_tutor', 'demo_owner']: user = User.objects.filter(username=name).delete() user = User.objects.create_user(username=name, email='*****@*****.**', password=name, first_name=name, last_name=name) users[name] = user # create demo grading Grading.objects.filter(title='passed (demo)').delete() passGrade = Grading(title='passed (demo)', means_passed=True) passGrade.save() Grading.objects.filter(title='failed (demo)').delete() failGrade = Grading(title='failed (demo)', means_passed=False) failGrade.save() GradingScheme.objects.filter( title='Pass/Fail Grading Scheme (Demo)').delete() passFailGrading = GradingScheme( title='Pass/Fail Grading Scheme (Demo)') passFailGrading.save() passFailGrading.gradings.add(passGrade) passFailGrading.gradings.add(failGrade) passFailGrading.save() # create demo course Course.objects.filter(title='Demo Course').delete() course = Course( title='Demo Course', active=True, owner=users['demo_owner'], homepage="http://www.open-submit.org" ) course.save() course.tutors.add(users['demo_tutor']) course.participants.add(users['demo_student'].profile) course.participants.add(users['demo_cheater'].profile) today = timezone.now() last_week = today - datetime.timedelta(weeks=1) tomorrow = today + datetime.timedelta(days=1) next_week = today + datetime.timedelta(weeks=1) # create demo assignment ass1 = Assignment( title='Demo A1: Graded group work with deadline', course=course, download='http://example.org/assignments1.pdf', gradingScheme=passFailGrading, publish_at=last_week, soft_deadline=tomorrow, hard_deadline=next_week, has_attachment=True, max_authors=3 ) ass1.save() # create demo assignment without grading ass2 = Assignment( title='Demo A2: Non-graded group work with deadline', course=course, download='http://example.org/assignments2.pdf', gradingScheme=None, publish_at=last_week, soft_deadline=tomorrow, hard_deadline=next_week, has_attachment=True, max_authors=3 ) ass2.save() # create demo assignment without deadlines ass3 = Assignment( title='Demo A3: Graded group work without deadline, only notes', course=course, download='http://example.org/assignments1.pdf', gradingScheme=passFailGrading, publish_at=last_week, soft_deadline=None, hard_deadline=None, has_attachment=False, max_authors=3 ) ass3.save() # create demo assignment without deadlines ass4 = Assignment( title='Demo A4: Graded group work with deadline being over', course=course, download='http://example.org/assignments1.pdf', gradingScheme=passFailGrading, publish_at=last_week, soft_deadline=last_week, hard_deadline=last_week, has_attachment=False, max_authors=3 ) ass4.save() # create demo submission Submission( assignment=ass1, submitter=users['demo_student'], notes="Demo submission for A1.", state=Submission.SUBMITTED_TESTED, file_upload=createSubmissionFile() ).save() # create cheater submission in course 1 Submission( assignment=ass1, submitter=users['demo_cheater'], notes="Demo duplicate submission for A1.", state=Submission.SUBMITTED_TESTED, file_upload=createSubmissionFile() ).save()