Éloi Rivard
|
f97dc3b2c6
|
CSRF protection everywhere
|
2023-03-28 20:30:29 +02:00 |
|
Éloi Rivard
|
98df762666
|
Fixed user uid and email unicity at creation
|
2023-03-27 23:16:32 +02:00 |
|
Éloi Rivard
|
7e0e0d6068
|
Profile edition refactoring
|
2023-03-22 08:52:00 +01:00 |
|
Éloi Rivard
|
bacbb9a3bb
|
Avoid to display flash messages twice when impersonating or sending a password initialization mail
|
2023-03-21 22:01:32 +01:00 |
|
Éloi Rivard
|
dd394391c8
|
Added last_modified and etag headers on the user photos
|
2023-03-18 01:29:04 +01:00 |
|
Éloi Rivard
|
61940844e6
|
Properly handle LDAP date timezones
|
2023-03-18 00:39:32 +01:00 |
|
Éloi Rivard
|
8e84b016da
|
Organization field support
|
2023-03-17 17:36:23 +01:00 |
|
Éloi Rivard
|
21fa7599ac
|
Revert "Avoid to use pkg_resources to get the version number"
This is not available with python 3.7
This reverts commit 053d39fb43 .
|
2023-03-16 23:16:55 +01:00 |
|
Éloi Rivard
|
053d39fb43
|
Avoid to use pkg_resources to get the version number
|
2023-03-16 23:10:20 +01:00 |
|
Éloi Rivard
|
24f0417460
|
Split the profile page in two
|
2023-03-16 18:45:35 +01:00 |
|
Éloi Rivard
|
5aad527454
|
Unit tests use WebTest .mustcontain method when possible
|
2023-03-16 16:25:14 +01:00 |
|
Éloi Rivard
|
fb1c6446fa
|
Users can only search other users based on the fields they can read or write
|
2023-03-12 19:04:39 +01:00 |
|
Éloi Rivard
|
3406428f13
|
Renamed group attributes to match SCIM naming convention
|
2023-03-11 12:54:27 +01:00 |
|
Éloi Rivard
|
971cf317c9
|
Used 'id' instead of 'dn'
|
2023-03-10 18:14:15 +01:00 |
|
Éloi Rivard
|
cf9b5c11a3
|
Dynamic tables with htmx
- Search is triggered with user inputs
- Page changes are triggered with clicks
|
2023-03-09 19:31:59 +01:00 |
|
Éloi Rivard
|
e5d968d4f5
|
Every list of items is paginated server-side.
|
2023-03-09 19:31:59 +01:00 |
|
Éloi Rivard
|
681c311d05
|
Forgotten password test improvement
Search for error messages in flashes instead of directly in the HTML.
|
2023-03-09 18:10:28 +01:00 |
|
Éloi Rivard
|
087ada53d1
|
Do not directly save objects in Group.all/remove_member
|
2023-03-09 10:50:05 +01:00 |
|
Éloi Rivard
|
5d9a41f18b
|
Delayed LDAPObject may and must initialization
|
2023-03-08 00:53:27 +01:00 |
|
Éloi Rivard
|
c5b11d2fb3
|
Merge LDAPObject.all and LDAPObject.filter in LDAPObject.query
|
2023-03-07 17:58:27 +01:00 |
|
Éloi Rivard
|
d345218557
|
Updated to flask-babel 3
|
2023-03-01 15:32:40 +01:00 |
|
Éloi Rivard
|
bb264fefa1
|
Avoid calls to ldap_object_attributes() outside the ldap_backend
module.
|
2023-01-22 20:08:25 +01:00 |
|
Éloi Rivard
|
9d44967cad
|
Wording and punctuation fixes
|
2023-01-15 09:31:44 +01:00 |
|
Éloi Rivard
|
415fe2dfa2
|
refactoring: moved a flask global variable in a blueprint
|
2022-12-29 02:18:41 +01:00 |
|
Éloi Rivard
|
32f6595c02
|
objectClass is not mandatory for User and Group creation
|
2022-12-29 00:29:26 +01:00 |
|
Éloi Rivard
|
1df1c89ea0
|
unit tests: user creation without password
|
2022-12-24 02:52:05 +01:00 |
|
Éloi Rivard
|
f71c3ce2da
|
unit tests: user photo access
|
2022-12-22 17:12:24 +01:00 |
|
Éloi Rivard
|
481da6a02d
|
first login page has its own forms
|
2022-12-21 00:20:20 +01:00 |
|
Éloi Rivard
|
ecc969e3d5
|
index page unit tests
|
2022-12-04 12:57:59 +01:00 |
|
Éloi Rivard
|
bb0daf34d7
|
LDAP 'preferredLanguage' attribute support
|
2022-11-20 22:52:47 +01:00 |
|
Éloi Rivard
|
c7df0cca32
|
profile edition: redirect after form submission to avoid double submissions
|
2022-11-16 18:19:24 +01:00 |
|
Éloi Rivard
|
8217d423ad
|
Added an option to disable self edition
|
2022-04-06 17:54:39 +02:00 |
|
Éloi Rivard
|
b7b6040a3e
|
Added an option to disable password recovery
|
2022-04-05 09:56:38 +02:00 |
|
Éloi Rivard
|
d597baa415
|
for better readability, set the flask aborts in their own conditionnal block
|
2022-04-04 17:52:05 +02:00 |
|
emillumine
|
f95bffadd6
|
remove 'available_groups' Group classmethod (replaced by already existing 'all' LDAPObject method)
|
2022-03-14 10:14:02 +01:00 |
|
emillumine
|
8d804616fd
|
add a 'all' utility class method to LDAPObject to retrieve all class instances
|
2022-03-14 10:03:05 +01:00 |
|
emillumine
|
da1b911172
|
set User.object_class and Group.object_class based on config when setting ldap models
permit filtering with object_class by default in User.filter() and Group.filter()
avoid having user/group base root in default filter results
|
2022-03-14 10:03:05 +01:00 |
|
emillumine
|
cd1d106248
|
set cn without leading space when user is created without given name
|
2022-03-14 10:03:05 +01:00 |
|
Camille
|
0db07fa36f
|
fix: groups are saved even when invited user does not have read permission on groups
|
2022-03-04 18:13:57 +01:00 |
|
Éloi Rivard
|
5a99a48831
|
Invited users can choose their uid
|
2022-01-01 18:41:04 +01:00 |
|
Camille
|
db1d011a3b
|
invitations expire after 48h
|
2022-01-01 10:56:48 +00:00 |
|
emillumine
|
05d4800f94
|
fix bug: groups were not saved on user creation
|
2021-12-22 16:09:03 +01:00 |
|
Éloi Rivard
|
50af2e3e72
|
pre-commit tox test
|
2021-12-20 23:57:27 +01:00 |
|
Éloi Rivard
|
f4c04d9666
|
Default configuration and test client use user avatars
|
2021-12-13 22:50:53 +01:00 |
|
Éloi Rivard
|
e83289b77b
|
Photo endpoint to avoid displaying pictures in base64
|
2021-12-12 15:55:00 +01:00 |
|
Éloi Rivard
|
18e4b0c42c
|
Documentation improvements
|
2021-12-12 15:38:32 +01:00 |
|
Éloi Rivard
|
0053369604
|
jpegPhoto profile form
|
2021-12-09 18:26:11 +01:00 |
|
Éloi Rivard
|
015d410fb6
|
ldaputils variable renaming
|
2021-12-08 15:06:57 +01:00 |
|
Éloi Rivard
|
247d1dbd55
|
user creation: fixed readonly fields
|
2021-12-08 10:11:15 +01:00 |
|
Éloi Rivard
|
6fa19b85a9
|
invitation: fixed default fields
|
2021-12-08 10:00:36 +01:00 |
|