TaskOrders gets EDA client from current Flask app

This commit is contained in:
dandds
2018-08-21 14:02:01 -04:00
parent a50b855389
commit 1a9606f2b8
5 changed files with 21 additions and 20 deletions

View File

@@ -1,4 +1,5 @@
from sqlalchemy.orm.exc import NoResultFound
from flask import current_app as app
from atst.database import db
from atst.models.task_order import TaskOrder
@@ -8,22 +9,22 @@ from .exceptions import NotFoundError
class TaskOrders(object):
@classmethod
def get(cls, order_number, client=None):
def get(cls, order_number):
try:
task_order = (
db.session.query(TaskOrder).filter_by(number=order_number).one()
)
except NoResultFound:
if client:
task_order = TaskOrders._get_from_eda(order_number, client)
if TaskOrders._client():
task_order = TaskOrders._get_from_eda(order_number)
else:
raise NotFoundError("task_order")
return task_order
@classmethod
def _get_from_eda(cls, order_number, client):
to_data = client.get_contract(order_number, status="y")
def _get_from_eda(cls, order_number):
to_data = TaskOrders._client().get_contract(order_number, status="y")
if to_data:
return TaskOrders.create(to_data["contract_no"])
else:
@@ -37,3 +38,7 @@ class TaskOrders(object):
db.session.commit()
return task_order
@classmethod
def _client(cls):
return app.eda_client