def problem_detail(request, sheet_slug, assignment_slug, task_slug, problem_slug): task = Sheet.objects.get(slug=sheet_slug).assignment_set.get(slug=assignment_slug).task_set.get(slug=task_slug) problem = task.problem_set.get(slug=problem_slug) form = ProblemForm(request.POST or None, task=task, instance=problem) if form.is_valid(): form.save() return redirect('sheet_detail', slug=sheet_slug) return render(request, 'problem_detail.html', { 'form': form, 'sheet_slug': sheet_slug, 'assignment_slug': assignment_slug, 'task_slug': task_slug, 'problem_slug': problem_slug })
def add_problem(request, sheet_slug, assignment_slug, task_slug): task = Sheet.objects.get(slug=sheet_slug).assignment_set.get(slug=assignment_slug).task_set.get(slug=task_slug) form = ProblemForm(request.POST or None, task=task) if form.is_valid(): problem = form.save(task=task) problem.save() return redirect('problem_detail', sheet_slug=sheet_slug, assignment_slug=assignment_slug, task_slug=task_slug, problem_slug=problem.slug) return render(request, 'add_problem.html', { 'form': form, 'sheet_slug': sheet_slug, 'assignment_slug': assignment_slug, 'task_slug': task_slug })