Esempio n. 1
0
def response_file(request_id):
    """
    File response endpoint that takes in the metadata of a file for a specific request from the frontend.
    Call process_upload_data to process the uploaded file form data.
    Pass data into helper function in response.utils to update changes into database.
    Send email notification to requester and bcc agency users if privacy is release.
    Render specific template and send email notification bcc agency users if privacy is private.

    :param request_id: FOIL request ID for the specific file.

    :return: redirect to view request page
    """
    current_request = Requests.query.filter_by(id=request_id).first()
    files = process_upload_data(flask_request.form)
    release_public_links = []
    release_private_links = []
    private_links = []
    for file_data in files:
        response_obj = add_file(current_request.id,
                                file_data,
                                files[file_data]['title'],
                                files[file_data]['privacy'],
                                is_editable=True)
        if not isinstance(response_obj, Files):
            flash(message=response_obj, category='danger')
        else:
            get_file_links(response_obj, release_public_links, release_private_links, private_links)
    send_file_email(request_id,
                    release_public_links,
                    release_private_links,
                    private_links,
                    flask_request.form['email-file-summary'],
                    flask_request.form['replace-string'],
                    flask_request.form['tz_name'])
    return redirect(url_for('request.view', request_id=request_id))
Esempio n. 2
0
def response_file(request_id):
    """
    File response endpoint that takes in the metadata of a file for a specific request from the frontend.
    Call process_upload_data to process the uploaded file form data.
    Pass data into helper function in response.utils to update changes into database.
    Send email notification to requester and bcc agency users if privacy is release.
    Render specific template and send email notification bcc agency users if privacy is private.

    :param request_id: FOIL request ID for the specific file.

    :return: redirect to view request page
    """
    current_request = Requests.query.filter_by(id=request_id).first()
    files = process_upload_data(flask_request.form)
    release_public_links = []
    release_private_links = []
    private_links = []
    for file_data in files:
        response_obj = add_file(current_request.id,
                                file_data,
                                files[file_data]['title'],
                                files[file_data]['privacy'],
                                is_editable=True)
        if not isinstance(response_obj, Files):
            flash(message=response_obj, category='danger')
        else:
            get_file_links(response_obj, release_public_links, release_private_links, private_links)
    send_file_email(request_id,
                    release_public_links,
                    release_private_links,
                    private_links,
                    flask_request.form['email-file-summary'],
                    flask_request.form['replace-string'],
                    flask_request.form['tz_name'])
    return redirect(url_for('request.view', request_id=request_id))