Allow having multiple internal comments on a request

This commit is contained in:
Patrick Smith 2018-09-24 13:26:56 -04:00
parent 7250e1167c
commit 99a745904f
3 changed files with 10 additions and 11 deletions

View File

@ -225,8 +225,8 @@ class Requests(object):
return Requests._add_review(user, request, review_data)
@classmethod
def update_internal_comments(cls, user, request, comment_text):
def add_internal_comment(cls, user, request, comment_text):
Authorization.check_can_approve_request(user)
request.internal_comments = RequestInternalComment(text=comment_text, user=user)
request = RequestsQuery.add_and_commit(request)
comment = RequestInternalComment(request=request, text=comment_text, user=user)
RequestsQuery.add_and_commit(comment)
return request

View File

@ -45,7 +45,7 @@ class Request(Base, mixins.TimestampsMixin):
"RequestRevision", back_populates="request", order_by="RequestRevision.sequence"
)
internal_comments = relationship("RequestInternalComment", uselist=False)
internal_comments = relationship("RequestInternalComment")
@property
def latest_revision(self):
@ -167,10 +167,6 @@ class Request(Base, mixins.TimestampsMixin):
def reviews(self):
return [status.review for status in self.status_events if status.review]
@property
def internal_comments_text(self):
return self.internal_comments.text if self.internal_comments else ""
@property
def is_pending_financial_verification(self):
return self.status == RequestStatus.PENDING_FINANCIAL_VERIFICATION

View File

@ -223,10 +223,13 @@ def test_request_changes_to_financial_verification_info():
assert current_review.fname_mao == review_data["fname_mao"]
def test_update_internal_comments():
def test_add_internal_comment():
request = RequestFactory.create()
ccpo = UserFactory.from_atat_role("ccpo")
request = Requests.update_internal_comments(ccpo, request, "this is my comment")
assert len(request.internal_comments) == 0
assert request.internal_comments.text == "this is my comment"
request = Requests.add_internal_comment(ccpo, request, "this is my comment")
assert len(request.internal_comments) == 1
assert request.internal_comments[0].text == "this is my comment"