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", "formatted_name": "cn",
"display_name": "displayName", "display_name": "displayName",
"emails": "mail", "emails": "mail",
"phone_number": "telephoneNumber", "phone_numbers": "telephoneNumber",
"formatted_address": "postalAddress", "formatted_address": "postalAddress",
"street": "street", "street": "street",
"postal_code": "postalCode", "postal_code": "postalCode",

View file

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

View file

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

View file

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

View file

@ -38,7 +38,7 @@ AUTHORIZATION_CODE_LIFETIME = 84400
DEFAULT_JWT_MAPPING = { DEFAULT_JWT_MAPPING = {
"SUB": "{{ user.user_name[0] }}", "SUB": "{{ user.user_name[0] }}",
"NAME": "{% if user.formatted_name %}{{ user.formatted_name[0] }}{% endif %}", "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 %}", "EMAIL": "{% if user.preferred_email %}{{ user.preferred_email }}{% endif %}",
"GIVEN_NAME": "{% if user.given_name %}{{ user.given_name[0] }}{% endif %}", "GIVEN_NAME": "{% if user.given_name %}{{ user.given_name[0] }}{% endif %}",
"FAMILY_NAME": "{% if user.family_name %}{{ user.family_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 %} {% block emails_field scoped %}{{ render_input(form.emails) }}{% endblock %}
{% endif %} {% endif %}
{% if "phone_number" in form %} {% if "phone_numbers" in form %}
{% block phone_number_field scoped %}{{ render_input(form.phone_number) }}{% endblock %} {% block phone_numbers_field scoped %}{{ render_input(form.phone_numbers) }}{% endblock %}
{% endif %} {% endif %}
{% if "formatted_address" in form %} {% if "formatted_address" in form %}

View file

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

View file

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

View file

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

View file

@ -15,7 +15,7 @@ def test_user_creation_edition_and_deletion(
res.form["given_name"] = "George" res.form["given_name"] = "George"
res.form["family_name"] = "Abitbol" res.form["family_name"] = "Abitbol"
res.form["emails"] = "george@abitbol.com" 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["groups"] = [foo_group.id]
res.form["password1"] = "totoyolo" res.form["password1"] = "totoyolo"
res.form["password2"] = "totoyolo" res.form["password2"] = "totoyolo"

View file

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