Ejemplo n.º 1
0
def document_create():
    form = DocumentCreateForm()
    if form.validate_on_submit():
        document = Document()
        document.title = form.title.data
        document.text = form.text.data
        document.url = form.url.data
        document.created = form.created.data
        source = Source.query.get(form.source.data)
        document.source = source
        user = User.query.get(form.user.data)
        document.user = user

        db.session.add(document)
        db.session.commit()

        return redirect(url_for('documents'))

    return render_template('document_create.html', form=form)
Ejemplo n.º 2
0
def put_document(doc_id: str):
    ###
    # Update a document by doc_id
    ##

    errors = []
    request = flask_rebar.get_validated_body()
    app.logger.debug(request)
    rc = 204

    # Get the document from the store by ID
    doc = Document.query.get(doc_id)

    if not doc:
        # Create a new doc
        app.logger.debug(f'Creating new doc via PUT: {doc_id}')
        doc = Document(
                doc_id = doc_id,
                title = request['title'],
                text = request['text'],
                created = datetime.utcnow()
        )
        db.session.add(doc)
        db.session.commit()
        rc = 201
    else:
        # Update existing
        app.logger.debug(f'Updated existing doc via PUT: {doc_id}')
        doc.title = request['title']
        doc.text = request['text']
        doc.updated = datetime.utcnow()

        db.session.add(doc)
        db.session.commit()

    return {
        'errors': errors, 
    }, rc