add request review
This commit is contained in:
@@ -15,3 +15,4 @@ from .project import Project
|
||||
from .environment import Environment
|
||||
from .attachment import Attachment
|
||||
from .request_revision import RequestRevision
|
||||
from .request_review import RequestReview
|
||||
|
@@ -115,13 +115,17 @@ class Request(Base):
|
||||
|
||||
return body
|
||||
|
||||
@property
|
||||
def latest_status(self):
|
||||
return self.status_events[-1]
|
||||
|
||||
@property
|
||||
def status(self):
|
||||
return self.status_events[-1].new_status
|
||||
return self.latest_status.new_status
|
||||
|
||||
@property
|
||||
def status_displayname(self):
|
||||
return self.status_events[-1].displayname
|
||||
return self.latest_status.displayname
|
||||
|
||||
@property
|
||||
def annual_spend(self):
|
||||
@@ -154,3 +158,7 @@ class Request(Base):
|
||||
RequestStatus.PENDING_FINANCIAL_VERIFICATION: "mission_owner",
|
||||
RequestStatus.PENDING_CCPO_APPROVAL: "ccpo",
|
||||
}.get(self.status)
|
||||
|
||||
@property
|
||||
def reviews(self):
|
||||
return [status.review for status in self.status_events if status.review]
|
||||
|
19
atst/models/request_review.py
Normal file
19
atst/models/request_review.py
Normal file
@@ -0,0 +1,19 @@
|
||||
from sqlalchemy import Column, Integer, String
|
||||
from sqlalchemy.orm import relationship
|
||||
|
||||
from atst.models import Base
|
||||
|
||||
|
||||
class RequestReview(Base):
|
||||
__tablename__ = "request_reviews"
|
||||
|
||||
id = Column(Integer, primary_key=True)
|
||||
status = relationship("RequestStatusEvent", back_populates="review")
|
||||
|
||||
comments = Column(String)
|
||||
fname_mao = Column(String)
|
||||
lname_mao = Column(String)
|
||||
email_mao = Column(String)
|
||||
phone_mao = Column(String)
|
||||
fname_ccpo = Column(String)
|
||||
lname_ccpo = Column(String)
|
@@ -35,6 +35,9 @@ class RequestStatusEvent(Base):
|
||||
request_revision_id = Column(ForeignKey("request_revisions.id"), nullable=False)
|
||||
revision = relationship("RequestRevision")
|
||||
|
||||
request_review_id = Column(ForeignKey("request_reviews.id"), nullable=True)
|
||||
review = relationship("RequestReview", back_populates="status")
|
||||
|
||||
@property
|
||||
def displayname(self):
|
||||
return self.new_status.value
|
||||
|
Reference in New Issue
Block a user