Пример #1
0
def document(request, app, doc_type, doc_id = None):
    app_item = _find_app(app)
    doc_item = _find_doc_type(app_item, doc_type)
    if doc_id:
        document = request._db(app_item.get('db'))[doc_id]
    else:
        document = Document(_db = request._db(app_item.get('db')))
    
    
    form_class = doc_item.get('form')
    form = None
    
    if form_class:
        form = form_class(initial = document)
        
        if request.method == 'POST':
            form = form_class(request.POST, request.FILES, initial = document)
            if form.is_valid():
                form.save(files = request.FILES)
                return redirect('couchdb:documents', app, doc_type)

    
    document.attachments = document.get('_attachments', {})
    
    return {
        'app': app_item,
        'doc_item': doc_item,
        'doc_type': doc_type,
        'doc_id': doc_id,
        'document': document,
        'form': form,
    }