forked from Github-Mirrors/canaille
Demo displays user preferred locale
This commit is contained in:
parent
b8634900e3
commit
9bf9c43677
10 changed files with 30 additions and 5 deletions
|
@ -183,7 +183,7 @@ EMAIL = "{{ user.mail[0] }}"
|
|||
GIVEN_NAME = "{{ user.givenName[0] }}"
|
||||
FAMILY_NAME = "{{ user.sn[0] }}"
|
||||
PREFERRED_USERNAME = "{{ user.displayName }}"
|
||||
LOCALE = "{{ user.preferredLanguage[0] }}"
|
||||
LOCALE = "{{ user.preferredLanguage }}"
|
||||
ADDRESS = "{{ user.postalAddress[0] }}"
|
||||
PICTURE = "{% if user.jpegPhoto %}{{ url_for('account.photo', uid=user.uid[0], field='jpegPhoto', _external=True) }}{% endif %}"
|
||||
WEBSITE = "{{ user.labeledURI[0] }}"
|
||||
|
|
|
@ -94,6 +94,13 @@
|
|||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if user.locale %}
|
||||
<div class="extra content">
|
||||
<i class="flag icon" title="locale"></i>
|
||||
{{ user.locale }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if user.groups %}
|
||||
<div class="extra content">
|
||||
<i class="user users icon" title="Groups"></i>
|
||||
|
|
|
@ -189,7 +189,7 @@ EMAIL = "{{ user.mail[0] }}"
|
|||
GIVEN_NAME = "{{ user.givenName[0] }}"
|
||||
FAMILY_NAME = "{{ user.sn[0] }}"
|
||||
PREFERRED_USERNAME = "{{ user.displayName }}"
|
||||
LOCALE = "{{ user.preferredLanguage[0] }}"
|
||||
LOCALE = "{{ user.preferredLanguage }}"
|
||||
ADDRESS = "{{ user.postalAddress[0] }}"
|
||||
PICTURE = "{% if user.jpegPhoto %}{{ url_for('account.photo', uid=user.uid[0], field='jpegPhoto', _external=True) }}{% endif %}"
|
||||
WEBSITE = "{{ user.labeledURI[0] }}"
|
||||
|
|
|
@ -190,7 +190,7 @@ EMAIL = "{{ user.mail[0] }}"
|
|||
GIVEN_NAME = "{{ user.givenName[0] }}"
|
||||
FAMILY_NAME = "{{ user.sn[0] }}"
|
||||
PREFERRED_USERNAME = "{{ user.displayName }}"
|
||||
LOCALE = "{{ user.preferredLanguage[0] }}"
|
||||
LOCALE = "{{ user.preferredLanguage }}"
|
||||
ADDRESS = "{{ user.postalAddress[0] }}"
|
||||
PICTURE = "{% if user.jpegPhoto %}{{ url_for('account.photo', uid=user.uid[0], field='jpegPhoto', _external=True) }}{% endif %}"
|
||||
WEBSITE = "{{ user.labeledURI[0] }}"
|
||||
|
|
|
@ -208,7 +208,7 @@ def configuration(slapd_server, smtpd, keypair_path):
|
|||
"GIVEN_NAME": "{{ user.givenName[0] }}",
|
||||
"FAMILY_NAME": "{{ user.sn[0] }}",
|
||||
"PREFERRED_USERNAME": "{{ user.displayName }}",
|
||||
"LOCALE": "{{ user.preferredLanguage[0] }}",
|
||||
"LOCALE": "{{ user.preferredLanguage }}",
|
||||
"PICTURE": "{% if user.jpegPhoto %}{{ url_for('account.photo', uid=user.uid[0], field='jpegPhoto', _external=True) }}{% endif %}",
|
||||
},
|
||||
},
|
||||
|
@ -252,6 +252,7 @@ def user(app, slapd_connection):
|
|||
mail="john@doe.com",
|
||||
userPassword="{SSHA}fw9DYeF/gHTHuVMepsQzVYAkffGcU8Fz",
|
||||
displayName="Johnny",
|
||||
preferredLanguage="en",
|
||||
)
|
||||
u.save()
|
||||
yield u
|
||||
|
|
|
@ -97,6 +97,7 @@ def test_authorization_code_flow(
|
|||
"email": "john@doe.com",
|
||||
"sub": "user",
|
||||
"groups": [],
|
||||
"locale": "en",
|
||||
} == res.json
|
||||
|
||||
for consent in consents:
|
||||
|
@ -164,6 +165,7 @@ def test_authorization_code_flow_preconsented(
|
|||
"family_name": "Doe",
|
||||
"preferred_username": "Johnny",
|
||||
"sub": "user",
|
||||
"locale": "en",
|
||||
} == res.json
|
||||
|
||||
for consent in consents:
|
||||
|
@ -235,6 +237,7 @@ def test_logout_login(testclient, logged_user, client):
|
|||
"family_name": "Doe",
|
||||
"preferred_username": "Johnny",
|
||||
"sub": "user",
|
||||
"locale": "en",
|
||||
} == res.json
|
||||
|
||||
for consent in consents:
|
||||
|
@ -317,6 +320,7 @@ def test_refresh_token(testclient, user, client):
|
|||
"family_name": "Doe",
|
||||
"preferred_username": "Johnny",
|
||||
"sub": "user",
|
||||
"locale": "en",
|
||||
} == res.json
|
||||
|
||||
for consent in consents:
|
||||
|
@ -384,6 +388,7 @@ def test_code_challenge(testclient, logged_user, client):
|
|||
"family_name": "Doe",
|
||||
"preferred_username": "Johnny",
|
||||
"sub": "user",
|
||||
"locale": "en",
|
||||
} == res.json
|
||||
|
||||
client.token_endpoint_auth_method = "client_secret_basic"
|
||||
|
@ -712,6 +717,7 @@ def test_authorization_code_request_scope_too_large(
|
|||
"family_name": "Doe",
|
||||
"preferred_username": "Johnny",
|
||||
"sub": "user",
|
||||
"locale": "en",
|
||||
} == res.json
|
||||
|
||||
for consent in consents:
|
||||
|
|
|
@ -51,6 +51,7 @@ def test_oauth_hybrid(testclient, slapd_connection, user, client):
|
|||
"family_name": "Doe",
|
||||
"preferred_username": "Johnny",
|
||||
"sub": "user",
|
||||
"locale": "en",
|
||||
} == res.json
|
||||
|
||||
|
||||
|
@ -97,4 +98,5 @@ def test_oidc_hybrid(
|
|||
"family_name": "Doe",
|
||||
"preferred_username": "Johnny",
|
||||
"sub": "user",
|
||||
"locale": "en",
|
||||
} == res.json
|
||||
|
|
|
@ -47,6 +47,7 @@ def test_oauth_implicit(testclient, user, client):
|
|||
"sub": "user",
|
||||
"family_name": "Doe",
|
||||
"preferred_username": "Johnny",
|
||||
"locale": "en",
|
||||
} == res.json
|
||||
|
||||
client.grant_types = ["code"]
|
||||
|
@ -104,6 +105,7 @@ def test_oidc_implicit(testclient, keypair, user, client, other_client):
|
|||
"sub": "user",
|
||||
"family_name": "Doe",
|
||||
"preferred_username": "Johnny",
|
||||
"locale": "en",
|
||||
} == res.json
|
||||
|
||||
client.grant_types = ["code"]
|
||||
|
@ -165,6 +167,7 @@ def test_oidc_implicit_with_group(
|
|||
"family_name": "Doe",
|
||||
"preferred_username": "Johnny",
|
||||
"groups": ["foo"],
|
||||
"locale": "en",
|
||||
} == res.json
|
||||
|
||||
client.grant_types = ["code"]
|
||||
|
|
|
@ -34,6 +34,7 @@ def test_password_flow_basic(testclient, user, client):
|
|||
"family_name": "Doe",
|
||||
"preferred_username": "Johnny",
|
||||
"groups": [],
|
||||
"locale": "en",
|
||||
} == res.json
|
||||
|
||||
|
||||
|
@ -72,4 +73,5 @@ def test_password_flow_post(testclient, user, client):
|
|||
"family_name": "Doe",
|
||||
"preferred_username": "Johnny",
|
||||
"groups": [],
|
||||
"locale": "en",
|
||||
} == res.json
|
||||
|
|
|
@ -2,7 +2,8 @@ from canaille.models import User
|
|||
|
||||
|
||||
def test_preferred_language(testclient, logged_user):
|
||||
assert logged_user.preferredLanguage is None
|
||||
logged_user.preferredLanguage = None
|
||||
logged_user.save()
|
||||
|
||||
res = testclient.get("/profile/user", status=200)
|
||||
assert res.form["preferredLanguage"].value == "auto"
|
||||
|
@ -35,6 +36,9 @@ def test_preferred_language(testclient, logged_user):
|
|||
|
||||
|
||||
def test_language_config(testclient, logged_user):
|
||||
logged_user.preferredLanguage = None
|
||||
logged_user.save()
|
||||
|
||||
res = testclient.get("/profile/user", status=200)
|
||||
assert "My profile" in res.text
|
||||
assert "Mon profil" not in res.text
|
||||
|
|
Loading…
Reference in a new issue