Return model_keys as list from get_registered_actions()

Move string joining to the template so callers get native
list data instead of a pre-formatted CSV string.
This commit is contained in:
Jason Novinger
2026-04-07 14:57:47 -05:00
parent 6c69463e4b
commit e7bcb7f14c
3 changed files with 6 additions and 6 deletions

View File

@@ -16,7 +16,7 @@
<div class="d-flex justify-content-between align-items-start">
{% checkmark enabled %}
{% if models %}
<small class="text-muted">{{ models }}</small>
<small class="text-muted">{{ models|join:", " }}</small>
{% endif %}
</div>
</td>

View File

@@ -86,7 +86,7 @@ class ObjectPermission(CloningMixin, models.Model):
def get_registered_actions(self):
"""
Return a list of (action_name, is_enabled, model_keys_csv) tuples for all
Return a list of (action_name, is_enabled, model_keys) tuples for all
registered actions, indicating which are enabled on this permission.
"""
enabled_actions = set(self.actions) - set(RESERVED_ACTIONS)
@@ -97,7 +97,7 @@ class ObjectPermission(CloningMixin, models.Model):
action_models.setdefault(action.name, []).append(model_key)
return [
(name, name in enabled_actions, ', '.join(sorted(action_models[name])))
(name, name in enabled_actions, sorted(action_models[name]))
for name in sorted(action_models)
]

View File

@@ -167,11 +167,11 @@ class ObjectPermissionFormTest(TestCase):
registered = permission.get_registered_actions()
self.assertEqual(len(registered), 1)
action_name, is_enabled, models_csv = registered[0]
action_name, is_enabled, model_keys = registered[0]
self.assertEqual(action_name, 'render_config')
self.assertTrue(is_enabled)
self.assertIn('dcim.device', models_csv)
self.assertIn('virtualization.virtualmachine', models_csv)
self.assertIn('dcim.device', model_keys)
self.assertIn('virtualization.virtualmachine', model_keys)
permission.delete()