Explorar o código

fix(users): Normalize actions in cloned objects init

Ensure `actions` are consistently normalized to a list of strings during
cloned object initialization. This resolves potential type mismatches
when processing user form data.

Fixes #20750
Martin Hauser hai 3 meses
pai
achega
b5a9cb1762
Modificáronse 1 ficheiros con 3 adicións e 0 borrados
  1. 3 0
      netbox/users/forms/model_forms.py

+ 3 - 0
netbox/users/forms/model_forms.py

@@ -372,6 +372,9 @@ class ObjectPermissionForm(forms.ModelForm):
         elif self.initial:
             # Handle cloned objects - actions come from initial data (URL parameters)
             if 'actions' in self.initial:
+                # Normalize actions to a list of strings
+                if isinstance(self.initial['actions'], str):
+                    self.initial['actions'] = [self.initial['actions']]
                 if cloned_actions := self.initial['actions']:
                     for action in ['view', 'add', 'change', 'delete']:
                         if action in cloned_actions: