def edit_snippet(request, snippet_id=None): "Edits an existing code snippet" if snippet_id is None: raise Http404() template_name = "snippets/edit.html" if request.method == "POST": form = CodeSnippetForm(request.POST) if form.is_valid(): snippet = get_snippet_or_404(snippet_id) snippet = copy_snippet_from_form(form, snippet=snippet) snippet.put() index_snippet_with_search(snippet) return HttpResponseRedirect(reverse("snippets:snippet-detail", kwargs={"snippet_id": snippet.key().id()})) else: initial_data = {} snippet = get_snippet_or_404(snippet_id) initial_data.update(db.to_dict(snippet)) form = CodeSnippetForm(initial=initial_data, auto_id=False) ctx = {} ctx["form"] = form ctx["form_action"] = reverse("snippets:edit-snippet", kwargs={"snippet_id": snippet_id}) return render_to_response(template_name, context_instance=RequestContext(request, ctx))
def new_snippet(request): "Creates a new code snippet" template_name = "snippets/edit.html" if request.method == "POST": form = CodeSnippetForm(request.POST) if form.is_valid(): snippet = CodeSnippet() snippet = copy_snippet_from_form(form, snippet) snippet.put() index_snippet_with_search(snippet) return HttpResponseRedirect(reverse("snippets:snippet-detail", kwargs={"snippet_id": snippet.key().id()})) else: form = CodeSnippetForm() ctx = {} ctx["form"] = form ctx["form_action"] = reverse("snippets:new-snippet") return render_to_response(template_name, context_instance=RequestContext(request, ctx))