def add_idea(request): if request.method == 'GET': return render(request, 'ideas/ideas/add.html') elif request.method == 'POST': idea_form = IdeaForm(request.POST) if idea_form.is_valid(): new_idea = idea_form.save(commit=False) new_idea.user = request.user new_idea.save() idea_form.save_m2m() return redirect("idea", idea_id=new_idea.id) else: # needs to show the form with the errors return render(request, 'ideas/ideas/add.html', {'form': idea_form})
def edit_idea(request, idea_id): idea = get_object_or_404(Idea, pk=idea_id) if request.user.id == idea.user.id: if request.method == 'GET': return render(request, 'ideas/ideas/edit.html', {'idea': idea}) elif request.method == 'POST': edit_form = IdeaForm(request.POST) if edit_form.is_valid(): temp = edit_form.save(commit=False) temp.id = idea.id idea.title = request.POST['title'] idea.text = request.POST['text'] idea.updated = timezone.now() idea.save() edit_form.save_m2m() return redirect('idea', idea_id=idea_id) else: return render(request, 'ideas/ideas/edit.html', {'idea': idea, 'form': edit_form}) return HttpResponse("You don't have permission to edit this question")