From e85cc58a7a2d634a6fe7a0aea2db3da0a4c023d0 Mon Sep 17 00:00:00 2001 From: Todd Dembrey <todd.dembrey@torchbox.com> Date: Fri, 24 May 2019 15:40:17 +0100 Subject: [PATCH] GH-985: Make sure superusers dont fall through the cracks --- .../0062_data_migrate_type_for_assigned_reviewers.py | 7 +++++-- opentech/apply/funds/models/submissions.py | 5 ++++- .../apply/review/migrations/0018_migrate_author_data.py | 5 ++++- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/opentech/apply/funds/migrations/0062_data_migrate_type_for_assigned_reviewers.py b/opentech/apply/funds/migrations/0062_data_migrate_type_for_assigned_reviewers.py index f2c8b2f4a..ed7f3003a 100644 --- a/opentech/apply/funds/migrations/0062_data_migrate_type_for_assigned_reviewers.py +++ b/opentech/apply/funds/migrations/0062_data_migrate_type_for_assigned_reviewers.py @@ -29,12 +29,15 @@ def add_reviewer_type(apps, schema_editor): groups = {PARTNER_GROUP_NAME} elif COMMUNITY_REVIEWER_GROUP_NAME in groups: groups = {COMMUNITY_REVIEWER_GROUP_NAME} - elif review.author.is_staff or review.author.is_superuser: + elif assigned.reviewer.is_staff or assigned.reviewer.is_superuser: groups = {STAFF_GROUP_NAME} else: groups = {REVIEWER_GROUP_NAME} elif not groups: - groups = {REVIEWER_GROUP_NAME} + if assigned.reviewer.is_staff or assigned.reviewer.is_superuser: + groups = {STAFF_GROUP_NAME} + else: + groups = {REVIEWER_GROUP_NAME} group = Group.objects.get(name=groups.pop()) assigned.type = group diff --git a/opentech/apply/funds/models/submissions.py b/opentech/apply/funds/models/submissions.py index 3d7da4704..2906ce528 100644 --- a/opentech/apply/funds/models/submissions.py +++ b/opentech/apply/funds/models/submissions.py @@ -792,7 +792,10 @@ class AssignedReviewersQuerySet(models.QuerySet): else: groups = {REVIEWER_GROUP_NAME} elif not groups: - groups = {REVIEWER_GROUP_NAME} + if assigned.reviewer.is_staff or assigned.reviewer.is_superuser: + groups = {STAFF_GROUP_NAME} + else: + groups = {REVIEWER_GROUP_NAME} group = Group.objects.get(name=groups.pop()) diff --git a/opentech/apply/review/migrations/0018_migrate_author_data.py b/opentech/apply/review/migrations/0018_migrate_author_data.py index 0b8704d29..fecd058fd 100644 --- a/opentech/apply/review/migrations/0018_migrate_author_data.py +++ b/opentech/apply/review/migrations/0018_migrate_author_data.py @@ -36,7 +36,10 @@ def add_to_assigned_reviewers(apps, schema_editor): else: groups = {REVIEWER_GROUP_NAME} elif not groups: - groups = {REVIEWER_GROUP_NAME} + if assigned.reviewer.is_staff or assigned.reviewer.is_superuser: + groups = {STAFF_GROUP_NAME} + else: + groups = {REVIEWER_GROUP_NAME} group = Group.objects.get(name=groups.pop()) -- GitLab