Projet

Général

Profil

0001-drf-remove-obsolete-NullBooleanField-72067.patch

Paul Marillonnet, 06 décembre 2022 10:23

Télécharger (5,3 ko)

Voir les différences:

Subject: [PATCH] drf: remove obsolete NullBooleanField (#72067)

 ...7_organizationalunit_user_can_reset_password.py |  5 ++++-
 src/authentic2/attribute_kinds.py                  |  5 ++++-
 .../migrations/0010_attributevalue_multiple.py     |  2 +-
 .../migrations/0012_auto_20160211_2255.py          |  5 +----
 src/authentic2/models.py                           | 14 ++++----------
 5 files changed, 14 insertions(+), 17 deletions(-)
src/authentic2/a2_rbac/migrations/0017_organizationalunit_user_can_reset_password.py
11 11
        migrations.AddField(
12 12
            model_name='organizationalunit',
13 13
            name='user_can_reset_password',
14
            field=models.NullBooleanField(verbose_name='Users can reset password'),
14
            field=models.BooleanField(
15
                verbose_name='Users can reset password',
16
                null=True,
17
            ),
15 18
        ),
16 19
    ]
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/migrations/0010_attributevalue_multiple.py
11 11
        migrations.AddField(
12 12
            model_name='attributevalue',
13 13
            name='multiple',
14
            field=models.NullBooleanField(),
14
            field=models.BooleanField(null=True),
15 15
            preserve_default=True,
16 16
        ),
17 17
    ]
src/authentic2/migrations/0012_auto_20160211_2255.py
1
import django
2 1
from django.db import migrations, models
3 2

  
4 3

  
......
12 11
        migrations.AlterField(
13 12
            model_name='attributevalue',
14 13
            name='multiple',
15
            field=models.NullBooleanField(default=False)
16
            if django.VERSION < (2,)
17
            else models.BooleanField(default=False, null=True),
14
            field=models.BooleanField(default=False, null=True),
18 15
        ),
19 16
    ]
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)
......
332 329
    owner = GenericForeignKey('content_type', 'object_id')
333 330

  
334 331
    attribute = models.ForeignKey('Attribute', verbose_name=_('attribute'), on_delete=models.CASCADE)
335
    if django.VERSION < (2,):
336
        multiple = models.NullBooleanField(default=False)
337
    else:
338
        multiple = models.BooleanField(default=False, null=True)
332
    multiple = models.BooleanField(default=False, null=True)
339 333

  
340 334
    content = models.TextField(verbose_name=_('content'), db_index=True)
341 335
    search_vector = SearchVectorField(null=True, editable=False)
342
-