Skip to content

Commit d840e9b

Browse files
committed
fix: mutation Module Permission bug
1 parent 4571342 commit d840e9b

5 files changed

Lines changed: 23 additions & 3 deletions

File tree

core/models/user.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,7 @@ class Meta:
189189

190190

191191
class InteractiveUser(VersionedModel):
192+
UNIQUE_FIELDS = {"pk", "uuid", "id", "login_name"}
192193
USE_CACHE = not settings.IS_TESTING
193194
id = models.AutoField(db_column="UserID", primary_key=True)
194195
uuid = models.CharField(

core/models/versioned_model.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class BaseVersionedModel(CachedModelMixin, models.Model):
2121

2222
@staticmethod
2323
def filter_validity(validity=None, prefix="", **kwargs):
24-
return filter_validity(validity, prefix, **kwargs)
24+
return filter_validity(validity=validity, prefix=prefix, **kwargs)
2525

2626
def update(self, *args, **kwargs):
2727
"""

core/schema.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1312,7 +1312,7 @@ def resolve_modules_permissions(self, info, **kwargs):
13121312
ModulePermissionGQLType(module_name=app, permissions=permissions)
13131313
)
13141314

1315-
return ModulePermissionsListGQLType(permissions=config)
1315+
return ModulePermissionsListGQLType(module_perms_list=config)
13161316

13171317
def resolve_custom_filters(self, info, **kwargs):
13181318
user = info.context.user

core/tests/test_graphql.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,3 +202,22 @@ def test_fetch_claimadmin(self):
202202
query, headers={"HTTP_AUTHORIZATION": f"Bearer {self.admin_token}"}
203203
)
204204
self.assertResponseNoErrors(response)
205+
206+
def test_authority_picker(self):
207+
query = """
208+
query AuthorityPicker {
209+
modulesPermissions {
210+
modulePermsList {
211+
moduleName
212+
permissions {
213+
permsName
214+
permsValue
215+
}
216+
}
217+
}
218+
}
219+
"""
220+
response = self.query(
221+
query, headers={"HTTP_AUTHORIZATION": f"Bearer {self.admin_token}"}
222+
)
223+
self.assertResponseNoErrors(response)

core/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ def get(self, *args, **kwargs):
239239
"Cache hit for get() with key: %s",
240240
get_cache_key(self.model, self._normalize_value(value)),
241241
)
242-
return cached_qs.first() # Use first() to get single instance
242+
return list(cached_qs)[0] # Use first() to get single instance
243243

244244
# Fallback to default get() for non-simple queries or cache miss
245245
instance = super().get(*args, **kwargs)

0 commit comments

Comments
 (0)