Projet

Général

Profil

0001-profile-add-required_on_login-flag-to-AttributeDefin.patch

Benjamin Dauvergne, 27 juillet 2021 16:43

Télécharger (3,69 ko)

Voir les différences:

Subject: [PATCH 1/2] profile: add required_on_login flag to
 AttributeDefinition (#55865)

 .../migrations/0005_auto_20210727_1633.py      | 18 ++++++++++++++++++
 hobo/profile/models.py                         |  1 +
 hobo/profile/views.py                          |  2 ++
 tests/test_hobo_json.py                        |  7 +++++++
 tests/test_manager.py                          |  1 +
 5 files changed, 29 insertions(+)
 create mode 100644 hobo/profile/migrations/0005_auto_20210727_1633.py
hobo/profile/migrations/0005_auto_20210727_1633.py
1
# Generated by Django 2.2.19 on 2021-07-27 14:33
2

  
3
from django.db import migrations, models
4

  
5

  
6
class Migration(migrations.Migration):
7

  
8
    dependencies = [
9
        ('profile', '0004_auto_20200518_1810'),
10
    ]
11

  
12
    operations = [
13
        migrations.AddField(
14
            model_name='attributedefinition',
15
            name='required_on_login',
16
            field=models.BooleanField(blank=True, default=False, verbose_name='required on login'),
17
        ),
18
    ]
hobo/profile/models.py
36 36
        error_messages={'unique': _('Field names must be unique.')},
37 37
    )
38 38
    required = models.BooleanField(verbose_name=_('required'), blank=True, default=False)
39
    required_on_login = models.BooleanField(verbose_name=_('required on login'), blank=True, default=False)
39 40
    asked_on_registration = models.BooleanField(
40 41
        verbose_name=_('asked on registration'), blank=True, default=False
41 42
    )
hobo/profile/views.py
37 37
        'name',
38 38
        'description',
39 39
        'required',
40
        'required_on_login',
40 41
        'asked_on_registration',
41 42
        'user_editable',
42 43
        'user_visible',
......
58 59
        'label',
59 60
        'description',
60 61
        'required',
62
        'required_on_login',
61 63
        'asked_on_registration',
62 64
        'user_editable',
63 65
        'user_visible',
tests/test_hobo_json.py
54 54

  
55 55
    assert hobo_json['profile']['fields'][1]['name'] == 'first_name'
56 56
    assert hobo_json['profile']['fields'][1]['required'] is True
57

  
58

  
59
def test_required_on_login(request, empty_site):
60
    AttributeDefinition.objects.create(name='cgu', label='CGU', required_on_login=True)
61
    hobo_json = get_hobo_json()
62
    assert hobo_json['profile']['fields'][-1]['name'] == 'cgu'
63
    assert hobo_json['profile']['fields'][-1]['required_on_login'] is True
tests/test_manager.py
68 68
    page.form['name'] = 'test'
69 69
    page.form['description'] = 'test'
70 70
    page.form['required'] = True
71
    page.form['required_on_login'] = True
71 72
    page.form['asked_on_registration'] = False
72 73
    page.form['user_editable'] = False
73 74
    page.form['user_visible'] = False
74
-