More accurate "last saved at" timestamp

This commit is contained in:
richard-dds 2018-11-13 10:45:00 -05:00
parent 480a88aff7
commit 587a0da000
4 changed files with 36 additions and 1 deletions

View File

@ -238,6 +238,13 @@ class Request(Base, mixins.TimestampsMixin, mixins.AuditableMixin):
else None
)
@property
def last_finver_draft_saved_at(self):
if self.latest_revision.any_finver_fields_saved:
return self.latest_revision.time_updated
else:
return None
def __repr__(self):
return "<Request(status='{}', name='{}', creator='{}', is_approved='{}', time_created='{}', id='{}')>".format(
self.status_displayname,

View File

@ -83,3 +83,24 @@ class RequestRevision(Base, mixins.TimestampsMixin, mixins.AuditableMixin):
return "<RequestRevision(request='{}', id='{}')>".format(
self.request_id, self.id
)
@property
def any_finver_fields_saved(self):
return any(
getattr(self, n, None)
for n in [
"pe_id",
"task_order_number",
"fname_co",
"lname_co",
"email_co",
"office_co",
"fname_cor",
"lname_cor",
"email_cor",
"office_cor",
"uii_ids",
"treasury_code",
"ba_code",
]
)

View File

@ -186,7 +186,7 @@
{% endblock form %}
{% if saved_draft %}
Draft saved at <localdatetime :timestamp="new Date().toString()"></localdatetime>
Draft saved at <localdatetime :timestamp="'{{ jedi_request.last_finver_draft_saved_at.isoformat() }}'"></localdatetime>
{% endif %}
{% block next %}
<div class='action-group'>

View File

@ -3,6 +3,7 @@ from tests.factories import (
UserFactory,
RequestStatusEventFactory,
RequestReviewFactory,
RequestRevisionFactory,
)
from atst.domain.requests import Requests
from atst.models.request_status_event import RequestStatus
@ -113,3 +114,9 @@ def test_review_comment():
)
assert not request.review_comment
def test_finver_last_saved_at():
request = RequestFactory.create()
RequestRevisionFactory.create(fname_co="Amanda", request=request)
assert request.last_finver_draft_saved_at