Commit graph

219 commits

Author SHA1 Message Date
É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
e44b2bf469
tests: fix CI 2024-05-03 22:35:57 +02:00
Éloi Rivard
16c3021a8f
refactor: Rename BaseBackend in Backend 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
8425b2a3b8
refactor: move BackendModel.query to Backend.query 2024-05-03 21:42:54 +02:00
Éloi Rivard
98b26ee6f3
fix: translatable f-string 2024-05-01 18:39:59 +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
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
9c86f5e9af
refactor: Use annotations to mark model attributes 2024-04-21 11:48:39 +02:00
Éloi Rivard
382dbcaf1a
feat: add 'autocomplete' tag on the password form 2024-04-17 12:36:39 +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
42dc023288
fix: display the menu bar on error pages 2024-04-09 22:06:08 +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
É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
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
Éloi Rivard
e9c4f4c1c9
refactor: differenciate between login and username in forms 2024-04-07 19:50:26 +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
1fbb074cc5
refactor: user permissions lazy loading 2024-04-07 15:21:32 +02:00
Éloi Rivard
945daee715
refactor: prefer typing.get_type_hints to __annotations__ 2024-04-06 23:22:38 +02:00
Éloi Rivard
fe809161ff
refactor: factorized User.load_permissions 2024-04-06 19:22:47 +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
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
fbd0d3029e
refactor: rename User read/write/permissions attributes 2024-04-01 14:59:56 +02:00
Éloi Rivard
642e6fcd3f
fix: use one single faker generator for fake groups generation 2024-03-31 00:12:56 +01:00
Éloi Rivard
7418d10efb
refactor: make User and Group directly inherit from Model 2024-03-30 18:48:03 +01:00
Éloi Rivard
f2dbda8c89
doc: fixed logging example 2024-03-30 11:40:05 +01:00
Éloi Rivard
4cd3d51de5
doc: fix LOGGING code snippet 2024-03-29 12:17:24 +01:00
Éloi Rivard
37d17b43aa
fix: python<3.10 union types 2024-03-29 10:56:21 +01:00
Éloi Rivard
8625318341
feat: use pydantic to validate the configuration 2024-03-28 17:44:26 +01:00
Éloi Rivard
bd003ec53d
fix: wording uniformization 2024-03-27 14:07:52 +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
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
395b6ab4f3
chore: add docformatter pre-commit 2023-12-28 18:31:57 +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
772a364128
fix: group field error prevented the registration form validation 2023-12-24 12:05:29 +01:00
Éloi Rivard
7fed235437
fix: redirection after password reset 2023-12-15 16:12: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
066aed7735
feat: convert the png in webp 2023-12-01 22:09:54 +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
4e380436d3
fix: disable HTMX boosting during the OIDC dance 2023-11-24 14:45:59 +01:00
Éloi Rivard
ff2ff68023
refactor: additional guards on user profile edition 2023-11-24 12:47:09 +01:00
Éloi Rivard
ac149a2120
fix: group name displaying 2023-11-24 11:47:09 +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
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
1fd8af2cf4
refactor: models attributes cardinality is closer to SCIM models 2023-11-17 21:21:25 +01:00
Éloi Rivard
e760c34942
feat: collapse the icon column in the list tables 2023-10-06 15:36:02 +02:00
Éloi Rivard
9c5ef421d0
fix: user deletion on instances without account lockability 2023-09-28 18:27:43 +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
c2e6158bf5
fix: use fomantic-ui equal width menu on submenus 2023-09-08 09:07:04 +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
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
c718f7b258
refactor: remove unnecessary htmx 1506 workarounds
fixes #143
2023-08-27 16:25:30 +02:00
Éloi Rivard
26f1a0fbc5
fix: use importlib instead of the deprecated pkg_resources 2023-08-26 16:50:01 +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
37c2a7d4de
refactor: joinform email validation in a separate method 2023-08-16 17:45:39 +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
É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
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
05a1ff21d1
fix: email address field translations 2023-08-08 14:26:46 +02:00
Éloi Rivard
fd24c704c0
feat: implement email verification 2023-08-06 11:58:16 +02:00