]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
netcmd: models: setting kwarg to None should use field default
authorRob van der Linde <rob@catalyst.net.nz>
Fri, 23 Feb 2024 06:06:38 +0000 (19:06 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Fri, 1 Mar 2024 04:45:36 +0000 (04:45 +0000)
This comes up when trying to create a GroupManagedServiceAccount and setting the value of managed_password_interval to None.

We still want it to pick up the field default of 30 in this case.

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
python/samba/netcmd/domain/models/model.py

index fd4df3f068835f811f8d7734ddb18ec5cf6258c8..0e1f242ce9614533eb419cf70a5ed6c761201e62 100644 (file)
@@ -79,8 +79,12 @@ class Model(metaclass=ModelMeta):
         self._message = None
 
         for field_name, field in self.fields.items():
-            if field_name in kwargs:
-                default = kwargs[field_name]
+            field_value = kwargs.get(field_name)
+
+            # Set fields from values provided in kwargs dict.
+            # If field is set to None we use the field default (if any)
+            if field_value is not None:
+                default = field_value
             elif callable(field.default):
                 default = field.default(self)
             else: