working PDF uploads for task orders
This commit is contained in:
parent
54d1e7235b
commit
900bb7b7ad
@ -3,6 +3,7 @@ from sqlalchemy import exists, and_, exc
|
||||
from sqlalchemy.sql import text
|
||||
from sqlalchemy.orm.exc import NoResultFound
|
||||
from sqlalchemy.orm.attributes import flag_modified
|
||||
from werkzeug.datastructures import FileStorage
|
||||
|
||||
from atst.models.request import Request
|
||||
from atst.models.request_status_event import RequestStatusEvent, RequestStatus
|
||||
@ -244,11 +245,15 @@ WHERE requests_with_status.status = :status
|
||||
for (k, v) in financial_data.items()
|
||||
if k in TaskOrders.TASK_ORDER_DATA
|
||||
}
|
||||
|
||||
if task_order_data:
|
||||
task_order_number = request_data.pop("task_order_number")
|
||||
else:
|
||||
task_order_number = request_data.get("task_order_number")
|
||||
|
||||
if "task_order" in request_data and isinstance(request_data["task_order"], FileStorage):
|
||||
task_order_data["pdf"] = request_data.pop("task_order")
|
||||
|
||||
task_order = TaskOrders.get_or_create_task_order(
|
||||
task_order_number, task_order_data
|
||||
)
|
||||
|
@ -3,6 +3,7 @@ from flask import current_app as app
|
||||
|
||||
from atst.database import db
|
||||
from atst.models.task_order import TaskOrder, Source
|
||||
from atst.models.attachment import Attachment
|
||||
from .exceptions import NotFoundError
|
||||
|
||||
|
||||
@ -53,6 +54,9 @@ class TaskOrders(object):
|
||||
|
||||
except NotFoundError:
|
||||
if task_order_data:
|
||||
pdf_file = task_order_data.pop("pdf")
|
||||
# should catch the error here
|
||||
attachment = Attachment.attach(pdf_file)
|
||||
return TaskOrders.create(
|
||||
**task_order_data, number=number, source=Source.MANUAL
|
||||
**task_order_data, number=number, source=Source.MANUAL, pdf=attachment
|
||||
)
|
||||
|
@ -38,7 +38,7 @@
|
||||
|
||||
{% block form_action %}
|
||||
{% if extended %}
|
||||
<form method='POST' action="{{ url_for('requests.financial_verification', request_id=request_id, extended=True) }}" autocomplete="off">
|
||||
<form method='POST' action="{{ url_for('requests.financial_verification', request_id=request_id, extended=True) }}" autocomplete="off" enctype="multipart/form-data">
|
||||
{% else %}
|
||||
<form method='POST' action="{{ url_for('requests.financial_verification', request_id=request_id) }}" autocomplete="off">
|
||||
{% endif %}
|
||||
@ -96,7 +96,7 @@
|
||||
) }}
|
||||
|
||||
{{ f.task_order.label }}
|
||||
{{ f.task_order(multiple="") }}
|
||||
{{ f.task_order }}
|
||||
</fieldset>
|
||||
{% endif %}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user