Commit graph

898 commits

Author SHA1 Message Date
Éloi Rivard
40594190d3 Display error description on debug environments 2023-06-20 14:14:35 +02:00
Éloi Rivard
485a0c2ff1 render_field macro passes kwargs to its submethods 2023-06-20 09:33:36 +02:00
Éloi Rivard
e9f17b26d6 form HTML macro refactoring 2023-06-19 18:10:14 +02:00
Éloi Rivard
a9d9d43152 Configuration entries can be loaded from files.
Co-authored-by: Sofi <sofi+git@mailbox.org>
2023-06-15 18:38:37 +02:00
Denise
d553d23ef3 Merge branch canaille:main into main 2023-06-12 13:36:07 +00:00
Éloi Rivard
23e9e7e71a Renamed Backend in BaseBackend 2023-06-05 18:10:37 +02:00
Denise Bitca
c89bb48499 fix up style, attempt at fixing registration redirection bug 2023-06-05 10:38:24 +02:00
Denise Bitca
12a1119f99 fix up style 2023-06-05 10:37:19 +02:00
Denise
db72597cc0 Merge branch canaille:main into main 2023-06-05 07:34:49 +00:00
Éloi Rivard
e5ba0a8c86 compatibility bugfix for flask 2.3 2023-06-03 13:42:23 +02:00
Éloi Rivard
bc8b918bd1 OIDC keypair generation fix 2023-06-01 17:41:17 +02:00
Éloi Rivard
c7f23e845c datetime-local input fields are transformed in UTC server-side 2023-06-01 13:53:32 +02:00
Éloi Rivard
f112583b09
Translated using Weblate (French)
Currently translated at 100.0% (328 of 328 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-05-31 21:28:17 +02:00
gallegonovato
2aae49508f
Translated using Weblate (Spanish)
Currently translated at 100.0% (328 of 328 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2023-05-31 21:28:17 +02:00
Hosted Weblate
111cfab48b
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/
2023-05-30 09:44:22 +02:00
Éloi Rivard
e20fb23e6f typo 'successfuly' -> 'successfully' 2023-05-30 09:44:11 +02:00
Ettore Atalan
d1dad1c505
Translated using Weblate (German)
Currently translated at 22.8% (75 of 328 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/de/
2023-05-29 17:50:48 +02:00
gallegonovato
7dbababb8d
Translated using Weblate (Spanish)
Currently translated at 100.0% (328 of 328 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2023-05-29 17:50:47 +02:00
Denise Bitca
4beee2adcb add(#1, #2, #4, #7): implemented registration within canaille 2023-05-29 15:58:30 +02:00
Denise Bitca
212358aaf3 add(#5): add method to send a "continue registration" email 2023-05-29 15:54:47 +02:00
Denise Bitca
49a7a70cc3 Merge branch 'main' of gitlab.com:yaal/canaille 2023-05-29 13:58:44 +02:00
Éloi Rivard
cc4b11a113
Translated using Weblate (French)
Currently translated at 100.0% (328 of 328 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-05-27 16:50:18 +02:00
Éloi Rivard
38ee26db83 refactored User locking mechanism 2023-05-26 17:48:50 +02:00
Hosted Weblate
e64c759151
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/
2023-05-26 15:31:38 +02:00
Éloi Rivard
c140a624d0 Updated translations 2023-05-26 15:31:28 +02:00
Éloi Rivard
17c2f7a5cd Implemented LDAP ppolicy support. 2023-05-26 15:23:43 +02:00
Éloi Rivard
d8158d6a72 Use ruff linter 2023-05-25 13:37:58 +02:00
Éloi Rivard
77d3a1a656 Do not event attempt to add oauth schema if present 2023-05-24 16:59:36 +02:00
Éloi Rivard
8b68a862bf Profile settings edition redirects to the same page 2023-05-24 14:12:32 +02:00
Éloi Rivard
a92542cd81 Moved models specificities in the backend module 2023-05-20 21:24:14 +02:00
Éloi Rivard
a9f9eab5a4 password minimum length is not a magic constant anymore 2023-05-20 20:46:39 +02:00
Éloi Rivard
c75108344b Moved login placeholder mechanism in the backend module 2023-05-20 20:07:40 +02:00
Éloi Rivard
033d436878 Moved LDAP schema installation in the ldap backend module 2023-05-20 20:04:23 +02:00
Éloi Rivard
c1d1706007 Moved every model import to canaille.models 2023-05-20 20:02:00 +02:00
Éloi Rivard
e110c4851b Backend singleton logic moved to backend.Backend 2023-05-20 18:39:49 +02:00
Éloi Rivard
6f637b8129 Refactored the unit test backend fixtures 2023-05-20 17:17:46 +02:00
Éloi Rivard
30282e633b The LDAP Backend is now a class 2023-05-20 12:08:04 +02:00
Éloi Rivard
4f9dac8782 Tests the model mechanism 2023-05-17 18:19:05 +02:00
Éloi Rivard
4d64b3fcba Removed useless import in jinja templates 2023-05-17 16:21:00 +02:00
Éloi Rivard
0c5a559bba Ensures User.formatted_name is correctly formatted when parts are missing 2023-05-17 16:18:35 +02:00
Éloi Rivard
be78b50e97 Removed User.authenticate method 2023-05-17 12:48:14 +02:00
Éloi Rivard
2f924c4b7e Fixes calls to the Consent.oauthClient and Consent.oauthSubject attributes 2023-05-17 12:07:52 +02:00
Éloi Rivard
7503ac772f Fixes calls to the LDAP 'Client.dn' attribute 2023-05-17 12:03:55 +02:00
Éloi Rivard
d66619a01c OIDC lifetimes are not casted to string anymore 2023-05-17 09:29:32 +02:00
Éloi Rivard
b4014cfd73 Use explicit attributes in Consent.get 2023-05-17 09:19:15 +02:00
Éloi Rivard
572ef585a0 Escape strings in the authorization details view 2023-05-17 08:55:00 +02:00
Éloi Rivard
b346b0db8a Use generic Consent.consent_id instead of LDAP Consent.cn attribute 2023-05-17 08:54:13 +02:00
Éloi Rivard
a7013f2360 Explicited OIDC authorization admin variable 2023-05-16 22:28:34 +02:00
Éloi Rivard
00b5997a61 Avoid calls to LDAPUser.may and LDAPUser.must 2023-05-16 22:18:38 +02:00
Éloi Rivard
28e7d1c662 LDAPObject __getattr__ filters None values 2023-05-16 16:05:09 +02:00
Éloi Rivard
01c1ae4eef Rename LDAPObject.attrs to state 2023-05-16 15:48:05 +02:00
Éloi Rivard
8998fe9b62 Explicit arguments when using Model.get 2023-05-16 11:29:40 +02:00
Éloi Rivard
26dc4d425c Display password recovery button on OIDC login page 2023-05-15 18:06:22 +02:00
Ettore Atalan
5b7aec0959
Translated using Weblate (German)
Currently translated at 14.0% (44 of 314 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/de/
2023-05-15 01:49:24 +02:00
Éloi Rivard
8162bd3e24 Fixes calls to the LDAP 'Group.member' attribute 2023-05-13 00:24:24 +02:00
Éloi Rivard
bace94b1f5 Explicit Group.get attributes 2023-05-13 00:19:32 +02:00
Éloi Rivard
ad388d2fac Fixes a call to the LDAP 'cn' attribute 2023-05-12 20:36:38 +02:00
Éloi Rivard
8f8ac5f31b Fixes a call to the LDAP 'uid' attribute 2023-05-12 19:53:06 +02:00
Éloi Rivard
6c5053afb1 Fixes a call to a LDAP named attribute, again 2023-05-12 18:51:50 +02:00
Éloi Rivard
534e0a507b Fixes a call to a LDAP named attribute 2023-05-12 18:45:32 +02:00
Éloi Rivard
c09b2b5321 Implemented LDAPObject __delattr__ 2023-05-11 23:34:10 +02:00
Éloi Rivard
ca1ea9ca92 Removed unused code 2023-05-11 23:29:34 +02:00
Éloi Rivard
9480e43ad9 Removed LDAPObject __getitem__ and __setitem__ methods 2023-05-11 23:08:39 +02:00
Éloi Rivard
df60821e29 Rename LDAPObject.attribute_table to attributes 2023-05-11 16:55:33 +02:00
Éloi Rivard
1167d336d9 fixes wrong attribute name in impersonate page flash message 2023-05-11 16:50:06 +02:00
Éloi Rivard
88179b23b8 fix non-generic model attribute calls 2023-05-11 16:02:32 +02:00
Denise Bitca
d067ca4220 refactor(#55): removed debug print call 2023-05-08 11:48:49 +02:00
Denise Bitca
518548bb74 add(#55): added signup and onboarding routes in account route file 2023-05-08 11:47:23 +02:00
Denise Bitca
7537390fea add(#55): added join and onboarding forms 2023-05-08 11:44:21 +02:00
Denise Bitca
544f7f8c64 add(#55): onboarding template for sign-in / sign-up 2023-05-08 11:43:19 +02:00
Éloi Rivard
9e6a1b85f1 Avoid setting 'None' in claims when they are empty 2023-05-05 13:28:02 +02:00
Éloi Rivard
6e6d15fec1 Fixed password initialization mail recipients 2023-05-05 10:53:48 +02:00
Éloi Rivard
6148d8d682 Updated to htmx 1.9.2 2023-05-05 10:43:01 +02:00
Éloi Rivard
00b13c95ad refer to 'groups' instead of ldap 'memberof' in the group edition page 2023-05-02 17:08:42 +02:00
Éloi Rivard
e8e6060c74 ACL group filter can be simple group name instead of full dn 2023-05-02 16:25:00 +02:00
Éloi Rivard
4883548dc5
Translated using Weblate (French)
Currently translated at 100.0% (314 of 314 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-04-28 19:52:42 +02:00
Éloi Rivard
0a500407b6 submit buttons wording 2023-04-27 19:26:05 +02:00
Éloi Rivard
0234c5945a User.logout excepts IndexError in case of invalid sessions 2023-04-18 20:36:48 +02:00
Éloi Rivard
fa62c16768 Moved canaille.ldap_backend to canaille.backends.ldap 2023-04-18 20:22:55 +02:00
Éloi Rivard
c4676ec572 Update User group when save is called 2023-04-17 18:43:43 +02:00
Éloi Rivard
571c04de66 Fixed toml inline tables 2023-04-15 13:08:24 +02:00
Éloi Rivard
edb64cbfe1 ACL filters are no more LDAP filters but user attribute mappings. 2023-04-14 19:53:16 +02:00
Éloi Rivard
4bfbeccc1c Fixed empty models attributes registration 2023-04-13 18:02:20 +02:00
Éloi Rivard
39c5a6fb16 htmx 1.9.0 2023-04-13 14:44:38 +02:00
Éloi Rivard
0376a3bab8 Cleartext password in unit tests 2023-04-10 21:42:14 +02:00
Éloi Rivard
e2b96af1ee Moved LDAP configuration entry to BACKENDS.LDAP 2023-04-10 20:31:54 +02:00
Éloi Rivard
cc45ed4be9 OIDC.JWT.MAPPING configuration option is really optional 2023-04-10 20:09:47 +02:00
Éloi Rivard
7cd078bf81 Correctly read OIDC dynamic registration config entries 2023-04-10 19:28:26 +02:00
Éloi Rivard
61f5d25f2f Creates a OIDC configuration section for all the OIDC related entries 2023-04-10 16:24:43 +02:00
Éloi Rivard
8b0dbf2d55 Catch bare exceptions in populate commands instead of ldap specific exceptions 2023-04-09 23:56:06 +02:00
Éloi Rivard
65efece01e Renamed LDAPObject.initialize in LDAPObject.install 2023-04-09 23:17:24 +02:00
Éloi Rivard
83f67331d3 Split commands in their dedicated modules 2023-04-09 21:58:11 +02:00
Éloi Rivard
79f12b1d0a 'app' submodule 2023-04-09 15:52:55 +02:00
Éloi Rivard
08f8bfbfdb Moved user and group management in the core submodule 2023-04-09 13:34:38 +02:00
Éloi Rivard
ac64f034f3 Moves some functions from mails.py to utils/mails.py 2023-04-09 13:16:32 +02:00
Éloi Rivard
e0256db017 Moved oidc blueprints in a dedicated file 2023-04-09 11:31:23 +02:00
Éloi Rivard
4c454f6de4 Removed unused imports 2023-04-09 02:13:34 +02:00
Éloi Rivard
01ed1d8013 Avoid to explicitly call User.load_groups 2023-04-09 00:14:51 +02:00
Éloi Rivard
c8b76dc845 Use LDAPObject.reload in tests instead of LDAPObject.get 2023-04-08 21:36:21 +02:00
Éloi Rivard
e738faf52b Group methods refactoring 2023-04-08 00:33:42 +02:00
Éloi Rivard
52f7276527 Explicitly use User.formatted_name instead of User.name 2023-04-07 22:45:42 +02:00
Éloi Rivard
706d50449a Split the User.get method 2023-04-07 21:24:09 +02:00
Éloi Rivard
0d96073b90 Removed the 'filter' argument from the User model 2023-04-07 20:49:30 +02:00
Éloi Rivard
18075dd849 Removed the 'conn' argument when it is not needed 2023-04-07 20:43:46 +02:00
Éloi Rivard
db3a4a74ff Renamed user attributes to match SCIM naming convention 2023-04-07 20:12:24 +02:00
Éloi Rivard
ff87975601 Datetime without timezones are stored as UTC in LDAP 2023-04-07 20:08:31 +02:00
Éloi Rivard
98089a21d7 Preconsent page empty state 2023-04-07 18:31:04 +02:00
Éloi Rivard
01e0e3d3f5 Fixed avatar update with htmx 2023-04-07 18:05:06 +02:00
Éloi Rivard
dfd77d82f1 Revert hyperlink style 2023-04-05 14:27:27 +02:00
Éloi Rivard
cb09667090 Bumped to fomanticui 2.9.2 2023-04-05 14:23:40 +02:00
Éloi Rivard
344559b483 Fixed style CI 2023-04-04 10:57:50 +02:00
Éloi Rivard
3b1497c972 Merge branch 'ux' into 'main'
Dark theme improvement

See merge request yaal/canaille!121
2023-04-04 08:53:16 +00:00
Brunelie Lauret
d5e2183304 improving dark theme 2023-04-04 10:18:43 +02:00
Éloi Rivard
3458f94fd3 Disable pagination form dynamic validation 2023-04-04 09:43:56 +02:00
Brunelie Lauret
a704e090d0 dark theme improvement 2023-04-03 10:10:13 +02:00
Éloi Rivard
92ab563489 Fixes wtforms validator translations 2023-04-02 13:30:51 +02:00
Éloi Rivard
d53fdde986 Refactored utils 2023-04-02 00:32:27 +02:00
Éloi Rivard
81e80b8a59
Translated using Weblate (French)
Currently translated at 100.0% (314 of 314 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-03-31 15:40:42 +02:00
gallegonovato
2eb9cd7db0
Translated using Weblate (Spanish)
Currently translated at 100.0% (314 of 314 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2023-03-31 15:40:42 +02:00
Éloi Rivard
1f1bb353e0 Dynamic form validation with htmx 2023-03-30 23:22:58 +02:00
Éloi Rivard
c5e33e30ca Reload UX JS on htmx events 2023-03-30 21:16:22 +02:00
Éloi Rivard
2fb0085d7b OIDC client form renaming 2023-03-30 00:40:25 +02:00
Éloi Rivard
f1f5c81ada Form macro input classes cleanups 2023-03-29 23:29:38 +02:00
Hosted Weblate
a2da437ded
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/
2023-03-29 23:01:15 +02:00
Éloi Rivard
f7e2195494
Translated using Weblate (French)
Currently translated at 100.0% (313 of 313 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-03-29 23:01:14 +02:00
Éloi Rivard
2e6ec739e7 User number field wording 2023-03-29 23:01:02 +02:00
Éloi Rivard
43c6d02ca6 Avoid double crsf HTML input in admin test mail form 2023-03-29 22:43:52 +02:00
Éloi Rivard
78a129d494 Forms validate URIs 2023-03-29 21:33:47 +02:00
Hosted Weblate
d94721d244
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/
2023-03-29 19:42:38 +02:00
Éloi Rivard
e6ecfcfecd Unique email form validator wording 2023-03-29 19:34:17 +02:00
Éloi Rivard
9b4bf87aea Avoid browser password autofilling when defining new passwords 2023-03-29 19:03:28 +02:00
Éloi Rivard
366c824a6b Removed useless form macro condition 2023-03-28 23:50:18 +02:00
Éloi Rivard
40c36cdf64 Use the form_render macro when possible 2023-03-28 23:31:35 +02:00
Éloi Rivard
d9f591a73e Renamed fomanticui.html in form.html 2023-03-28 20:38:19 +02:00
Éloi Rivard
9ac7b4808f Merge branch 'csrf' into 'main'
CSRF protection everywhere

See merge request yaal/canaille!119
2023-03-28 18:34:02 +00:00
Éloi Rivard
f97dc3b2c6 CSRF protection everywhere 2023-03-28 20:30:29 +02:00
Éloi Rivard
e978ec5a84
Translated using Weblate (French)
Currently translated at 100.0% (315 of 315 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-03-28 19:41:18 +02:00
Éloi Rivard
98df762666 Fixed user uid and email unicity at creation 2023-03-27 23:16:32 +02:00
Sofi
7e7db25a5c
Translated using Weblate (Norwegian Bokmål)
Currently translated at 53.6% (169 of 315 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/nb_NO/
2023-03-24 23:37:00 +01:00
Sofi
91b76785ed
Translated using Weblate (Norwegian Bokmål)
Currently translated at 52.6% (166 of 315 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/nb_NO/
2023-03-23 22:41:42 +01:00
Éloi Rivard
47576c541f Fixed some jinja translation with {% trans %} blocks and new lines. 2023-03-22 19:29:28 +01:00
Éloi Rivard
7e0e0d6068 Profile edition refactoring 2023-03-22 08:52:00 +01:00
Éloi Rivard
bacbb9a3bb Avoid to display flash messages twice when impersonating or sending a password initialization mail 2023-03-21 22:01:32 +01:00
Éloi Rivard
77d4efe5e5
Translated using Weblate (French)
Currently translated at 100.0% (315 of 315 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-03-19 12:40:03 +01:00
gallegonovato
3dd3f995b4
Translated using Weblate (Spanish)
Currently translated at 100.0% (315 of 315 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2023-03-19 12:40:02 +01:00
Éloi Rivard
dd394391c8 Added last_modified and etag headers on the user photos 2023-03-18 01:29:04 +01:00
Éloi Rivard
61940844e6 Properly handle LDAP date timezones 2023-03-18 00:39:32 +01:00
Éloi Rivard
6b87788d23 Fixed HTML errors 2023-03-17 22:32:53 +01:00
Hosted Weblate
6932fda955
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/
2023-03-17 17:38:07 +01:00
gallegonovato
6d6b5564e8
Translated using Weblate (Spanish)
Currently translated at 100.0% (313 of 313 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2023-03-17 17:38:06 +01:00
Éloi Rivard
8e84b016da Organization field support 2023-03-17 17:36:23 +01:00
Éloi Rivard
7628bd1a41 Fixed submit button display bug 2023-03-17 16:03:44 +01:00
Éloi Rivard
f1e6cd1586 Removed unused template parts 2023-03-17 09:27:48 +01:00
Éloi Rivard
21fa7599ac Revert "Avoid to use pkg_resources to get the version number"
This is not available with python 3.7

This reverts commit 053d39fb43.
2023-03-16 23:16:55 +01:00
Éloi Rivard
053d39fb43 Avoid to use pkg_resources to get the version number 2023-03-16 23:10:20 +01:00
Éloi Rivard
b839fa76d9 Mail admin message wording 2023-03-16 20:15:44 +01:00
Éloi Rivard
f09db3646a Avoid carriage returns in HTML head title tag 2023-03-16 19:43:06 +01:00
Éloi Rivard
191f48a4e1
Translated using Weblate (French)
Currently translated at 100.0% (313 of 313 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-03-16 19:42:47 +01:00
Hosted Weblate
91b74a9479
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/
2023-03-16 19:17:48 +01:00
Éloi Rivard
ccbe8a35c6
Translated using Weblate (French)
Currently translated at 100.0% (309 of 309 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-03-16 19:17:47 +01:00
Éloi Rivard
e1c4951639 Updated language catalogs 2023-03-16 19:17:11 +01:00
Éloi Rivard
24f0417460 Split the profile page in two 2023-03-16 18:45:35 +01:00
Éloi Rivard
7e7a1427e5 Form field descriptions are displayed as tooltips 2023-03-16 18:45:35 +01:00
Éloi Rivard
93e159c6cb Use fomantic ui popups to quicken the apparition of 'title' tooltips 2023-03-16 18:45:35 +01:00
Éloi Rivard
0f93029d2a Split the consent page in two 2023-03-16 18:45:35 +01:00
Éloi Rivard
69c67345c2 Introduced a submenu 2023-03-16 18:45:34 +01:00
Éloi Rivard
3ef07a955b Make sure the input HTML class names are displayed in one line 2023-03-16 16:32:37 +01:00
Hosted Weblate
57d0f128b4
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/
2023-03-16 16:26:14 +01:00
Éloi Rivard
5aad527454 Unit tests use WebTest .mustcontain method when possible 2023-03-16 16:25:14 +01:00
Éloi Rivard
94af1744ba pre-commit update 2023-03-14 12:08:37 +01:00
Éloi Rivard
4742ea3ce7 Fixed links in the autorization list admin page 2023-03-13 15:59:22 +01:00
Éloi Rivard
7d5b5ab723 title was a TelField 2023-03-13 13:47:15 +01:00
Éloi Rivard
7eef2748f2 Faker is not imported anymore when the clean command is called 2023-03-13 09:46:17 +01:00
Éloi Rivard
dfb26d087f
Translated using Weblate (French)
Currently translated at 100.0% (309 of 309 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-03-12 23:35:25 +01:00
gallegonovato
f8b94a98cc
Translated using Weblate (Spanish)
Currently translated at 100.0% (309 of 309 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2023-03-12 23:35:25 +01:00
Éloi Rivard
fb1c6446fa Users can only search other users based on the fields they can read or write 2023-03-12 19:04:39 +01:00
Éloi Rivard
705150942e Populate ignore unicity errors if launched several times in a row 2023-03-12 17:42:32 +01:00
Éloi Rivard
fa74812044 Fixed populate command uniqueness 2023-03-12 17:31:59 +01:00
Éloi Rivard
c91801df76 Sort the languages dropdown alphabetically 2023-03-12 16:55:28 +01:00
Éloi Rivard
09b399a4c0 Translation README 2023-03-12 10:45:42 +01:00
Hosted Weblate
4871273449
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/
2023-03-12 10:42:35 +01:00
Éloi Rivard
bbf7eaac98 Suggest uid as the default user identifier in the sample configuration 2023-03-11 22:49:04 +01:00
Éloi Rivard
ae7feb3e60 Fixed region placeholder 2023-03-11 22:37:53 +01:00
Éloi Rivard
a07b51c2d8
Translated using Weblate (French)
Currently translated at 100.0% (306 of 306 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-03-11 22:35:00 +01:00
Éloi Rivard
2c4c3fb37e Title edition support 2023-03-11 22:34:29 +01:00
Éloi Rivard
0e6a6ee943 Updated language catalogs 2023-03-11 20:14:37 +01:00
Éloi Rivard
7237561ba7
Translated using Weblate (French)
Currently translated at 100.0% (300 of 300 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-03-11 20:13:39 +01:00
gallegonovato
ce82186a29
Translated using Weblate (Spanish)
Currently translated at 100.0% (300 of 300 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2023-03-11 20:13:39 +01:00
Éloi Rivard
4170242073 Address edition support (but not in the OIDC claims yet) 2023-03-11 20:12:50 +01:00
Éloi Rivard
822988536d LDAPObject can have several objectClass 2023-03-11 19:46:12 +01:00
Éloi Rivard
402e60325c departmentNumber edition support #129 2023-03-11 12:55:03 +01:00
Éloi Rivard
7c01158e44 More LDAP syntax definitions 2023-03-11 12:54:27 +01:00
Éloi Rivard
3406428f13 Renamed group attributes to match SCIM naming convention 2023-03-11 12:54:27 +01:00
gallegonovato
41edb53ff4
Translated using Weblate (Spanish)
Currently translated at 100.0% (299 of 299 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2023-03-11 11:37:34 +01:00
Éloi Rivard
971cf317c9 Used 'id' instead of 'dn' 2023-03-10 18:14:15 +01:00
Éloi Rivard
fafe47e69d Page titles 2023-03-10 01:02:36 +01:00
Éloi Rivard
31111b64e2 Dash in the title 2023-03-10 00:48:40 +01:00
Éloi Rivard
7918641e22 Consent cn alias, again 2023-03-10 00:40:16 +01:00
Éloi Rivard
e802e3d5e2 Consent cn alias 2023-03-10 00:38:16 +01:00
Éloi Rivard
0e81177151 Table search button partially reloads the table 2023-03-09 23:11:39 +01:00
Éloi Rivard
b29d125f09 Fixed client edition page 2023-03-09 23:09:44 +01:00
Éloi Rivard
f5b97ddbca
Translated using Weblate (French)
Currently translated at 100.0% (299 of 299 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-03-09 23:06:10 +01:00
Éloi Rivard
ff69d9ddb2 Updated language catalogs 2023-03-09 21:01:29 +01:00
Éloi Rivard
3d37073f18 Fixed unit tests 2023-03-09 20:58:45 +01:00
Éloi Rivard
a32e92d3d9 Added headers to tables 2023-03-09 20:34:57 +01:00
Éloi Rivard
246d0d25e5 Translatable strings extraction 2023-03-09 19:33:28 +01:00
Éloi Rivard
cf9b5c11a3 Dynamic tables with htmx
- Search is triggered with user inputs
- Page changes are triggered with clicks
2023-03-09 19:31:59 +01:00
Éloi Rivard
2d0c58c3e3 Added htmx dependency 2023-03-09 19:31:59 +01:00
Éloi Rivard
46a346a0d0 Table search implementation 2023-03-09 19:31:59 +01:00
Éloi Rivard
fbf449edd6 LDAPObject fuzzy search 2023-03-09 19:31:59 +01:00
Éloi Rivard
091270df53 LDAPObject pagination performance improvements
Creates a LDAPObjectQuery class that is returned by LDAPObject.filter
This avoids to create objects for each ldap result, but only for the
asked slice. It also store the whole results length so `len` calls are
a bit faster.
2023-03-09 19:31:59 +01:00
Éloi Rivard
e5d968d4f5 Every list of items is paginated server-side. 2023-03-09 19:31:59 +01:00
Éloi Rivard
480b085db3 User list template refactoring 2023-03-09 19:31:59 +01:00
Éloi Rivard
5549558366 Removed datatables 2023-03-09 19:31:59 +01:00
Éloi Rivard
52e0cd3615 Translatable strings extraction 2023-03-09 19:31:51 +01:00
Éloi Rivard
cfb67ed89b Add HTML table tags 2023-03-09 18:34:36 +01:00
Éloi Rivard
36cc47e40d Moved jinja macros in their own directory 2023-03-09 18:10:28 +01:00
Éloi Rivard
681c311d05 Forgotten password test improvement
Search for error messages in flashes instead of directly in the HTML.
2023-03-09 18:10:28 +01:00
Éloi Rivard
8b3781f73f Fixed missing HTML translation 2023-03-09 17:28:09 +01:00
Éloi Rivard
990c624c32 Save one LDAP connection when calling save() 2023-03-09 13:00:17 +01:00
Éloi Rivard
087ada53d1 Do not directly save objects in Group.all/remove_member 2023-03-09 10:50:05 +01:00
Éloi Rivard
21ab633b2f Consent list: fixed display for locales with long translations 2023-03-09 09:29:04 +01:00
Éloi Rivard
d0f6c341f3 LDAPObject refactoring 2023-03-09 01:14:07 +01:00
Éloi Rivard
53581404ab LDAPObject dn attributes are automatically initialized 2023-03-08 23:53:53 +01:00
Éloi Rivard
d201d6f617 Lazy conversion of LDAP to python format for LDAPObject attributes 2023-03-08 18:54:27 +01:00
Éloi Rivard
0eaa5e1319 LDAPObject.query can take non string values 2023-03-08 18:50:34 +01:00
Éloi Rivard
7e42467bfc Renamed LDAPObject.rdn in LDAPObject.rdn_attribute 2023-03-08 18:50:33 +01:00
Éloi Rivard
5d9a41f18b Delayed LDAPObject may and must initialization 2023-03-08 00:53:27 +01:00
Éloi Rivard
edd7873cea Fixed unit tests coverage 2023-03-07 20:10:21 +01:00
Éloi Rivard
84c10f8205 update_ldap_attributes is a classmethod 2023-03-07 18:05:00 +01:00
Éloi Rivard
c5b11d2fb3 Merge LDAPObject.all and LDAPObject.filter in LDAPObject.query 2023-03-07 17:58:27 +01:00
Éloi Rivard
cc65d78719 Renames LDAPObject.ldap in LDAPObject.ldap_connection 2023-03-07 17:55:32 +01:00
Éloi Rivard
333cbec201 LDAPObject __eq__ method checks if attributes exist 2023-03-07 17:42:46 +01:00
Éloi Rivard
d345218557 Updated to flask-babel 3 2023-03-01 15:32:40 +01:00
Éloi Rivard
a57c86cc2c SMTP SSL fixes 2023-02-28 10:07:08 +01:00
Wang Wenlin
4fa09b3a70 Enable SSL SMTP 2023-02-28 08:53:47 +00:00
Éloi Rivard
b9704ce8f1 Split populate logics in its own file 2023-02-26 22:21:55 +01:00
Jesús Pérez Rey (Chuso)
dbddfae33b
Add Galician datatables translation.
Signed-off-by: Jesús Pérez Rey (Chuso) <git@chuso.net>
2023-02-26 21:22:17 +01:00
Éloi Rivard
2c2797fbad A populate command can be used to fill the database with random users generated with faker. 2023-02-26 19:48:07 +01:00
Éloi Rivard
b5b6331aea i18n refactorization 2023-02-26 18:21:06 +01:00
Jesús P Rey
f7dc7b1186
Translated using Weblate (Galician)
Currently translated at 100.0% (290 of 290 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/gl/
2023-02-19 23:35:58 +01:00
Jesús P Rey
38ae55a00d
Translated using Weblate (Galician)
Currently translated at 100.0% (290 of 290 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/gl/
2023-02-18 23:08:29 +01:00
Jesús P Rey
537d42d73d
Added translation using Weblate (Galician) 2023-02-18 21:24:23 +01:00
Éloi Rivard
ceeb6c1393
Translated using Weblate (French)
Currently translated at 100.0% (290 of 290 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-02-16 15:37:39 +01:00
gallegonovato
907175717e
Translated using Weblate (Spanish)
Currently translated at 100.0% (290 of 290 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2023-02-16 15:37:39 +01:00
Éloi Rivard
8b4d5eb247 This is too soon for the walrus operator 2023-02-14 22:06:03 +01:00
Éloi Rivard
c51022d383 Updated translation files 2023-02-14 22:04:59 +01:00
Éloi Rivard
7458868f77 Pre-consented clients are displayed in the user consent list, and their consents can be revoked. 2023-02-14 21:56:47 +01:00
Éloi Rivard
d551b1ab35 Revoked consents can be restored 2023-02-14 19:05:43 +01:00
Éloi Rivard
a96518ef9c Display TOS and policy URI on the consent list page 2023-02-14 13:51:59 +01:00