Commit graph

1186 commits

Author SHA1 Message Date
É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
É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
Éloi Rivard
066aed7735
feat: convert the png in webp 2023-12-01 22:09:54 +01:00
Éloi Rivard
e09a3071d4
fix: handle 4xx and 5xx error codes with htmx 2023-12-01 11:49:09 +01:00
Éloi Rivard
a7e574f754
feat: use sqlalchemy-utils PasswordType to store and hash user passwords 2023-12-01 09:29:59 +01:00
Éloi Rivard
410d464242
refactor: force objects to be string for hashing 2023-11-28 18:51:28 +01:00
Éloi Rivard
969f3e980c
fix: password comparision was too permissive on login 2023-11-28 18:10:47 +01:00
Éloi Rivard
aa07059357
fix: password and initalization emails were only sent to the preferred user email address 2023-11-28 17:59:50 +01:00
Éloi Rivard
15124f29bb
fix: incorrect user photo and group description cardinality 2023-11-28 15:54:41 +01:00
Éloi Rivard
98e8aa9b39
fix: only the first password letter was used 2023-11-28 15:51:14 +01:00
Éloi Rivard
c2250ec77e
fix: password reset and initialization mail sending
Password reset and initialization mails were not sent at all the user
  addresses if one email address could not be reached.
