Skip to content
Snippets Groups Projects
Commit a76f5fb4 authored by Todd Dembrey's avatar Todd Dembrey
Browse files

Update the React FE for the new partner reviews

parent a48c55cd
No related branches found
No related tags found
No related merge requests found
......@@ -99,6 +99,7 @@ class ReviewSummarySerializer(serializers.Serializer):
'order': assigned.role and assigned.role.order,
},
'is_staff': assigned.reviewer.is_apply_staff,
'is_partner': assigned.reviewer.is_partner,
} for assigned in assigned_reviewers
]
......@@ -114,6 +115,7 @@ class ReviewSummarySerializer(serializers.Serializer):
'order': None,
},
'is_staff': user.is_apply_staff,
'is_partner': user.is_partner,
} for user in User.objects.filter(id__in=extra_reviewers)
])
......
......@@ -19,7 +19,16 @@ const ReviewInformation = ({ submission }) => {
const staff = [];
const nonStaff = [];
Object.values(data.assigned).map(key => key.isStaff ? staff.push(key) : nonStaff.push(key))
const partner = [];
Object.values(data.assigned).map(person => {
if (person.isStaff) {
staff.push(person)
} else if(person.is_partner){
partner.push(person)
} else {
nonStaff.push(person)
}
})
const orderPeople = (people) => {
people.sort((a,b) => {
......@@ -77,22 +86,38 @@ const ReviewInformation = ({ submission }) => {
</>
}
const [staffReviewed, staffNotReviewed] = orderPeople(staff);
const [nonStaffReviewed, nonStaffNotReviewed] = orderPeople(nonStaff);
const renderNormal = (people) => {
const [peopleReviewed, peopleNotReviewed] = orderPeople(people);
return <>
{renderReviewBlock(peopleReviewed)}
{renderReviewBlock(peopleNotReviewed)}
</>
}
const renderCollapsed = (people) => {
const [peopleReviewed, peopleNotReviewed] = orderPeople(people);
return <>
{ renderReviewBlock(peopleReviewed) }
{ peopleNotReviewed.length !== 0 &&
<a onClick={() => setShowExternal(!showExternal)}>{showExternal ? "Hide assigned reviewers": "All assigned reviewers"}</a>
}
{ showExternal &&
renderReviewBlock(peopleNotReviewed)
}
</>
}
return (
<SidebarBlock title="Reviews &amp; assignees">
{ partner.length === 0 && staff.length === 0 && nonStaff.length === 0 && <h5>No reviews available</h5>}
<ReviewBlock score={data.score} recommendation={data.recommendation.display}>
{renderReviewBlock(staffReviewed)}
{renderReviewBlock(staffNotReviewed)}
<hr />
{ renderReviewBlock(nonStaffReviewed) }
{ nonStaffNotReviewed.length !== 0 &&
<a onClick={() => setShowExternal(!showExternal)}>{showExternal ? "Hide assigned reviewers": "All assigned reviewers"}</a>
}
{ showExternal &&
renderReviewBlock(nonStaffNotReviewed)
}
{ renderNormal(staff) }
{ staff.length !== 0 && partner.length !== 0 && <hr /> }
{ renderNormal(partner) }
{ (partner.length !== 0 || staff.length !== 0) && nonStaff.length !== 0 && <hr /> }
{ renderCollapsed(nonStaff) }
</ReviewBlock>
</SidebarBlock>
)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment