Пример #1
0
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()
Пример #2
0
 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
Пример #3
0
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()
Пример #4
0
 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
Пример #5
0
 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
Пример #6
0
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
    })