Projet

Général

Profil

0002-drf-remove-obsolete-NullBooleanField-serializer-fiel.patch

Paul Marillonnet, 06 décembre 2022 12:09

Télécharger (2,38 ko)

Voir les différences:

Subject: [PATCH 2/2] drf: remove obsolete NullBooleanField serializer field
 (#72067)

 src/authentic2/attribute_kinds.py | 5 ++++-
 src/authentic2/models.py          | 9 +++------
 2 files changed, 7 insertions(+), 7 deletions(-)
src/authentic2/attribute_kinds.py
329 329
        'field_class': forms.BooleanField,
330 330
        'serialize': lambda x: str(int(bool(x))),
331 331
        'deserialize': lambda x: bool(int(x)),
332
        'rest_framework_field_class': serializers.NullBooleanField,
332
        'rest_framework_field_class': serializers.BooleanField,
333
        'rest_framework_field_kwargs': {
334
            'allow_null': True,
335
        },
333 336
        'html_value': lambda attribute, value: _('True') if value else _('False'),
334 337
    },
335 338
    {
src/authentic2/models.py
205 205
            }
206 206
        )
207 207
        if not self.required:
208
            # setting an attribute to null will delete it
209
            # NullBooleanField and BooleanField does not support allow_null
210
            if field_class is serializers.BooleanField:
211
                field_class = serializers.NullBooleanField
212
            elif field_class is not serializers.NullBooleanField:
213
                base_kwargs['allow_null'] = True
208
            base_kwargs['allow_null'] = True
214 209
            # if not stated otherwise by the definition of the kind, string alike fields
215 210
            # accept blank values when not required
216 211
            if issubclass(field_class, serializers.CharField) and 'allow_blank' not in base_kwargs:
......
221 216
            base_kwargs['allow_blank'] = False
222 217
        elif issubclass(field_class, DateRestField):
223 218
            base_kwargs['allow_blank'] = False
219
        elif issubclass(field_class, serializers.BooleanField):
220
            base_kwargs['allow_null'] = False
224 221

  
225 222
        base_kwargs.update(kwargs)
226 223
        return field_class(**base_kwargs)
227
-