def add_generic_problem(request, slug): if request.method == 'POST': data = json.loads(request.body.decode('utf-8')) task_pk = data.get('taskPk') task = Task.objects.get(pk=int(task_pk)) Problem.objects.create(task=task, name="P{0:d}".format(Problem.objects.filter(task=task).count() + 1)).save() MarkAPI.delete_mark_sets(task) return HttpResponse()
def save(self, commit=True, sheet=None): if sheet: self.instance.sheet = sheet super(AssignmentForm, self).save(commit) if 'grade_system' in self.cleaned_data: grade_system = self.cleaned_data['grade_system'] MarkAPI.delete_mark_sets(self.instance) # Creation of marks for assignemnt MarkAPI.create_marks_for_assignment(self.instance, grade_system) return self.instance
def add_generic_task(request, slug): sheet = Sheet.objects.get(slug=slug) if request.method == 'POST': data = json.loads(request.body.decode('utf-8')) assignment_pk = data.get('assignmentPk') assignment = Assignment.objects.get(pk=int(assignment_pk), sheet=sheet) Task.objects.create(assignment=assignment, name="T{0:d}".format(Task.objects.filter(assignment=assignment).count() + 1)).save() MarkAPI.delete_mark_sets(assignment) return HttpResponse()
def save(self, commit=True, assignment=None): if assignment: self.instance.assignment = assignment super(TaskForm, self).save(commit) if 'grade_system' in self.cleaned_data: grade_system = self.cleaned_data['grade_system'] if self.instance.assignment: MarkAPI.delete_mark_sets(self.instance.assignment) MarkAPI.delete_mark_sets(self.instance) # Creation of marks for task MarkAPI.create_marks_for_task(self.instance, grade_system) return self.instance
def save(self, commit=True, task=None): if task: self.instance.task = task super(ProblemForm, self).save(commit) if task: task.problem_set.add(self.instance) if 'grade_system' in self.cleaned_data: grade_system = self.cleaned_data['grade_system'] if self.instance.task: MarkAPI.delete_mark_sets(self.instance.task) MarkAPI.delete_mark_sets(self.instance) # Creation of marks for problem MarkAPI.create_marks_for_problem(self.instance, grade_system) return self.instance
def quick_add_problem(request, sheet_slug, assignment_slug, task_slug): form = QuickAddForm(request.POST or None) if form.is_valid(): sheet = Sheet.objects.get(slug=sheet_slug) assignment = sheet.assignment_set.get(slug=assignment_slug) task = assignment.task_set.get(slug=task_slug) number_of_items = form.cleaned_data['number_of_items'] for _ in range(number_of_items): Problem.objects.create(task=task, name="P{0:d}".format(Problem.objects.filter(task=task).count() + 1)).save() MarkAPI.delete_mark_sets(task) return redirect('sheet_detail', slug=sheet_slug) return render(request, 'quick_add.html', { 'form': form })