Commit graph

49 commits

Author SHA1 Message Date
É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
Renamed from canaille/ldaputils.py (Browse further)