Determine if finver form should be extended by checking TO
This commit is contained in:
@@ -159,9 +159,7 @@ class Requests(object):
|
||||
return Requests.status_count(RequestStatus.APPROVED)
|
||||
|
||||
@classmethod
|
||||
def update_financial_verification(
|
||||
cls, request_id, financial_data, extended=False, task_order=None
|
||||
):
|
||||
def update_financial_verification(cls, request_id, financial_data, task_order=None):
|
||||
request = RequestsQuery.get_with_lock(request_id)
|
||||
|
||||
delta = pick(
|
||||
@@ -181,7 +179,6 @@ class Requests(object):
|
||||
],
|
||||
financial_data,
|
||||
)
|
||||
delta["extended"] = extended
|
||||
|
||||
if task_order:
|
||||
request.task_order = task_order
|
||||
|
||||
@@ -6,6 +6,7 @@ from atst.models import Base, types, mixins
|
||||
from atst.models.request_status_event import RequestStatus
|
||||
from atst.utils import first_or_none
|
||||
from atst.models.request_revision import RequestRevision
|
||||
from atst.models.task_order import Source as TaskOrderSource
|
||||
|
||||
|
||||
def map_properties_to_dict(properties, instance):
|
||||
@@ -100,7 +101,6 @@ class Request(Base, mixins.TimestampsMixin, mixins.AuditableMixin):
|
||||
"uii_ids",
|
||||
"treasury_code",
|
||||
"ba_code",
|
||||
"extended",
|
||||
]
|
||||
|
||||
@property
|
||||
@@ -229,6 +229,14 @@ class Request(Base, mixins.TimestampsMixin, mixins.AuditableMixin):
|
||||
def pe_number(self):
|
||||
return self.body.get("financial_verification", {}).get("pe_id")
|
||||
|
||||
@property
|
||||
def has_manual_task_order(self):
|
||||
return (
|
||||
self.task_order.source == TaskOrderSource.MANUAL
|
||||
if self.task_order is not None
|
||||
else None
|
||||
)
|
||||
|
||||
def __repr__(self):
|
||||
return "<Request(status='{}', name='{}', creator='{}', is_approved='{}', time_created='{}', id='{}')>".format(
|
||||
self.status_displayname,
|
||||
|
||||
@@ -77,7 +77,6 @@ class RequestRevision(Base, mixins.TimestampsMixin, mixins.AuditableMixin):
|
||||
uii_ids = Column(ARRAY(String))
|
||||
treasury_code = Column(String)
|
||||
ba_code = Column(String)
|
||||
extended = Column(Boolean, default=False)
|
||||
|
||||
def __repr__(self):
|
||||
return "<RequestRevision(request='{}', id='{}')>".format(
|
||||
|
||||
@@ -17,7 +17,7 @@ from atst.utils import getattr_path
|
||||
|
||||
|
||||
def fv_extended(_http_request):
|
||||
return bool(_http_request.args.get("extended"))
|
||||
return _http_request.args.get("extended", "false").lower() in ["true", "t"]
|
||||
|
||||
|
||||
class FinancialVerificationBase(object):
|
||||
@@ -151,10 +151,7 @@ class UpdateFinancialVerification(FinancialVerificationBase):
|
||||
if should_update:
|
||||
task_order = self._try_create_task_order(form, attachment)
|
||||
updated_request = Requests.update_financial_verification(
|
||||
self.request.id,
|
||||
form.data,
|
||||
extended=self.is_extended,
|
||||
task_order=task_order,
|
||||
self.request.id, form.data, task_order=task_order
|
||||
)
|
||||
if should_submit:
|
||||
return Requests.submit_financial_verification(updated_request)
|
||||
@@ -201,7 +198,7 @@ class SaveFinancialVerificationDraft(FinancialVerificationBase):
|
||||
attachment = self._process_attachment(self.is_extended, form)
|
||||
task_order = self._try_create_task_order(form, attachment)
|
||||
updated_request = Requests.update_financial_verification(
|
||||
self.request.id, form.data, extended=self.is_extended, task_order=task_order
|
||||
self.request.id, form.data, task_order=task_order
|
||||
)
|
||||
|
||||
if valid:
|
||||
@@ -213,9 +210,13 @@ class SaveFinancialVerificationDraft(FinancialVerificationBase):
|
||||
@requests_bp.route("/requests/verify/<string:request_id>", methods=["GET"])
|
||||
def financial_verification(request_id):
|
||||
request = Requests.get(g.current_user, request_id)
|
||||
is_extended = fv_extended(http_request) or request.financial_verification.get(
|
||||
"extended", False
|
||||
)
|
||||
is_extended = fv_extended(http_request)
|
||||
|
||||
should_be_extended = not is_extended and request.has_manual_task_order
|
||||
if should_be_extended:
|
||||
return redirect(
|
||||
url_for(".financial_verification", request_id=request_id, extended=True)
|
||||
)
|
||||
|
||||
form = GetFinancialVerificationForm(
|
||||
g.current_user, request, is_extended=is_extended
|
||||
|
||||
Reference in New Issue
Block a user