Renamed User.phone_number in User.phone_numbers

This commit is contained in:
Éloi Rivard 2023-06-22 15:33:03 +02:00
parent b5bd497d0e
commit 361fda0386
11 changed files with 33 additions and 33 deletions

View file

@ -25,7 +25,7 @@ class User(canaille.core.models.User, LDAPObject):
"formatted_name": "cn",
"display_name": "displayName",
"emails": "mail",
"phone_number": "telephoneNumber",
"phone_numbers": "telephoneNumber",
"formatted_address": "postalAddress",
"street": "street",
"postal_code": "postalCode",

View file

@ -440,7 +440,7 @@ def profile_edition(user, username):
"family_name",
"display_name",
"emails",
"phone_number",
"phone_numbers",
"formatted_address",
"street",
"postal_code",

View file

@ -172,7 +172,7 @@ PROFILE_FORM_FIELDS = dict(
"autocorrect": "off",
},
),
phone_number=wtforms.TelField(
phone_numbers=wtforms.TelField(
_("Phone number"), render_kw={"placeholder": _("555-000-555")}
),
formatted_address=wtforms.StringField(

View file

@ -24,7 +24,7 @@ def fake_users(nb=1):
family_name=name.split(" ")[1],
user_name=fake.unique.user_name(),
emails=fake.unique.email(),
phone_number=fake.unique.ssn(),
phone_numbers=fake.unique.ssn(),
profile_url=fake.unique.uri(),
address=fake.unique.address(),
street=fake.street_name(),

View file

@ -38,7 +38,7 @@ AUTHORIZATION_CODE_LIFETIME = 84400
DEFAULT_JWT_MAPPING = {
"SUB": "{{ user.user_name[0] }}",
"NAME": "{% if user.formatted_name %}{{ user.formatted_name[0] }}{% endif %}",
"PHONE_NUMBER": "{% if user.phone_number %}{{ user.phone_number[0] }}{% endif %}",
"PHONE_NUMBER": "{% if user.phone_numbers %}{{ user.phone_numbers[0] }}{% endif %}",
"EMAIL": "{% if user.preferred_email %}{{ user.preferred_email }}{% endif %}",
"GIVEN_NAME": "{% if user.given_name %}{{ user.given_name[0] }}{% endif %}",
"FAMILY_NAME": "{% if user.family_name %}{{ user.family_name[0] }}{% endif %}",

View file

@ -146,8 +146,8 @@
{% block emails_field scoped %}{{ render_input(form.emails) }}{% endblock %}
{% endif %}
{% if "phone_number" in form %}
{% block phone_number_field scoped %}{{ render_input(form.phone_number) }}{% endblock %}
{% if "phone_numbers" in form %}
{% block phone_numbers_field scoped %}{{ render_input(form.phone_numbers) }}{% endblock %}
{% endif %}
{% if "formatted_address" in form %}

View file

@ -118,8 +118,8 @@
{% block emails_field scoped %}{{ render_input(form.emails) }}{% endblock %}
{% endif %}
{% if "phone_number" in form %}
{% block phone_number_field scoped %}{{ render_input(form.phone_number) }}{% endblock %}
{% if "phone_numbers" in form %}
{% block phone_numbers_field scoped %}{{ render_input(form.phone_numbers) }}{% endblock %}
{% endif %}
{% if "formatted_address" in form %}

View file

@ -24,7 +24,7 @@ def populate(app):
display_name="Jane.D",
emails="admin@mydomain.tld",
password="admin",
phone_number="555-000-000",
phone_numbers="555-000-000",
profile_url="https://admin.example",
formatted_address="123, Admin Lane - Gotham City 12345",
street="Admin Lane",
@ -44,7 +44,7 @@ def populate(app):
display_name="👮 Jack 👮",
emails="moderator@mydomain.tld",
password="moderator",
phone_number="555-000-002",
phone_numbers="555-000-002",
profile_url="https://moderator.example",
employee_number="1002",
department_number="west",
@ -59,7 +59,7 @@ def populate(app):
display_name="Johnny",
emails="user@mydomain.tld",
password="user",
phone_number="555-000-001",
phone_numbers="555-000-001",
profile_url="https://user.example",
employee_number="1001",
department_number="west",

View file

@ -29,7 +29,7 @@ def configuration(smtpd):
"family_name",
"display_name",
"password",
"phone_number",
"phone_numbers",
"formatted_address",
"street",
"postal_code",
@ -104,7 +104,7 @@ def user(app, backend):
password="correct horse battery staple",
display_name="Johnny",
preferred_language="en",
phone_number="555-000-000",
phone_numbers="555-000-000",
profile_url="https://john.example",
formatted_address="1235, somewhere",
)

View file

@ -15,7 +15,7 @@ def test_user_creation_edition_and_deletion(
res.form["given_name"] = "George"
res.form["family_name"] = "Abitbol"
res.form["emails"] = "george@abitbol.com"
res.form["phone_number"] = "555-666-888"
res.form["phone_numbers"] = "555-666-888"
res.form["groups"] = [foo_group.id]
res.form["password1"] = "totoyolo"
res.form["password2"] = "totoyolo"

View file

@ -105,7 +105,7 @@ def test_edition(
res.form["family_name"] = "family_name"
res.form["display_name"] = "display_name"
res.form["emails"] = "email@mydomain.tld"
res.form["phone_number"] = "555-666-777"
res.form["phone_numbers"] = "555-666-777"
res.form["formatted_address"] = "formatted_address"
res.form["street"] = "street"
res.form["postal_code"] = "postal_code"
@ -130,7 +130,7 @@ def test_edition(
assert logged_user.family_name == ["family_name"]
assert logged_user.display_name == "display_name"
assert logged_user.emails == ["email@mydomain.tld"]
assert logged_user.phone_number == ["555-666-777"]
assert logged_user.phone_numbers == ["555-666-777"]
assert logged_user.formatted_address == ["formatted_address"]
assert logged_user.street == ["street"]
assert logged_user.postal_code == ["postal_code"]
@ -158,7 +158,7 @@ def test_edition_remove_fields(
):
res = testclient.get("/profile/user", status=200)
res.form["display_name"] = ""
res.form["phone_number"] = ""
res.form["phone_numbers"] = ""
res = res.form.submit(name="action", value="edit")
assert res.flashes == [("success", "Profile updated successfully.")], res.text
@ -167,7 +167,7 @@ def test_edition_remove_fields(
logged_user.reload()
assert not logged_user.display_name
assert not logged_user.phone_number
assert not logged_user.phone_numbers
logged_user.formatted_name = ["John (johnny) Doe"]
logged_user.family_name = ["Doe"]
@ -195,7 +195,7 @@ def test_profile_edition_dynamic_validation(testclient, logged_admin, user):
def test_field_permissions_none(testclient, logged_user):
testclient.get("/profile/user", status=200)
logged_user.phone_number = ["555-666-777"]
logged_user.phone_numbers = ["555-666-777"]
logged_user.save()
testclient.app.config["ACL"]["DEFAULT"] = {
@ -205,68 +205,68 @@ def test_field_permissions_none(testclient, logged_user):
}
res = testclient.get("/profile/user", status=200)
assert "phone_number" not in res.form.fields
assert "phone_numbers" not in res.form.fields
testclient.post(
"/profile/user",
{
"action": "edit",
"phone_number": "000-000-000",
"phone_numbers": "000-000-000",
"csrf_token": res.form["csrf_token"].value,
},
)
logged_user.reload()
assert logged_user.phone_number == ["555-666-777"]
assert logged_user.phone_numbers == ["555-666-777"]
def test_field_permissions_read(testclient, logged_user):
testclient.get("/profile/user", status=200)
logged_user.phone_number = ["555-666-777"]
logged_user.phone_numbers = ["555-666-777"]
logged_user.save()
testclient.app.config["ACL"]["DEFAULT"] = {
"READ": ["user_name", "phone_number"],
"READ": ["user_name", "phone_numbers"],
"WRITE": [],
"PERMISSIONS": ["edit_self"],
}
res = testclient.get("/profile/user", status=200)
assert "phone_number" in res.form.fields
assert "phone_numbers" in res.form.fields
testclient.post(
"/profile/user",
{
"action": "edit",
"phone_number": "000-000-000",
"phone_numbers": "000-000-000",
"csrf_token": res.form["csrf_token"].value,
},
)
logged_user.reload()
assert logged_user.phone_number == ["555-666-777"]
assert logged_user.phone_numbers == ["555-666-777"]
def test_field_permissions_write(testclient, logged_user):
testclient.get("/profile/user", status=200)
logged_user.phone_number = ["555-666-777"]
logged_user.phone_numbers = ["555-666-777"]
logged_user.save()
testclient.app.config["ACL"]["DEFAULT"] = {
"READ": ["user_name"],
"WRITE": ["phone_number"],
"WRITE": ["phone_numbers"],
"PERMISSIONS": ["edit_self"],
}
res = testclient.get("/profile/user", status=200)
assert "phone_number" in res.form.fields
assert "phone_numbers" in res.form.fields
testclient.post(
"/profile/user",
{
"action": "edit",
"phone_number": "000-000-000",
"phone_numbers": "000-000-000",
"csrf_token": res.form["csrf_token"].value,
},
)
logged_user.reload()
assert logged_user.phone_number == ["000-000-000"]
assert logged_user.phone_numbers == ["000-000-000"]
def test_simple_user_cannot_edit_other(testclient, logged_user):