0001-profile-add-required_on_login-flag-to-AttributeDefin.patch
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 |
tests_schemas/example_env.json | ||
---|---|---|
9 | 9 |
"label": "Civilit\u00e9", |
10 | 10 |
"name": "title", |
11 | 11 |
"required": false, |
12 |
"required_on_login": false, |
|
12 | 13 |
"searchable": false, |
13 | 14 |
"user_editable": true, |
14 | 15 |
"user_visible": true |
... | ... | |
21 | 22 |
"label": "Pr\u00e9nom", |
22 | 23 |
"name": "first_name", |
23 | 24 |
"required": true, |
25 |
"required_on_login": false, |
|
24 | 26 |
"searchable": false, |
25 | 27 |
"user_editable": true, |
26 | 28 |
"user_visible": true |
... | ... | |
33 | 35 |
"label": "Nom", |
34 | 36 |
"name": "last_name", |
35 | 37 |
"required": true, |
38 |
"required_on_login": false, |
|
36 | 39 |
"searchable": false, |
37 | 40 |
"user_editable": true, |
38 | 41 |
"user_visible": true |
... | ... | |
45 | 48 |
"label": "Adresse \u00e9lectronique", |
46 | 49 |
"name": "email", |
47 | 50 |
"required": true, |
51 |
"required_on_login": false, |
|
48 | 52 |
"searchable": false, |
49 | 53 |
"user_editable": true, |
50 | 54 |
"user_visible": true |
... | ... | |
57 | 61 |
"label": "Adresse", |
58 | 62 |
"name": "address", |
59 | 63 |
"required": false, |
64 |
"required_on_login": false, |
|
60 | 65 |
"searchable": false, |
61 | 66 |
"user_editable": true, |
62 | 67 |
"user_visible": true |
... | ... | |
69 | 74 |
"label": "Code postal", |
70 | 75 |
"name": "zipcode", |
71 | 76 |
"required": false, |
77 |
"required_on_login": false, |
|
72 | 78 |
"searchable": false, |
73 | 79 |
"user_editable": true, |
74 | 80 |
"user_visible": true |
... | ... | |
81 | 87 |
"label": "Commune", |
82 | 88 |
"name": "city", |
83 | 89 |
"required": false, |
90 |
"required_on_login": false, |
|
84 | 91 |
"searchable": false, |
85 | 92 |
"user_editable": true, |
86 | 93 |
"user_visible": true |
... | ... | |
93 | 100 |
"label": "Pays", |
94 | 101 |
"name": "country", |
95 | 102 |
"required": false, |
103 |
"required_on_login": false, |
|
96 | 104 |
"searchable": false, |
97 | 105 |
"user_editable": true, |
98 | 106 |
"user_visible": true |
... | ... | |
105 | 113 |
"label": "Date de naissance", |
106 | 114 |
"name": "birthdate", |
107 | 115 |
"required": false, |
116 |
"required_on_login": false, |
|
108 | 117 |
"searchable": false, |
109 | 118 |
"user_editable": true, |
110 | 119 |
"user_visible": true |
... | ... | |
117 | 126 |
"label": "T\u00e9l\u00e9phone", |
118 | 127 |
"name": "phone", |
119 | 128 |
"required": false, |
129 |
"required_on_login": false, |
|
120 | 130 |
"searchable": false, |
121 | 131 |
"user_editable": true, |
122 | 132 |
"user_visible": true |
... | ... | |
129 | 139 |
"label": "Mobile", |
130 | 140 |
"name": "mobile", |
131 | 141 |
"required": false, |
142 |
"required_on_login": false, |
|
132 | 143 |
"searchable": false, |
133 | 144 |
"user_editable": true, |
134 | 145 |
"user_visible": true |
135 |
- |