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)
|
||||
|
||||
if Requests.should_auto_approve(request):
|
||||
request = Requests.set_status(request, RequestStatus.PENDING_FINANCIAL_VERIFICATION)
|
||||
Requests._add_review(None, request, {"comment": "Auto-approval for dollar value below {}".format(Requests.AUTO_APPROVE_THRESHOLD)})
|
||||
request = Requests.set_status(
|
||||
request, RequestStatus.PENDING_FINANCIAL_VERIFICATION
|
||||
)
|
||||
Requests._add_review(
|
||||
None,
|
||||
request,
|
||||
{
|
||||
"comment": "Auto-acceptance for dollar value below {}".format(
|
||||
Requests.AUTO_APPROVE_THRESHOLD
|
||||
)
|
||||
},
|
||||
)
|
||||
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)
|
||||
|
||||
@ -94,6 +106,16 @@ class Requests(object):
|
||||
|
||||
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
|
||||
def set_status(cls, request, status: RequestStatus):
|
||||
old_status = request.status
|
||||
|
@ -241,7 +241,7 @@ def update_financial_verification(request_id):
|
||||
)
|
||||
|
||||
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(
|
||||
url_for(
|
||||
"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
|
||||
|
||||
|
||||
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):
|
||||
def _assert_job(self, queue, request):
|
||||
assert len(queue.get_queue()) == 1
|
||||
|
Loading…
x
Reference in New Issue
Block a user