def show_page(request, page): if page.doc_type == "context": content = render_template(page.body, context_instance=RequestContext(request)) return HttpResponse(content) else: try: t = Type.get(page.ctype) except ResourceNotFound: raise Http404() content = render_template(t.templates['show'], { "doc": page }, context_instance=RequestContext(request)) return HttpResponse(content) raise Http404()
def edit_content(request, page, create=False): try: t = Type.get(page.ctype) except ResourceNotFound: raise Http404() if request.POST and not create: f = EditContent(request.POST, type_instance=t, document_instance=page) if f.is_valid(): f.save() return HttpResponseRedirect(request.path) else: f = EditContent(type_instance=t, document_instance=page) return render_to_response("pages/page.html", { "f": f, "path": request.path }, context_instance=RequestContext(request))
def new_document(request): if request.POST: fcreate = CreateDocument(request.POST) if fcreate.is_valid(): ptype = fcreate.cleaned_data['ptype'] t = Type.get(ptype) db = get_db("mtcompono") uuid = db.server.next_uuid() path = "/%s/%s" % (t.name, uuid) page = Page(ctype=ptype, urls=[path], author=request.user.username) page.save() redirect_path = "%s?edit=1" % path return HttpResponseRedirect(redirect_path) else: fcreate = CreateDocument() return render_to_response("pages/create_document.html", { "f": fcreate }, context_instance=RequestContext(request))
return HttpResponse(content=json.dumps({"error": True, "reason": "conflict - type already created"}), status="409") typeid = data.pop('_id', "") typerev = data.pop('_rev', "") t = Type(**data) if typeid: t._doc['_id'] = typeid if typerev: t._doc['_rev'] = typerev try: t.save() except ResourceConflict, e: return HttpResponse(content=json.dumps({"error": True, "reason": str(e)}), status="409") return HttpResponse(content=json.dumps({"ok": True, "id": t._id, "rev": t._rev}), content_type="application/json") doc = {} if typeid and typeid is not None: doc = Type.get(typeid).to_json() return render_to_response("types/type.html", { "doc": json.dumps(doc), "editors": Group.objects.all() }, context_instance=RequestContext(request)) def pages_by_type(request, name): raise Http404()