2023-11-28 15:27:08 +01:00
Éloi Rivard
d9dbd8ad0e
fix: crash when LDAP groups are refering to unexisting users 2023-11-28 09:37:37 +01:00
Éloi Rivard
e1f54fffbc
fix: demo client issue date 2023-11-24 15:24:46 +01:00
Éloi Rivard
4e380436d3
fix: disable HTMX boosting during the OIDC dance 2023-11-24 14:45:59 +01:00
Éloi Rivard
d55489f24c
chore: bump to htmx 1.9.9 2023-11-24 14:10:42 +01:00
Éloi Rivard
27639081f0
feat: implement sqlalchemy backend
Co-authored-by: Loan Robert <loan@yaal.coop>
2023-11-24 13:57:46 +01:00
Éloi Rivard
ff2ff68023
refactor: additional guards on user profile edition 2023-11-24 12:47:09 +01:00
Éloi Rivard
9cf17953ee
refactor: remove an useless OIDC guard 2023-11-24 12:45:41 +01:00
Éloi Rivard
8c2814c852
refactor: Backend.session can take parameters 2023-11-24 12:43:40 +01:00
Éloi Rivard
ac149a2120
fix: group name displaying 2023-11-24 11:47:09 +01:00
Éloi Rivard
02c8f0b177
refactor: Backend.install calls uniformization 2023-11-24 11:13:17 +01:00
Éloi Rivard
8a5dd04c87
refactor: OIDC client management factorization, again 2023-11-24 09:30:52 +01:00
Éloi Rivard
a308a40b11
refactor: OIDC client management factorization 2023-11-24 09:26:15 +01:00
Éloi Rivard
7494800e57
fix: OIDC client 'client_secret_expires_at' claim must be 0, not None 2023-11-23 09:15:40 +01:00
Éloi Rivard
79e547fc10
refactor: OIDC token scopes are stored as lists 2023-11-22 16:36:42 +01:00
Éloi Rivard
fd77bd5637
refactor: OIDC authorization codes scopes are stored as lists 2023-11-22 16:30:38 +01:00
Éloi Rivard
e504c73b38
chore: remove useless var 2023-11-22 12:30:17 +01:00
Éloi Rivard
1e9c77ad6d
refactor: compare models in memory backend user.load_permissions 2023-11-22 12:20:53 +01:00
Éloi Rivard
62a9c320c3
fix: user formatted_name cardinality on user creation form 2023-11-22 11:44:44 +01:00
Éloi Rivard
b6cfa1517c
refactor: form model attributes coercion 2023-11-22 11:30:30 +01:00
Éloi Rivard
3752693480
refactor: use wtforms readonly validator 2023-11-21 18:34:59 +01:00
Éloi Rivard
bc56105b28
fix: remove useless print 2023-11-21 17:59:11 +01:00
Éloi Rivard
f2e5eb36ee
fix: fake user generate attribute cardinality 2023-11-21 16:36:31 +01:00
Éloi Rivard
4616725651
refactor: fix group edition attribute cardinality 2023-11-21 16:30:12 +01:00
Éloi Rivard
ce022ec8fe
refactor: simplify user profile form data initialization 2023-11-21 16:07:11 +01:00
Éloi Rivard
3a39fc191a
refactor: remove models __delattr__ methods 2023-11-21 14:57:28 +01:00
Éloi Rivard
771d3952a3
feat: OIDC password grant supports other client authentication methods 2023-11-18 19:20:14 +01:00
Éloi Rivard
1fd8af2cf4
refactor: models attributes cardinality is closer to SCIM models 2023-11-17 21:21:25 +01:00
Éloi Rivard
0ee374dea7
tests: back to 100% coverage 2023-11-16 18:06:23 +01:00
Éloi Rivard
134b4c5f50
fix: better logout error message 2023-11-13 18:40:01 +01:00
Éloi Rivard
e760c34942
feat: collapse the icon column in the list tables 2023-10-06 15:36:02 +02:00
Éloi Rivard
0574460fe6
fix: when LDAP servers are down, rendering error pages would raise an exception 2023-10-02 14:06:06 +02:00
Éloi Rivard
88dcf94750
Revert "tests: domain is localhost.local"
This reverts commit 44aed27719.
2023-10-01 15:42:16 +02:00
Éloi Rivard
5b039d8f4f
chore: bump to htmx 1.9.6 2023-09-29 12:57:37 +02:00
Éloi Rivard
9c5ef421d0
fix: user deletion on instances without account lockability 2023-09-28 18:27:43 +02:00
Éloi Rivard
44aed27719
tests: domain is localhost.local 2023-09-20 09:54:17 +02:00
Éloi Rivard
f5083d0b15
fix: unique type in token memory model 2023-09-18 23:55:46 +02:00
Éloi Rivard
d7c6896093
refactor: move get_jkws method in oauth.py 2023-09-18 23:02:48 +02:00
Éloi Rivard
46c795b3b5
refactor: only load oidc module if OIDC is configured 2023-09-15 17:56:23 +02:00
Éloi Rivard
7e3cb6ba53
fix: inline form validation in the profile edition page 2023-09-11 18:28:47 +02:00
Éloi Rivard
17f84e4ce4
fix: silence faker debug logs 2023-09-11 18:20:17 +02:00
Éloi Rivard
4d397906bd
fix: translation compilation warnings 2023-09-11 18:15:42 +02:00
Éloi Rivard
c2e6158bf5
fix: use fomantic-ui equal width menu on submenus 2023-09-08 09:07:04 +02:00
Éloi Rivard
cbecb34c4e
chore: bump to fomanticui 2.9.3 2023-09-08 09:07:03 +02:00
Éloi Rivard
a2e3fce204
feat: flask-babel and pytz are now part of the front extras 2023-09-01 10:46:56 +02:00
Éloi Rivard
c0bf10dce7
chore: remove remaning datatables files 2023-09-01 09:27:52 +02:00
Éloi Rivard
a7b3d4be88
feat: user login redirections
if users login during the authorization phase, they
get redirected to the authorization page afterwards
2023-09-01 09:12:40 +02:00
Éloi Rivard
8be771e41d
tests: fix CI 2023-08-31 22:44:06 +02:00
Éloi Rivard
f6abd1e22f
refactor: avoid to build one form per button in the pagination toolbar 2023-08-27 16:33:48 +02:00
Éloi Rivard
c718f7b258
refactor: remove unnecessary htmx 1506 workarounds
fixes #143
2023-08-27 16:25:30 +02:00
Éloi Rivard
89f5c09a6a
chore: bump to htmx 1.9.5 2023-08-27 16:19:23 +02:00
Éloi Rivard
21ea0238b5
OIDC jwks endpoint do not return empty kid claim 2023-08-26 19:59:44 +02:00
Éloi Rivard
26f1a0fbc5
fix: use importlib instead of the deprecated pkg_resources 2023-08-26 16:50:01 +02:00
Éloi Rivard
2a38bcb3fc
chore: typo 2023-08-23 16:48:40 +02:00
Éloi Rivard
77cccc3a10
doc: better model inheritance to generate a clearer documentation 2023-08-23 16:41:41 +02:00
Éloi Rivard
67b0669fa8
doc: models types draft 2023-08-23 15:18:43 +02:00
Éloi Rivard
8b98726348
refactor: User.login and User.logout methods moved to app.flask module 2023-08-23 14:56:56 +02:00
Éloi Rivard
553595c5ed
doc: model documentation 2023-08-17 16:11:24 +02:00
Éloi Rivard
96ccf12ad9
feat: split installation in different extras packages 2023-08-17 14:34:30 +02:00
Éloi Rivard
588ec8792e
Implement a dummy inmemory backend 2023-08-17 12:33:45 +02:00
Éloi Rivard
4f89f4ff29
Translated using Weblate (French)
Currently translated at 100.0% (367 of 367 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-08-16 17:54:29 +02:00
gallegonovato
be27345ee3
Translated using Weblate (Spanish)
Currently translated at 100.0% (367 of 367 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2023-08-16 17:54:28 +02:00
Éloi Rivard
37c2a7d4de
refactor: joinform email validation in a separate method 2023-08-16 17:45:39 +02:00
Hosted Weblate
4504650ea5
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-08-15 17:04:36 +02:00
Éloi Rivard
0cd713ed09
Translated using Weblate (French)
Currently translated at 100.0% (367 of 367 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-08-15 17:04:35 +02:00
gallegonovato
3ceeb3efe1
Translated using Weblate (Spanish)
Currently translated at 98.6% (362 of 367 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2023-08-15 17:04:35 +02:00
Éloi Rivard
ccaba0b9d5
feat: registration email admin debug page 2023-08-15 17:00:38 +02:00
Éloi Rivard
c4274d1030
fix: fix impersonate success message 2023-08-15 16:48:21 +02:00
Hosted Weblate
4c06fe7faf
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-08-15 16:39:19 +02:00
Éloi Rivard
78d7e43971
chore: update babel catalogs 2023-08-15 16:36:58 +02:00
Éloi Rivard
5a9df64f68
feat: implement registration process 2023-08-15 16:31:44 +02:00
Éloi Rivard
29b50dc25e
remove onboarding screen 2023-08-15 12:40:18 +02:00
Éloi Rivard
b60dbebd28
Merge branch 'main' into registration 2023-08-15 00:48:49 +02:00
Éloi Rivard
fc252acaaa
refactor: user permission sugar 2023-08-14 16:25:12 +02:00
Éloi Rivard
e55b56419d
refactor: extract auth.py from account.py 2023-08-14 16:15:41 +02:00
Éloi Rivard
321eb487ad
refactor: moved template logic from 'theme/base.html' to 'template/base.html' 2023-08-14 15:48:56 +02:00
Éloi Rivard
191791ac72
fix: import render_template from flask_themer instead of flask 2023-08-14 15:45:25 +02:00
Éloi Rivard
324b36c829
refactor: template overhaul 2023-08-14 15:28:20 +02:00
Éloi Rivard
d27aab8651
refactor: the core module has its own main blueprint 2023-08-14 13:52:24 +02:00
Éloi Rivard
c6a543535c
tests: fix coverage 2023-08-13 22:17:00 +02:00
Éloi Rivard
c895366684
refactor: store user profile in g.user 2023-08-13 22:08:28 +02:00
Éloi Rivard
03af0bd249
Translated using Weblate (French)
Currently translated at 100.0% (357 of 357 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-08-09 16:52:28 +02:00
gallegonovato
0cc7a2a8cb
Translated using Weblate (Spanish)
Currently translated at 100.0% (357 of 357 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2023-08-09 16:52:28 +02:00
Éloi Rivard
05a1ff21d1
fix: email address field translations 2023-08-08 14:26:46 +02:00
Éloi Rivard
cdd25d97ce
Translated using Weblate (French)
Currently translated at 100.0% (357 of 357 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-08-06 17:55:02 +02:00
Hosted Weblate
2315e8f010
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-08-06 12:16:56 +02:00
Éloi Rivard
000100154f
chore: update catalogs 2023-08-06 12:15:02 +02:00
Éloi Rivard
fd24c704c0
feat: implement email verification 2023-08-06 11:58:16 +02:00
Éloi Rivard
29b1e3c411
chore: bump to htmx 1.9.4 2023-08-06 11:10:34 +02:00
gallegonovato
8a25c8519a
Translated using Weblate (Spanish)
Currently translated at 100.0% (334 of 334 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2023-08-05 16:45:37 +02:00
Éloi Rivard
d5939030f2
Translated using Weblate (French)
Currently translated at 100.0% (334 of 334 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-08-03 19:24:48 +02:00
Hosted Weblate
7f12d11ad8
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-08-03 19:23:09 +02:00
Éloi Rivard
6ba56fc6d4
chore: update babel catalogs 2023-08-03 19:22:58 +02:00
Éloi Rivard
8fe8494587
feat: validate phone numbers 2023-08-03 19:08:34 +02:00
Éloi Rivard
9940a98188
refactor: profile button action renaming 2023-07-30 23:08:29 +02:00
Éloi Rivard
267dbe15e4
Translated using Weblate (French)
Currently translated at 100.0% (333 of 333 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-07-30 14:06:44 +02:00
gallegonovato
2d02f424b3
Translated using Weblate (Spanish)
Currently translated at 100.0% (333 of 333 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2023-07-30 14:06:44 +02:00
Hosted Weblate
70d57afffc
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-07-28 19:19:01 +02:00
Éloi Rivard
7176d017a2
feat: password good practice message on the settings page 2023-07-28 19:17:26 +02:00
Éloi Rivard
c3a93c5f6f
fix: babel is required at build by the project metadata 2023-07-24 19:40:43 +02:00
Éloi Rivard
1352752db8
refactor: utilities for form field readonliness 2023-07-24 18:07:35 +02:00
Éloi Rivard
4347fb572a
chore: rename HTMXForm to Form 2023-07-23 23:38:11 +02:00
Éloi Rivard
7446efe373
Translated using Weblate (French)
Currently translated at 100.0% (331 of 331 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-07-22 16:06:25 +02:00
gallegonovato
2dc7323165
Translated using Weblate (Spanish)
Currently translated at 100.0% (331 of 331 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2023-07-22 16:06:24 +02:00
Hosted Weblate
066644b43f
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-07-20 16:54:52 +02:00
Éloi Rivard
e8e9a62294
Updated catalogs 2023-07-20 16:54:42 +02:00
Éloi Rivard
b4908d5e57
modals are HTML pages instead of JS elements
This will help providing the very same user experience for users with
and without javascript. We will still be able to re-enable javascript
modals in the future, but this should be done from the ground up, HTML
first and javascript after.
2023-07-18 18:34:10 +02:00
Éloi Rivard
54abdaea3b Dynamic model registration 2023-07-12 12:34:00 +02:00
Éloi Rivard
f5af3e7a0c split long lines 2023-07-12 11:59:57 +02:00
Brunelie Lauret
ce3fa2a61a fix no js multiple selector 2023-07-11 10:08:52 +02:00
Éloi Rivard
813a9896df debug HTML global variable fix
So it considers the FLASK_DEBUG environment variable
2023-07-10 20:03:17 +02:00
Éloi Rivard
2da4c92d9e check command considers default backup values
at least until #138 is implement ...
2023-07-10 19:50:05 +02:00
Éloi Rivard
e37aab6cbc check command fix
the check command needs a backend context
2023-07-10 18:52:12 +02:00
Éloi Rivard
43d8f080bd check command fix
the application context was not needed in the unit tests,
but this would cause an exception in real installations
2023-07-10 18:45:54 +02:00
Éloi Rivard
e6a2c0b0ef conf: documentation flask version update 2023-07-10 18:36:21 +02:00
Éloi Rivard
20300c5be3 profile settings wording 2023-07-07 10:06:01 +02:00
Éloi Rivard
4715f643e2 Add a OIDC.REQUIRE_NONCE option to improve compatibility with clients 2023-07-06 17:57:17 +02:00
Éloi Rivard
5163b11b9a Updated DEFAULT_USER_FILTER 2023-07-04 19:18:09 +02:00
Éloi Rivard
fd66f86a72 USER_FILTER is parsed with jinja 2023-07-04 18:34:16 +02:00
gallegonovato
f19cc8a497
Translated using Weblate (Spanish)
Currently translated at 100.0% (333 of 333 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2023-07-04 16:53:25 +02:00
Éloi Rivard
10a0ecc090 Added an option to disable javascript 2023-07-03 23:26:39 +02:00
Ettore Atalan
17227ff978
Translated using Weblate (German)
Currently translated at 24.0% (80 of 333 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/de/
2023-07-02 10:52:39 +02:00
Éloi Rivard
626a94037c
Translated using Weblate (French)
Currently translated at 100.0% (333 of 333 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-07-02 10:52:39 +02:00
Éloi Rivard
5b521d6315 Fixed email previews 2023-07-01 20:02:53 +02:00
Éloi Rivard
1a0a8096eb Enable jinja2 strict mode in unit tests 2023-07-01 19:56:13 +02:00
Éloi Rivard
f7007544ec Fixed a variable on the token page 2023-07-01 19:08:56 +02:00
Éloi Rivard
4f42798e39 Refactored keypair management 2023-07-01 19:06:26 +02:00
Éloi Rivard
c30d2f7161 Moved config.sample directly in canaille 2023-07-01 18:08:01 +02:00
Hosted Weblate
a15419b2d4
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-06-30 18:41:27 +02:00
Éloi Rivard
c0cab39478 Updated translation catalogs 2023-06-30 18:41:09 +02:00
Éloi Rivard
2d80eb9ea9 Disabled HTMX boosting on OIDC forms to avoid errors. 2023-06-30 18:39:50 +02:00
Éloi Rivard
f686121f0d Wording 2023-06-30 18:12:14 +02:00
Éloi Rivard
4a3adf49f8 Fixed htmx initialisation 2023-06-30 18:12:14 +02:00
Éloi Rivard
7527443649 Fixed client deletion validation when the form would not validate 2023-06-30 18:12:14 +02:00
Éloi Rivard
021c1b3d11 Pagination pluralization 2023-06-30 18:12:13 +02:00
Éloi Rivard
fca92b7299 Correct plural labels for multiple fields 2023-06-30 17:39:35 +02:00
Éloi Rivard
966d361381 Restored login form customization
That was removed in 4217fc02
2023-06-30 16:22:04 +02:00
Éloi Rivard
860dc23a8b Fixed user list when users do not have a user_name 2023-06-30 10:22:12 +02:00
Éloi Rivard
ddc1085367 A template variable was misnamed 2023-06-30 10:19:39 +02:00