Skip to content

Commit 05a9ebb

Browse files
fix: use short_name instead of name when building library key (openedx#149)
1 parent 9a9ab05 commit 05a9ebb

4 files changed

Lines changed: 17 additions & 8 deletions

File tree

CHANGELOG.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,14 @@ Unreleased
1616

1717
*
1818

19+
0.19.1 - 2025-11-25
20+
********************
21+
22+
Fixed
23+
=====
24+
25+
* Use `short_name` instead of `name` from organization when building library key.
26+
1927
0.19.0 - 2025-11-18
2028
********************
2129

openedx_authz/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@
44

55
import os
66

7-
__version__ = "0.19.0"
7+
__version__ = "0.19.1"
88

99
ROOT_DIRECTORY = os.path.dirname(os.path.abspath(__file__))

openedx_authz/engine/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ def migrate_legacy_permissions(ContentLibraryPermission):
125125
continue
126126

127127
# Generating scope based on library identifier
128-
scope = f"lib:{permission.library.org.name}:{permission.library.slug}"
128+
scope = f"lib:{permission.library.org.short_name}:{permission.library.slug}"
129129

130130
if permission.group:
131131
# Permission applied to a group

openedx_authz/tests/test_migrations.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@
1515
# Specify a unique prefix to avoid collisions with existing data
1616
OBJECT_PREFIX = "tmlp_"
1717

18-
org_name = f"{OBJECT_PREFIX}org"
18+
org_name = f"{OBJECT_PREFIX}org_full_name"
19+
org_short_name = f"{OBJECT_PREFIX}org"
1920
lib_name = f"{OBJECT_PREFIX}library"
2021
group_name = f"{OBJECT_PREFIX}test_group"
2122
user_names = [f"{OBJECT_PREFIX}user{i}" for i in range(3)]
@@ -40,7 +41,7 @@ def setUp(self):
4041
"""
4142
# Create ContentLibrary
4243

43-
org = Organization.objects.create(name=org_name, short_name=org_name)
44+
org = Organization.objects.create(name=org_name, short_name=org_short_name)
4445
library = ContentLibrary.objects.create(org=org, slug=lib_name)
4546

4647
# Create Users and Groups
@@ -104,12 +105,12 @@ def tearDown(self):
104105
batch_unassign_role_from_users(
105106
users=user_names,
106107
role_external_key=LIBRARY_ADMIN.external_key,
107-
scope_external_key=f"lib:{org_name}:{lib_name}",
108+
scope_external_key=f"lib:{org_short_name}:{lib_name}",
108109
)
109110
batch_unassign_role_from_users(
110111
users=group_user_names,
111112
role_external_key=LIBRARY_USER.external_key,
112-
scope_external_key=f"lib:{org_name}:{lib_name}",
113+
scope_external_key=f"lib:{org_short_name}:{lib_name}",
113114
)
114115

115116
ContentLibrary.objects.filter(slug=lib_name).delete()
@@ -133,13 +134,13 @@ def test_migration(self):
133134
AuthzEnforcer.get_enforcer().load_policy()
134135
for user_name in user_names:
135136
assignments = get_user_role_assignments_in_scope(
136-
user_external_key=user_name, scope_external_key=f"lib:{org_name}:{lib_name}"
137+
user_external_key=user_name, scope_external_key=f"lib:{org_short_name}:{lib_name}"
137138
)
138139
self.assertEqual(len(assignments), 1)
139140
self.assertEqual(assignments[0].roles[0], LIBRARY_ADMIN)
140141
for group_user_name in group_user_names:
141142
assignments = get_user_role_assignments_in_scope(
142-
user_external_key=group_user_name, scope_external_key=f"lib:{org_name}:{lib_name}"
143+
user_external_key=group_user_name, scope_external_key=f"lib:{org_short_name}:{lib_name}"
143144
)
144145
self.assertEqual(len(assignments), 1)
145146
self.assertEqual(assignments[0].roles[0], LIBRARY_USER)

0 commit comments

Comments
 (0)