Ejemplo n.º 1
0
def submitupdate():
    """Form action handler for INSPIRE author update form."""
    from inspirehep.modules.forms.utils import DataExporter
    from invenio_workflows.models import BibWorkflowObject
    from flask.ext.login import current_user
    form = AuthorUpdateForm(formdata=request.form)
    visitor = DataExporter()
    visitor.visit(form)
    myobj = BibWorkflowObject.create_object(id_user=current_user.get_id())
    myobj.set_data(visitor.data)
    # Start workflow. delayed=True will execute the workflow in the
    # background using, for example, Celery.
    myobj.start_workflow("authorupdate", delayed=True)

    ctx = {
        "inspire_url": get_inspire_url(visitor.data)
    }

    return render_template('authors/forms/update_success.html', **ctx)
Ejemplo n.º 2
0
def reviewhandler(objectid):
    """Form handler when a cataloger accepts an author review."""
    from inspirehep.modules.forms.utils import DataExporter
    from invenio_workflows.models import BibWorkflowObject, ObjectVersion

    if not objectid:
        abort(400)

    form = AuthorUpdateForm(formdata=request.form)
    visitor = DataExporter()
    visitor.visit(form)

    workflow_object = BibWorkflowObject.query.get(objectid)
    extra_data = workflow_object.get_extra_data()
    extra_data["approved"] = True
    extra_data["recreate_data"] = True
    extra_data["ticket"] = request.form.get('ticket') == "True"
    workflow_object.set_extra_data(extra_data)
    workflow_object.set_data(visitor.data)
    workflow_object.save(version=ObjectVersion.WAITING)
    workflow_object.continue_workflow(delayed=True)

    return render_template('authors/forms/new_review_accepted.html',
                           approved=True)