diff --git a/opentech/apply/funds/views.py b/opentech/apply/funds/views.py index 2d8d39f1309f88461a1f7badeb0cbdb53b4fe5b6..1a99921ac153747696cb6b8281066cb8c059a3a3 100644 --- a/opentech/apply/funds/views.py +++ b/opentech/apply/funds/views.py @@ -55,7 +55,7 @@ from .tables import ( SubmissionReviewerFilterAndSearch, SummarySubmissionsTable, ) -from .workflow import STAGE_CHANGE_ACTIONS, PHASES_MAPPING, review_statuses +from .workflow import STAGE_CHANGE_ACTIONS, PHASES_MAPPING, review_statuses, get_edit_review_active_statuses class BaseAdminSubmissionsTable(SingleTableMixin, FilterView): @@ -492,7 +492,8 @@ class PartnerSubmissionDetailView(ReviewContextMixin, ActivityContextMixin, Dele return ApplicantSubmissionDetailView.as_view()(request, *args, **kwargs) # Only allow partners in the submission they are added as partners partner_has_access = submission.partners.filter(pk=request.user.pk).exists() - if not partner_has_access: + user_edit_review_statuses = get_edit_review_active_statuses(request.user) + if not partner_has_access or submission.status not in user_edit_review_statuses: raise PermissionDenied return super().dispatch(request, *args, **kwargs)