Commit graph

1033 commits

Author SHA1 Message Date
É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
Éloi Rivard
9af9a303ba
refactor: use modern faker calls
https://github.com/joke2k/faker/pull/1991
2024-02-16 09:15:41 +01:00
Éloi Rivard
d49e669cab
fix: avoid to fail on imports if cryptography is missing 2023-12-29 17:17:19 +01:00
Éloi Rivard
395b6ab4f3
chore: add docformatter pre-commit 2023-12-28 18:31:57 +01:00
Éloi Rivard
e8b620588e
refactor: LDAP backend initialization 2023-12-27 10:57:22 +01:00
Éloi Rivard
a237fa0198
chore: pre-commit update 2023-12-26 01:13:11 +01:00
Éloi Rivard
a4a381d088
refactor: gather endpoints in a 'endpoints' directory 2023-12-26 00:30:19 +01:00
Éloi Rivard
38038d8db9
refactor: use 'url_for' in templates instead of static urls 2023-12-25 20:15:21 +01:00
Éloi Rivard
5c11ebf0d3
feat: ldap connection is lazilly opened 2023-12-25 14:26:08 +01:00
Éloi Rivard
d0dbaa588c
refactor: no more explicit conn argument in the LDAP backend 2023-12-25 14:03:47 +01:00
Éloi Rivard
95882c737b
fix: LDAP backend connection error display 2023-12-25 13:56:57 +01:00
Éloi Rivard
d4712b7971
refactor: backend cleanups 2023-12-25 13:22:43 +01:00
Éloi Rivard
6dac4a1ca8
tests: fix github CI, again 2023-12-24 13:14:38 +01:00
Éloi Rivard
92c2e864af
tests: fix github CI 2023-12-24 13:03:35 +01:00
Éloi Rivard
772a364128
fix: group field error prevented the registration form validation 2023-12-24 12:05:29 +01:00
Éloi Rivard
06b60e1747
fix: post_logout_redirect_uris was ignored during OIDC dynamic registration 2023-12-23 21:32:31 +01:00
Éloi Rivard
c847ef9284
feat: OIDC prompt=create implementation 2023-12-23 19:37:48 +01:00
Éloi Rivard
521ed75f18
fix: correctly set up Client audience during OIDC dynamic registration 2023-12-23 19:37:14 +01:00
Éloi Rivard
9ff0411e9e
tests: extracted the prompt tests in a dedicated file 2023-12-22 21:18:02 +01:00
Éloi Rivard
445d854af1
feat: THEME can be a relative path 2023-12-22 18:00:07 +01:00
Éloi Rivard
97394823bf
fix: return a 403 error when users are missing permissions for OIDC authentication 2023-12-22 16:39:20 +01:00
Éloi Rivard
52fc93a481
refactor: avoid to directly use the 'configuration' fixture in tests 2023-12-19 18:28:04 +01:00
Éloi Rivard
7fed235437
fix: redirection after password reset 2023-12-15 16:12:33 +01:00
Éloi Rivard
67733699aa
fix: OIDC Userinfo endpoint is also available in POST 2023-12-15 12:03:21 +01:00
Éloi Rivard
7c06d8d51e
refactor: custom error pages are only loaded when themer is loaded 2023-12-15 11:58:25 +01:00
Éloi Rivard
214b16db37
fix: another mimetype guard 2023-12-15 11:02:31 +01:00
Éloi Rivard
3255eaa31c
fix: a crash when no ACL was defined 2023-12-15 10:50:53 +01:00
Éloi Rivard
11f969a71f
fix: don't crash when mimetype detection fails 2023-12-15 10:25:08 +01:00
Éloi Rivard
8f4a402c84
doc: client attribute description based on oauth/oidc specs 2023-12-14 23:22:33 +01:00
Éloi Rivard
c0f0114496
doc: user and group attribute description based on scim specs 2023-12-14 23:08:17 +01:00
Éloi Rivard
88aa9e27fb
fix: get_mail_domain ignores the server port 2023-12-14 19:24:09 +01:00
Éloi Rivard
02a7e84833
feat: raise an exception when toml is not installed and a configuration file is passed in the environment 2023-12-14 16:04:46 +01:00