Commit graph

171 commits

Author SHA1 Message Date
É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
É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
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
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
f5af3e7a0c split long lines 2023-07-12 11:59:57 +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
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
7ff2360174 send reset emails to all the user emails 2023-06-29 17:47:01 +02:00
Éloi Rivard
3ecb8b4722 Implements a flask Group converter 2023-06-29 15:55:39 +02:00
Éloi Rivard
f504bb3a66 Implements a flask User converter 2023-06-29 15:55:39 +02:00
Éloi Rivard
57af18d557 Use a unique identifier to indentify users in URLS
Previously we used the uid since we supposed this value was always
valid, but some users user the mail attribute as the User RDN in their
OpenLDAP installation, and do not have a uuid.
2023-06-29 15:55:39 +02:00
Éloi Rivard
df34b1462d Flat is better than nested 2023-06-28 16:11:30 +02:00
Éloi Rivard
4eda4f6c99 inline validation keep the profile indicator icons 2023-06-28 15:42:35 +02:00
Éloi Rivard
0342e30ec0 Fixed strings inadvertently refactored 2023-06-22 18:12:54 +02:00
Éloi Rivard
b7e1590510 User emails and phone numbers are now multiple 2023-06-22 17:55:26 +02:00
Éloi Rivard
42730f72d3 Fixed email unicity check 2023-06-22 16:41:35 +02:00
Éloi Rivard
361fda0386 Renamed User.phone_number in User.phone_numbers 2023-06-22 15:33:03 +02:00
Éloi Rivard
b5bd497d0e Implemented User.preferred_email 2023-06-22 15:24:13 +02:00
Éloi Rivard
371f806695 Renamed User.email in User.emails 2023-06-22 15:15:46 +02:00
Denise
d553d23ef3 Merge branch canaille:main into main 2023-06-12 13:36:07 +00:00
Éloi Rivard
23e9e7e71a Renamed Backend in BaseBackend 2023-06-05 18:10:37 +02:00
Denise Bitca
c89bb48499 fix up style, attempt at fixing registration redirection bug 2023-06-05 10:38:24 +02:00
Denise Bitca
12a1119f99 fix up style 2023-06-05 10:37:19 +02:00
Denise
db72597cc0 Merge branch canaille:main into main 2023-06-05 07:34:49 +00:00
Éloi Rivard
c7f23e845c datetime-local input fields are transformed in UTC server-side 2023-06-01 13:53:32 +02:00
Éloi Rivard
e20fb23e6f typo 'successfuly' -> 'successfully' 2023-05-30 09:44:11 +02:00
Denise Bitca
4beee2adcb add(#1, #2, #4, #7): implemented registration within canaille 2023-05-29 15:58:30 +02:00
Denise Bitca
212358aaf3 add(#5): add method to send a "continue registration" email 2023-05-29 15:54:47 +02:00
Denise Bitca
49a7a70cc3 Merge branch 'main' of gitlab.com:yaal/canaille 2023-05-29 13:58:44 +02:00
Éloi Rivard
38ee26db83 refactored User locking mechanism 2023-05-26 17:48:50 +02:00
Éloi Rivard
17c2f7a5cd Implemented LDAP ppolicy support. 2023-05-26 15:23:43 +02:00
Éloi Rivard
8b68a862bf Profile settings edition redirects to the same page 2023-05-24 14:12:32 +02:00
Éloi Rivard
a92542cd81 Moved models specificities in the backend module 2023-05-20 21:24:14 +02:00
Éloi Rivard
a9f9eab5a4 password minimum length is not a magic constant anymore 2023-05-20 20:46:39 +02:00
Éloi Rivard
c75108344b Moved login placeholder mechanism in the backend module 2023-05-20 20:07:40 +02:00
Éloi Rivard
c1d1706007 Moved every model import to canaille.models 2023-05-20 20:02:00 +02:00
Éloi Rivard
6f637b8129 Refactored the unit test backend fixtures 2023-05-20 17:17:46 +02:00
Éloi Rivard
0c5a559bba Ensures User.formatted_name is correctly formatted when parts are missing 2023-05-17 16:18:35 +02:00
Éloi Rivard
be78b50e97 Removed User.authenticate method 2023-05-17 12:48:14 +02:00
Éloi Rivard
01c1ae4eef Rename LDAPObject.attrs to state 2023-05-16 15:48:05 +02:00
Éloi Rivard
26dc4d425c Display password recovery button on OIDC login page 2023-05-15 18:06:22 +02:00
Éloi Rivard
8162bd3e24 Fixes calls to the LDAP 'Group.member' attribute 2023-05-13 00:24:24 +02:00
Éloi Rivard
bace94b1f5 Explicit Group.get attributes 2023-05-13 00:19:32 +02:00
Éloi Rivard
ad388d2fac Fixes a call to the LDAP 'cn' attribute 2023-05-12 20:36:38 +02:00
Éloi Rivard
8f8ac5f31b Fixes a call to the LDAP 'uid' attribute 2023-05-12 19:53:06 +02:00