Éloi Rivard
fa62c16768
Moved canaille.ldap_backend to canaille.backends.ldap
2023-04-18 20:22:55 +02:00
Éloi Rivard
c4676ec572
Update User group when save
is called
2023-04-17 18:43:43 +02:00
Éloi Rivard
4bfbeccc1c
Fixed empty models attributes registration
2023-04-13 18:02:20 +02:00
Éloi Rivard
65efece01e
Renamed LDAPObject.initialize in LDAPObject.install
2023-04-09 23:17:24 +02:00
Éloi Rivard
24f0417460
Split the profile page in two
2023-03-16 18:45:35 +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
822988536d
LDAPObject can have several objectClass
2023-03-11 19:46:12 +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
b29d125f09
Fixed client edition page
2023-03-09 23:09:44 +01:00
Éloi Rivard
fbf449edd6
LDAPObject fuzzy search
2023-03-09 19:31:59 +01:00
Éloi Rivard
091270df53
LDAPObject pagination performance improvements
...
Creates a LDAPObjectQuery class that is returned by LDAPObject.filter
This avoids to create objects for each ldap result, but only for the
asked slice. It also store the whole results length so `len` calls are
a bit faster.
2023-03-09 19:31:59 +01:00
Éloi Rivard
990c624c32
Save one LDAP connection when calling save()
2023-03-09 13:00:17 +01:00
Éloi Rivard
d0f6c341f3
LDAPObject refactoring
2023-03-09 01:14:07 +01:00
Éloi Rivard
53581404ab
LDAPObject dn attributes are automatically initialized
2023-03-08 23:53:53 +01:00
Éloi Rivard
d201d6f617
Lazy conversion of LDAP to python format for LDAPObject attributes
2023-03-08 18:54:27 +01:00
Éloi Rivard
0eaa5e1319
LDAPObject.query can take non string values
2023-03-08 18:50:34 +01:00
Éloi Rivard
7e42467bfc
Renamed LDAPObject.rdn in LDAPObject.rdn_attribute
2023-03-08 18:50:33 +01:00
Éloi Rivard
5d9a41f18b
Delayed LDAPObject may and must initialization
2023-03-08 00:53:27 +01:00
Éloi Rivard
84c10f8205
update_ldap_attributes is a classmethod
2023-03-07 18:05:00 +01:00
Éloi Rivard
c5b11d2fb3
Merge LDAPObject.all and LDAPObject.filter in LDAPObject.query
2023-03-07 17:58:27 +01:00
Éloi Rivard
cc65d78719
Renames LDAPObject.ldap in LDAPObject.ldap_connection
2023-03-07 17:55:32 +01:00
Éloi Rivard
333cbec201
LDAPObject __eq__ method checks if attributes exist
2023-03-07 17:42:46 +01:00
Éloi Rivard
0cdbcbc2fa
Removed debug prints
2023-01-30 20:01:22 +01:00
Éloi Rivard
b059e6e719
Client deletion also delete related objects
2023-01-30 19:58:25 +01:00
Éloi Rivard
e145a7acc8
Renamed LDAPObject 'id' attribute in 'rdn'
2023-01-24 18:32:44 +01:00
Éloi Rivard
019d99d89e
LDAPObject refactoring
2023-01-24 18:27:20 +01:00
Éloi Rivard
6e2659ac54
LDAPObject refactorings
...
filter sets the LDAP attributes in .attrs
__init__ sets the LDAP attributes in .changes
2023-01-24 18:00:25 +01:00
Éloi Rivard
a0f3e951dc
LDAPObject delayed self.may and self.must initializations
2023-01-24 17:56:25 +01:00
Éloi Rivard
6ebc74ccaa
LDAPObject assumes every LDAP attribute is a list
2023-01-24 17:54:11 +01:00
Éloi Rivard
4f23dd07df
Fixed a misnamed variable in LDAPObject
2023-01-22 22:58:18 +01:00
Éloi Rivard
b7eb995d4f
Reorderded LDAPObject methods
2023-01-22 20:29:33 +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
234eeacb6a
ldapobject: minor refactoring
2022-12-27 21:10:53 +01:00
Éloi Rivard
482f949c09
Fixed LDAP operational attributes handling
2022-12-15 12:41:31 +01:00
Éloi Rivard
eac4437351
unit tests: improved ldap utils coverage
2022-12-15 00:22:37 +01:00
Éloi Rivard
2773f1c34c
unit tests: ldap filter tests
2022-12-15 00:15:10 +01:00
Éloi Rivard
a621fc1163
unit tests: ldap utils
2022-12-15 00:03:01 +01:00
Éloi Rivard
42a0e3e3d8
extracted conversion utilities from LDAPObject class
2022-12-14 21:18:51 +01:00
Éloi Rivard
f9df8300ce
unit tests: ldap objects repr
2022-12-14 21:06:59 +01:00
Éloi Rivard
62b62b684f
Fixed client preconsent disabling
2022-11-16 17:36:16 +01:00
Éloi Rivard
239cf6bcc7
Refactored LDAPObject
...
- delete attributes when value is [None]
- ability to set attributes other than those contained in MAY and MUST
because some operational attributes does not appear in those
- Make python datetime.min match the minimum LDAP date
- Use enums to store LDAP syntaxes
2022-11-15 12:33:45 +01:00
Éloi Rivard
660b143b45
LDAPObject: fixed a bug in python <-> ldap attributes conversion.
...
This should fix the CI.
2022-11-14 18:15:34 +01:00
Éloi Rivard
791e2c8362
LDAP backends loads the operational attributes when it reads an object in the directory
2022-11-01 21:05:36 +01:00
emillumine
ffd85e5ee0
remove commented code
2022-03-14 10:03:05 +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
653e79d7a8
fix dn in case of leading space or special char in id attribute
...
according to openldap doc, the default is to silently eliminate spaces around AVA separators, RDN component separators and RDN separators
https://www.openldap.org/software/man.cgi?query=ldap_str2dn
2022-03-14 10:03:05 +01:00
Éloi Rivard
a74d68aee1
AuthorizationCode and Token have a new id parameter
2022-02-16 18:00:30 +01:00
Éloi Rivard
1d0f1e2f24
LdapObject an have attribute name different than the schema
2022-01-18 18:04:25 +01:00