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.sql import text
|
||||||
from sqlalchemy.orm.exc import NoResultFound
|
from sqlalchemy.orm.exc import NoResultFound
|
||||||
from sqlalchemy.orm.attributes import flag_modified
|
from sqlalchemy.orm.attributes import flag_modified
|
||||||
|
from werkzeug.datastructures import FileStorage
|
||||||
|
|
||||||
from atst.models.request import Request
|
from atst.models.request import Request
|
||||||
from atst.models.request_status_event import RequestStatusEvent, RequestStatus
|
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()
|
for (k, v) in financial_data.items()
|
||||||
if k in TaskOrders.TASK_ORDER_DATA
|
if k in TaskOrders.TASK_ORDER_DATA
|
||||||
}
|
}
|
||||||
|
|
||||||
if task_order_data:
|
if task_order_data:
|
||||||
task_order_number = request_data.pop("task_order_number")
|
task_order_number = request_data.pop("task_order_number")
|
||||||
else:
|
else:
|
||||||
task_order_number = request_data.get("task_order_number")
|
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 = TaskOrders.get_or_create_task_order(
|
||||||
task_order_number, task_order_data
|
task_order_number, task_order_data
|
||||||
)
|
)
|
||||||
|
@ -3,6 +3,7 @@ from flask import current_app as app
|
|||||||
|
|
||||||
from atst.database import db
|
from atst.database import db
|
||||||
from atst.models.task_order import TaskOrder, Source
|
from atst.models.task_order import TaskOrder, Source
|
||||||
|
from atst.models.attachment import Attachment
|
||||||
from .exceptions import NotFoundError
|
from .exceptions import NotFoundError
|
||||||
|
|
||||||
|
|
||||||
@ -53,6 +54,9 @@ class TaskOrders(object):
|
|||||||
|
|
||||||
except NotFoundError:
|
except NotFoundError:
|
||||||
if task_order_data:
|
if task_order_data:
|
||||||
|
pdf_file = task_order_data.pop("pdf")
|
||||||
|
# should catch the error here
|
||||||
|
attachment = Attachment.attach(pdf_file)
|
||||||
return TaskOrders.create(
|
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 %}
|
{% block form_action %}
|
||||||
{% if extended %}
|
{% 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 %}
|
{% else %}
|
||||||
<form method='POST' action="{{ url_for('requests.financial_verification', request_id=request_id) }}" autocomplete="off">
|
<form method='POST' action="{{ url_for('requests.financial_verification', request_id=request_id) }}" autocomplete="off">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@ -96,7 +96,7 @@
|
|||||||
) }}
|
) }}
|
||||||
|
|
||||||
{{ f.task_order.label }}
|
{{ f.task_order.label }}
|
||||||
{{ f.task_order(multiple="") }}
|
{{ f.task_order }}
|
||||||
</fieldset>
|
</fieldset>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user