diff --git a/core/capacity/limiter.py b/core/capacity/limiter.py index 5c3426255..4b74f6f9f 100644 --- a/core/capacity/limiter.py +++ b/core/capacity/limiter.py @@ -42,7 +42,7 @@ from core.capacity.logs import emit from core.capacity.threads import RedisThread from core.common.utils import get_event_metadata -from core.users.constants import CORE_USER_GROUP, EARLY_ACCESS_GROUP +from core.users.constants import CORE_USER_GROUP, EARLY_ACCESS_GROUP, PRO_GROUP _NOW_MS = """ if redis.replicate_commands then redis.replicate_commands() end @@ -248,13 +248,13 @@ def get_not_after_ms(): def get_tier(user): - """The user's highest plan tier, as capabilities resolve it: staff > core > early_access > preview.""" + """The user's highest plan tier, as capabilities resolve it: staff > core > early_access (also pro) > preview.""" if user.is_staff or user.is_superuser: return TIER_STAFF groups = set(user.groups.values_list('name', flat=True)) if CORE_USER_GROUP in groups: return TIER_CORE - if EARLY_ACCESS_GROUP in groups: + if EARLY_ACCESS_GROUP in groups or PRO_GROUP in groups: return TIER_EARLY_ACCESS return TIER_PREVIEW diff --git a/core/capacity/tests/tests.py b/core/capacity/tests/tests.py index 0e1699b15..30d007b35 100644 --- a/core/capacity/tests/tests.py +++ b/core/capacity/tests/tests.py @@ -32,7 +32,7 @@ from core.capacity.threads import RedisThread from core.common.tests import OCLTestCase, OCLAPITestCase, PREVIEW_GROUP_NAME from core.common.utils import get_event_metadata -from core.users.constants import CORE_USER_GROUP, EARLY_ACCESS_GROUP +from core.users.constants import CORE_USER_GROUP, EARLY_ACCESS_GROUP, PRO_GROUP from core.users.tests.factories import UserProfileFactory @@ -239,6 +239,7 @@ def test_get_tier(self): self.assertEqual(get_tier(make_user(is_superuser=True)), 'staff') self.assertEqual(get_tier(make_user(CORE_USER_GROUP)), 'core') self.assertEqual(get_tier(make_user(EARLY_ACCESS_GROUP)), 'early_access') + self.assertEqual(get_tier(make_user(PRO_GROUP)), 'early_access') self.assertEqual(get_tier(make_user(PREVIEW_GROUP_NAME)), 'preview') self.assertEqual(get_tier(make_user()), 'preview') user = make_user(PREVIEW_GROUP_NAME) diff --git a/core/users/constants.py b/core/users/constants.py index fbcbbd498..ad17bba95 100644 --- a/core/users/constants.py +++ b/core/users/constants.py @@ -29,6 +29,7 @@ PREVIEW_GROUP = 'preview' PREVIEW_GRANDFATHERED_GROUP = 'preview_grandfathered' # existing accounts (ocl_online#230); layered on `preview` EARLY_ACCESS_GROUP = 'early_access' +PRO_GROUP = 'pro' # gets early access's capacity tier (ocl_online#517) BULK_IMPORT_ADVANCED_PERMISSION = 'users.bulk_import_advanced' BULK_IMPORT_PRIORITY_PERMISSION = 'users.bulk_import_priority' LIST_UNPAGINATED_PERMISSION = 'users.list_unpaginated'