Commit graph

1186 commits

Author SHA1 Message Date
Félix Rohrlich
038e6c094e feat: Added security logs for email update, forgotten password mail, token emission/refresh/revokation, new consent, consent revokation #177 2024-10-14 14:04:39 +02:00
Félix Rohrlich
545fb2d342 feat: change password events are logged in #177 2024-10-09 15:55:01 +02:00
Éloi Rivard
3c0c2e53db
chore: update to htmx 2.0.3 2024-10-07 14:18:30 +02:00
Éloi Rivard
86623f6690
refactor: remove useless de-indexation code in MemoryBackend
de-indexation was already achieved with the previous loop
2024-09-19 17:39:24 +02:00
Éloi Rivard
b14cc2b5ad
refactor: separate the loading of User permissions 2024-09-18 10:00:58 +02:00
Éloi Rivard
813640fef9
refactor: User.can_read do not call private vars
so they get a chance to be loaded if needed
2024-09-17 19:58:07 +02:00
Éloi Rivard
c28a1e9351
fix: display a 500 error when SMTP configuration is defined but null
this improves tests coverage
2024-09-15 17:58:03 +02:00
Éloi Rivard
001d635295
tests: missing client_id on OIDC authorization page 2024-09-13 15:08:23 +02:00
Éloi Rivard
5149b96731
Translated using Weblate (French)
Currently translated at 100.0% (377 of 377 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2024-09-13 08:47:36 +00:00
gallegonovato
b9be62b0cf
Translated using Weblate (Spanish)
Currently translated at 100.0% (377 of 377 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2024-09-13 08:47:36 +00:00
Hosted Weblate
20a7a7d1c9
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-09-13 08:47:35 +00:00
Éloi Rivard
37ecb7a2ba
chore: use pyproject.toml with babel to extract strings 2024-09-12 19:29:59 +02:00
Éloi Rivard
cfabcc485c
chore: automitaclly fix typos 2024-09-11 09:33:42 +02:00
Moha684
269d238a28
Translated using Weblate (Breton)
Currently translated at 10.8% (41 of 377 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/br/
2024-08-08 21:09:20 +02:00
Moha684
67ce98b84b
Translated using Weblate (Spanish)
Currently translated at 100.0% (377 of 377 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2024-08-08 21:09:19 +02:00
Moha684
5efef5c74b
Added translation using Weblate (Breton) 2024-08-07 21:02:48 +02:00
Éloi Rivard
35fab7d321
fix: LDAP backend rdn_value could try to strip a None value 2024-07-25 17:39:40 +02:00
Éloi Rivard
e5328837fd
chore: pre-commit upgrade 2024-07-25 16:47:45 +02:00
Sascha
9e1b5e2a58
Translated using Weblate (German)
Currently translated at 100.0% (377 of 377 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/de/
2024-06-26 13:09:23 +02:00
Éloi Rivard
0cbaa3b3bc
feat: more blocks for theming firstlogin, forgotten-password and
reset-password pages
2024-05-21 18:08:44 +02:00
Éloi Rivard
61da0683bd
feat: more blocks for theming login and password pages 2024-05-21 17:17:48 +02:00
Éloi Rivard
18a711ef7d
doc: features and use cases documentation 2024-05-21 11:07:07 +02:00
Éloi Rivard
b46102bb75
fix: crash for passwordless users at login when no SMTP server was configured 2024-05-14 23:15:41 +02:00
Éloi Rivard
3fb5d0149d
fix: SMTP feature can be disabled again 2024-05-14 23:04:32 +02:00
Éloi Rivard
43f9f328a5
refactor: factorize features definition 2024-05-14 22:53:47 +02:00
Brunelie Lauret
069d23d262 Fix colors in dark theme for better readability 2024-05-14 10:15:18 +02:00
Éloi Rivard
194147d84e
doc: actually, document enums without any dependency 2024-05-14 09:32:32 +02:00
Éloi Rivard
345177f519
doc: user enum_tools instead of sphinx-auto-enum 2024-05-14 09:05:46 +02:00
Éloi Rivard
25f2b6dedd
feat: model management commands 2024-05-13 14:16:14 +02:00
Éloi Rivard
5beee67a61
fix: User group deletion without reading User.groups with LDAP backend 2024-05-12 22:28:32 +02:00
Éloi Rivard
4791d27569
doc: CLI documentation improvements 2024-05-12 11:33:22 +02:00
Éloi Rivard
b16630063b
fix: check command when SMTP configuration is not defined 2024-05-12 10:42:41 +02:00
Éloi Rivard
98e5849a65
fix: remove useless Flask CLI options 2024-05-08 10:31:34 +02:00
Éloi Rivard
3df1b9d7c7
doc: fix doc building 2024-05-08 10:08:46 +02:00
Éloi Rivard
17a994bd9f
doc: fix doc warnings 2024-05-08 09:33:52 +02:00
Éloi Rivard
4e99eaecea
tests: remove SQLAlchemy warnings on double deletions 2024-05-07 16:19:50 +02:00
Éloi Rivard
e44b2bf469
tests: fix CI 2024-05-03 22:35:57 +02:00
Éloi Rivard
851b383117
refactor: move listify from MemoryBackend to MemoryBackend 2024-05-03 22:25:21 +02:00
Éloi Rivard
cc9ed335cc
refactor: move MemoryBackend indexation logic into MemoryBackend 2024-05-03 22:25:21 +02:00
Éloi Rivard
16c3021a8f
refactor: Rename BaseBackend in Backend 2024-05-03 22:25:20 +02:00
Éloi Rivard
6ff591b91c
refactor: Move __html__ from BackendModel to Model 2024-05-03 22:25:20 +02:00
Éloi Rivard
b2d5f8d3a1
refactor: move BackendModel.update to Backend.update 2024-05-03 22:25:20 +02:00
Éloi Rivard
473a262ea2
refactor: move BackendModel.reload to Backend.reload 2024-05-03 22:25:20 +02:00
Éloi Rivard
2ccdaeadf6
refactor: move BackendModel.delete to Backend.delete 2024-05-03 22:22:08 +02:00
Éloi Rivard
09588e0f48
refactor: move BackendModel.save to Backend.save 2024-05-03 22:22:06 +02:00
Éloi Rivard
44573713ed
refactor: move BackendModel.get to Backend.get 2024-05-03 21:54:03 +02:00
Éloi Rivard
ccde88b1bf
refactor: BackendModel.get() is now Backend.instance 2024-05-03 21:46:28 +02:00
Éloi Rivard
fa6488bcd1
refactor: move BackendModel.fuzzy to Backend.fuzzy 2024-05-03 21:42:55 +02:00
Éloi Rivard
8425b2a3b8
refactor: move BackendModel.query to Backend.query 2024-05-03 21:42:54 +02:00
Éloi Rivard
93fa708b1c
refactor: move LDAPObjectQuery in its own file 2024-05-03 21:36:15 +02:00
Éloi Rivard
222d7676ca
Translated using Weblate (French)
Currently translated at 100.0% (377 of 377 strings)

Co-authored-by: Éloi Rivard <eloi.rivard@nubla.fr>
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
Translation: Canaille/Canaille
2024-05-02 19:09:09 +02:00
gallegonovato
95fb442546
Translated using Weblate (Spanish)
Currently translated at 100.0% (377 of 377 strings)

Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
Translation: Canaille/Canaille
2024-05-02 19:09:07 +02:00
Hosted Weblate
a3a8281ffb
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/
Translation: Canaille/Canaille
2024-05-01 18:40:09 +02:00
Éloi Rivard
98b26ee6f3
fix: translatable f-string 2024-05-01 18:39:59 +02:00
Éloi Rivard
340daa21f8
Translated using Weblate (French)
Currently translated at 100.0% (375 of 375 strings)

Co-authored-by: Éloi Rivard <eloi.rivard@nubla.fr>
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
Translation: Canaille/Canaille
2024-04-29 20:07:19 +02:00
gallegonovato
82bd37f240
Translated using Weblate (Spanish)
Currently translated at 100.0% (375 of 375 strings)

Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
Translation: Canaille/Canaille
2024-04-29 20:07:17 +02:00
Hosted Weblate
fec5f58244
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-28 19:49:26 +02:00
Éloi Rivard
69019763d4
feat: group member removal can be achieved from the group edition page 2024-04-28 19:47:57 +02:00
Éloi Rivard
69b565e1ad
refactor: LDAP backend tolerates double deletions 2024-04-28 16:18:36 +02:00
Éloi Rivard
867de91740
Translated using Weblate (French)
Currently translated at 100.0% (369 of 369 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2024-04-28 15:07:27 +02:00
gallegonovato
00269075c4
Translated using Weblate (Spanish)
Currently translated at 100.0% (369 of 369 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2024-04-28 15:07:25 +02:00
Éloi Rivard
e3ab3e0f7d
chore: bump to htmx 1.9.12 2024-04-28 09:31:39 +02:00
Éloi Rivard
288ad161d3
tests: test mail attachments mimetypes 2024-04-27 14:36:34 +02:00
Hosted Weblate
6ac4aadb02
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-27 14:08:08 +02:00
Éloi Rivard
22d7c3e336
chore: extract translatable strings 2024-04-27 14:07:55 +02:00
Éloi Rivard
ebcaaeaded
tests: fix GHA
For some reasons, webp mimetypes failed to be guessed on GHA.
2024-04-27 14:06:20 +02:00
Éloi Rivard
dc89a20b11
chore: configure ruff 2024-04-23 22:12:04 +02:00
Éloi Rivard
256566df94
refactor: Model identifier_attributes are fixed. 2024-04-22 20:04:24 +02:00
Éloi Rivard
afa0a6ff1e
feat: env_prefix create_app variable can select the environment var prefix 2024-04-22 18:10:49 +02:00
Éloi Rivard
7fc887a492
feat: ENV_FILE configuration variable can customize the .env file 2024-04-22 16:37:31 +02:00
Éloi Rivard
9c86f5e9af
refactor: Use annotations to mark model attributes 2024-04-21 11:48:39 +02:00
Éloi Rivard
acf8acf29f
fix: locked users cannot use OIDC authorization codes 2024-04-17 13:05:14 +02:00
É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