Commit graph

1064 commits

Author SHA1 Message Date
Éloi Rivard
382dbcaf1a
feat: add 'autocomplete' tag on the password form 2024-04-17 12:36:39 +02:00
Éloi Rivard
fc8c0da912
fix: locked users cannot use refresh tokens 2024-04-17 12:07:11 +02:00
Éloi Rivard
31423cde1a
refactor: split oidc.authorize endpoint in several smaller functions 2024-04-17 11:56:44 +02:00
Éloi Rivard
6601abaeb4
refactor: memory model clears its cache when reading a model 2024-04-17 10:51:53 +02:00
Éloi Rivard
0ba1c93152
chore: add typing to Model._attributes 2024-04-17 09:03:54 +02:00
Éloi Rivard
d811c3473d
refactor: use one single Faker object to generate users 2024-04-16 21:43:34 +02:00
Éloi Rivard
fa6949e5c6
tests: speed up tests
by avoiding to create more faker.Faker objects than necessary
2024-04-16 21:25:20 +02:00
Éloi Rivard
f9989a960b
feat: locked users cannot be impersonated 2024-04-12 12:12:08 +02:00
Éloi Rivard
d9d5c85b51
refactor: memory backend clears its cache on save() calls 2024-04-12 10:55:24 +02:00
Éloi Rivard
6e26656cc4
tests: move test_model_references_set_unsaved_object to the ldap tests directory 2024-04-12 10:49:56 +02:00
Éloi Rivard
d8b5c837d7
Translated using Weblate (French)
Currently translated at 100.0% (368 of 368 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2024-04-10 11:01:48 +02:00
gallegonovato
c2f6a1d176
Translated using Weblate (Spanish)
Currently translated at 100.0% (368 of 368 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2024-04-10 11:01:47 +02:00
Éloi Rivard
42dc023288
fix: display the menu bar on error pages 2024-04-09 22:06:08 +02:00
Éloi Rivard
7ad592c4de
fix: compatibility with old session IDs 2024-04-09 15:45:47 +02:00
Éloi Rivard
4037c296cf
fix: JAVASCRIPT and HTMX configuration settings were ignored 2024-04-09 12:07:00 +02:00
Éloi Rivard
f3bcdafb23
fix: clean the session cookie after logout 2024-04-09 11:56:51 +02:00
Hosted Weblate
7244f900a5
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/
2024-04-09 10:04:43 +02:00
Éloi Rivard
920395c27f
feat: sign in/out events are logged in #177 2024-04-09 10:04:26 +02:00
Éloi Rivard
053156ec18
feat: additional messages on password endpoint errors
when attempt_login is not found on the session, add a warning to be
displayed on the login page after redirection
2024-04-09 09:20:38 +02:00
Hosted Weblate
18f1229f85
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/
2024-04-08 14:56:52 +02:00
Éloi Rivard
3e5161e72b
Translated using Weblate (French)
Currently translated at 100.0% (366 of 366 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2024-04-08 14:56:52 +02:00
Éloi Rivard
5aaccca4cf
fix: display an error message when trying to remove the last user from a group 2024-04-08 14:44:15 +02:00
Éloi Rivard
fe2665ae32
fix: LDAP user group removal 2024-04-08 14:15:28 +02:00
Éloi Rivard
cbde5ba7b7
fix: LDAP objectClass guessing exception 2024-04-08 11:00:36 +02:00
Éloi Rivard
8c16a9dd6d
fix: Lazy permission loading exception 2024-04-08 10:50:37 +02:00
Éloi Rivard
fbbcd2fe78
fix: saving an object with the LDAP backend keeps the objectClass un-managed by Canaille 2024-04-08 10:29:47 +02:00
Éloi Rivard
fecfcfa8f3
refactor: factorize Model.__html__ 2024-04-07 20:23:43 +02:00
Éloi Rivard
702eec7aca
fix: MemoryModel.model_attribute type hint 2024-04-07 20:21:30 +02:00
Éloi Rivard
88832b5b3b
refactor: move User.check_password and User.set_password methods to Backend 2024-04-07 20:17:15 +02:00
Éloi Rivard
5a6ce24074
refactor: move User.get_from_login method to Backend 2024-04-07 20:17:15 +02:00
Hosted Weblate
2082e19480
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/
2024-04-07 19:50:35 +02:00
Éloi Rivard
e9c4f4c1c9
refactor: differenciate between login and username in forms 2024-04-07 19:50:26 +02:00
Éloi Rivard
6251455a1d
perf: cache the class attributes 2024-04-07 19:22:54 +02:00
Éloi Rivard
2cab4bfa66
refactor: use User.get instead of User.get_from_login when this is pertinent 2024-04-07 18:46:08 +02:00
Éloi Rivard
e339d1169d
refactor: User.has_password factorization 2024-04-07 18:33:43 +02:00
Éloi Rivard
e317780e1d
fix: infinite recursion due to a typo 2024-04-07 17:43:20 +02:00
Éloi Rivard
ebf790a5bd
doc: add User permissions docstrings 2024-04-07 17:34:19 +02:00
Éloi Rivard
c0a28c1480
refactor: set default values for core models 2024-04-07 16:51:55 +02:00
Éloi Rivard
b6c59b3eda
refactor: add some typing to models 2024-04-07 16:39:05 +02:00
Éloi Rivard
1fbb074cc5
refactor: user permissions lazy loading 2024-04-07 15:21:32 +02:00
Éloi Rivard
30bd71c5b5
tests: fix coverage 2024-04-07 09:33:56 +02:00
Éloi Rivard
f113188368
refactor: factorize match_filter in the main User class 2024-04-07 01:25:44 +02:00
Éloi Rivard
76cd3dc169
refactor: remove LDAPObject.get unused parameter 2024-04-07 00:36:52 +02:00
Éloi Rivard
945daee715
refactor: prefer typing.get_type_hints to __annotations__ 2024-04-06 23:22:38 +02:00
Éloi Rivard
75837fa207
refactor: model attributes are walked from the top to the bottom 2024-04-06 22:46:11 +02:00
Éloi Rivard
fe809161ff
refactor: factorized User.load_permissions 2024-04-06 19:22:47 +02:00
Éloi Rivard
e02b54f327
refactor: locally store the model names in lowercase 2024-04-06 18:21:50 +02:00
Éloi Rivard
f06f0c4e25
doc: fix references to BackendModel 2024-04-05 16:09:20 +02:00
Éloi Rivard
7734ed185e
refactor: the id attribute is attached to the Model class 2024-04-05 16:05:17 +02:00
Éloi Rivard
47ef573917
refactor: fix coverage 2024-04-05 15:59:17 +02:00
Éloi Rivard
ec7a721336
refactor: ldap objects id attribute is based on entryUUID instead of dn 2024-04-05 15:35:49 +02:00
Éloi Rivard
7b054bb571
refactor: ldap backend use a server control to re-read objects after update 2024-04-05 14:34:48 +02:00
Éloi Rivard
ab17137cd6
refactor: ldapbackend explicitly uses the DN attribute for LDAP operations 2024-04-03 09:40:10 +02:00
Éloi Rivard
951ad364f1
doc: fix references to native python types 2024-04-02 09:27:47 +02:00
Éloi Rivard
09391f0a1d
doc: fix reference to DEBUG setting 2024-04-02 09:22:12 +02:00
Éloi Rivard
4344bfacbc
refactor: set default values for models 2024-04-01 18:55:13 +02:00
Éloi Rivard
18e3f8cde5
refactor: split the base model class in two 2024-04-01 18:55:05 +02:00
Éloi Rivard
0363a0a76e
refactor: remove unused var 2024-04-01 15:02:26 +02:00
Éloi Rivard
89354e281f
refactor: memory backend use __getattribute__ instead of __getattr__ 2024-04-01 15:02:19 +02:00
Éloi Rivard
a795c8460b
refactor: memory model keys are not models anymore 2024-04-01 15:01:53 +02:00
Éloi Rivard
b571818755
refactor: MemoryModel - rename klass in model 2024-04-01 15:01:12 +02:00
Éloi Rivard
fbd0d3029e
refactor: rename User read/write/permissions attributes 2024-04-01 14:59:56 +02:00
Éloi Rivard
48d6065e1c
refactor: memory model variable renaming 2024-04-01 14:59:40 +02:00
Éloi Rivard
006bf08b3d
refactor: improve memory model serialization
do not systematically store every attributes as a list
2024-03-31 12:06:19 +02:00
Éloi Rivard
8834c65bea
refactor: backend memory deserialize method 2024-03-31 01:20:39 +01:00
Éloi Rivard
d2df12236d
refactor: move memory backend methods as classmethods 2024-03-31 01:05:48 +01:00
Éloi Rivard
fa45ef6907
refactor: delete an unused index layer in the memory backend 2024-03-31 00:23:43 +01:00
Éloi Rivard
642e6fcd3f
fix: use one single faker generator for fake groups generation 2024-03-31 00:12:56 +01:00
Éloi Rivard
0a2d3d4629
fix: permissions loading with the SQL backend 2024-03-31 00:07:16 +01:00
Éloi Rivard
58b967a43e
refactor: reliably detect the model attribute cardinality 2024-03-30 23:39:09 +01:00
Éloi Rivard
7418d10efb
refactor: make User and Group directly inherit from Model 2024-03-30 18:48:03 +01:00
Éloi Rivard
efe3a3c4c4
refactor: assume ACL have default values 2024-03-30 17:21:40 +01:00
Éloi Rivard
f2dbda8c89
doc: fixed logging example 2024-03-30 11:40:05 +01:00
Éloi Rivard
06049d27a4
feat: better error messages when Canaille is launched without configuration 2024-03-29 19:31:01 +01:00
Éloi Rivard
163c0155b7
fix: OIDC JWT settings initialization 2024-03-29 17:30:12 +01:00
Éloi Rivard
e9c36dffd5
fix: OIDC feature detection 2024-03-29 17:17:06 +01:00
Éloi Rivard
e299c84cab
fix: default LDAP USER_FILTER 2024-03-29 14:45:04 +01:00
Éloi Rivard
4cd3d51de5
doc: fix LOGGING code snippet 2024-03-29 12:17:24 +01:00
Éloi Rivard
a6bd3e6002
chore: remove unused guard 2024-03-29 12:00:20 +01:00
Éloi Rivard
3592b40f03
fix: i18n warnings on project installation 2024-03-29 11:16:13 +01:00
Éloi Rivard
37d17b43aa
fix: python<3.10 union types 2024-03-29 10:56:21 +01:00
Éloi Rivard
be2fa8b7f5
doc: minor various improvements 2024-03-29 09:35:29 +01:00
Éloi Rivard
4067634c40 Merge branch 'conf-class' into 'main'
use pydantic to validate the configuration

See merge request yaal/canaille!170
2024-03-28 16:45:28 +00:00
Éloi Rivard
8625318341
feat: use pydantic to validate the configuration 2024-03-28 17:44:26 +01:00
gallegonovato
02656516e0
Translated using Weblate (Spanish)
Currently translated at 100.0% (365 of 365 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2024-03-28 15:01:52 +01:00
Éloi Rivard
97470bffe6
doc: better translation documentation 2024-03-28 14:22:07 +01:00
Hosted Weblate
7aaef0d606
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/
2024-03-27 14:08:11 +01:00
Éloi Rivard
5cbb157e02
Translated using Weblate (French)
Currently translated at 100.0% (366 of 366 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2024-03-27 14:08:11 +01:00
Éloi Rivard
bd003ec53d
fix: wording uniformization 2024-03-27 14:07:52 +01:00
Hosted Weblate
3ee6533432
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/
2024-03-27 14:01:59 +01:00
Éloi Rivard
9dac4185b9
feat: use flask-babel to format the number of consents 2024-03-27 14:01:43 +01:00
Éloi Rivard
f0fe9c2fb5
feat: use flask-babel to format the number of group members 2024-03-27 13:59:02 +01:00
Éloi Rivard
ffa12b0f71
feat: created and last_modified model attributes 2024-03-27 13:57:38 +01:00
Éloi Rivard
62d29a00bb
feat: use flask-babel to format numbers 2024-03-26 20:22:32 +01:00
Éloi Rivard
265f266638
chore: use the standard tomllib python module instead of toml starting from python 3.11 2024-03-26 13:57:14 +01:00
Éloi Rivard
ad71934a28
chore: bump to htmx 1.9.11 2024-03-21 16:19:15 +01:00
Éloi Rivard
2dd5b09afe
doc: update flask doc link 2024-03-16 13:48:55 +01:00
Éloi Rivard
edebf189dd
doc: update flask doc link 2024-03-16 13:47:49 +01:00
Éloi Rivard
dc81832159
feat: usedefault python logging configuration format 2024-03-15 20:12:07 +01:00
Éloi Rivard
4edffcaa9f
chore: use isort instead of reoder-python-imports 2024-03-15 19:58:37 +01:00