Determine if finver form should be extended by checking TO

This commit is contained in:
richard-dds
2018-10-22 10:17:04 -04:00
parent 68a18b834e
commit a1735874e6
6 changed files with 39 additions and 43 deletions

View File

@@ -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

View File

@@ -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,

View File

@@ -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(

View File

@@ -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