Implement Request.last_submission_date
This commit is contained in:
@@ -5,6 +5,10 @@ from sqlalchemy.orm import relationship
|
||||
|
||||
from atst.models import Base
|
||||
from atst.models.types import Id
|
||||
from atst.models.request_status_event import RequestStatus
|
||||
|
||||
def first_or_none(predicate, lst):
|
||||
return next((x for x in lst if predicate(x)), None,)
|
||||
|
||||
|
||||
class Request(Base):
|
||||
@@ -47,3 +51,12 @@ class Request(Base):
|
||||
if self.task_order:
|
||||
return self.task_order.verified
|
||||
return False
|
||||
|
||||
@property
|
||||
def last_submission_date(self):
|
||||
def _is_submission(status_event):
|
||||
return status_event.new_status == RequestStatus.SUBMITTED
|
||||
|
||||
last_submission = first_or_none(_is_submission, reversed(self.status_events))
|
||||
if last_submission:
|
||||
return last_submission.time_created
|
||||
|
Reference in New Issue
Block a user