コード例 #1
0
ファイル: page.py プロジェクト: benoitc/mt-compono
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()
コード例 #2
0
ファイル: page.py プロジェクト: benoitc/mt-compono
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))
コード例 #3
0
ファイル: page.py プロジェクト: benoitc/mt-compono
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))
    
コード例 #4
0
ファイル: type.py プロジェクト: benoitc/mt-compono
            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()