create system request review when request is automatically approved because its financial info was found in EDA
This commit is contained in:
parent
66a10f2d2f
commit
da74cfd708
@ -63,10 +63,22 @@ class Requests(object):
|
|||||||
request = Requests.set_status(request, RequestStatus.SUBMITTED)
|
request = Requests.set_status(request, RequestStatus.SUBMITTED)
|
||||||
|
|
||||||
if Requests.should_auto_approve(request):
|
if Requests.should_auto_approve(request):
|
||||||
request = Requests.set_status(request, RequestStatus.PENDING_FINANCIAL_VERIFICATION)
|
request = Requests.set_status(
|
||||||
Requests._add_review(None, request, {"comment": "Auto-approval for dollar value below {}".format(Requests.AUTO_APPROVE_THRESHOLD)})
|
request, RequestStatus.PENDING_FINANCIAL_VERIFICATION
|
||||||
|
)
|
||||||
|
Requests._add_review(
|
||||||
|
None,
|
||||||
|
request,
|
||||||
|
{
|
||||||
|
"comment": "Auto-acceptance for dollar value below {}".format(
|
||||||
|
Requests.AUTO_APPROVE_THRESHOLD
|
||||||
|
)
|
||||||
|
},
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
request = Requests.set_status(request, RequestStatus.PENDING_CCPO_ACCEPTANCE)
|
request = Requests.set_status(
|
||||||
|
request, RequestStatus.PENDING_CCPO_ACCEPTANCE
|
||||||
|
)
|
||||||
|
|
||||||
request = RequestsQuery.add_and_commit(request)
|
request = RequestsQuery.add_and_commit(request)
|
||||||
|
|
||||||
@ -94,6 +106,16 @@ class Requests(object):
|
|||||||
|
|
||||||
return workspace
|
return workspace
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def auto_approve_and_create_workspace(
|
||||||
|
cls,
|
||||||
|
request,
|
||||||
|
reason="Financial verification information found in Electronic Document Access API",
|
||||||
|
):
|
||||||
|
workspace = Requests.approve_and_create_workspace(request)
|
||||||
|
Requests._add_review(None, request, {"comment": reason})
|
||||||
|
return workspace
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def set_status(cls, request, status: RequestStatus):
|
def set_status(cls, request, status: RequestStatus):
|
||||||
old_status = request.status
|
old_status = request.status
|
||||||
|
@ -241,7 +241,7 @@ def update_financial_verification(request_id):
|
|||||||
)
|
)
|
||||||
|
|
||||||
if updated_request.task_order.verified:
|
if updated_request.task_order.verified:
|
||||||
workspace = Requests.approve_and_create_workspace(updated_request)
|
workspace = Requests.auto_approve_and_create_workspace(updated_request)
|
||||||
return redirect(
|
return redirect(
|
||||||
url_for(
|
url_for(
|
||||||
"workspaces.new_project", workspace_id=workspace.id, newWorkspace=True
|
"workspaces.new_project", workspace_id=workspace.id, newWorkspace=True
|
||||||
|
@ -224,6 +224,14 @@ def test_random_user_cannot_view_request():
|
|||||||
assert not RequestsAuthorization(user, request).can_view
|
assert not RequestsAuthorization(user, request).can_view
|
||||||
|
|
||||||
|
|
||||||
|
def test_auto_approve_and_create_workspace():
|
||||||
|
request = RequestFactory.create()
|
||||||
|
workspace = Requests.auto_approve_and_create_workspace(request)
|
||||||
|
assert workspace
|
||||||
|
assert request.reviews[0]
|
||||||
|
assert request.reviews[0].full_name_reviewer == "System"
|
||||||
|
|
||||||
|
|
||||||
class TestStatusNotifications(object):
|
class TestStatusNotifications(object):
|
||||||
def _assert_job(self, queue, request):
|
def _assert_job(self, queue, request):
|
||||||
assert len(queue.get_queue()) == 1
|
assert len(queue.get_queue()) == 1
|
||||||
|
Loading…
x
Reference in New Issue
Block a user