Commit graph

845 commits

Author SHA1 Message Date
É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
b839fa76d9 Mail admin message wording 2023-03-16 20:15:44 +01:00
Éloi Rivard
f09db3646a Avoid carriage returns in HTML head title tag 2023-03-16 19:43:06 +01:00
Éloi Rivard
191f48a4e1
Translated using Weblate (French)
Currently translated at 100.0% (313 of 313 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-03-16 19:42:47 +01:00
Hosted Weblate
91b74a9479
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/
2023-03-16 19:17:48 +01:00
Éloi Rivard
ccbe8a35c6
Translated using Weblate (French)
Currently translated at 100.0% (309 of 309 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-03-16 19:17:47 +01:00
Éloi Rivard
e1c4951639 Updated language catalogs 2023-03-16 19:17:11 +01:00
Éloi Rivard
24f0417460 Split the profile page in two 2023-03-16 18:45:35 +01:00
Éloi Rivard
7e7a1427e5 Form field descriptions are displayed as tooltips 2023-03-16 18:45:35 +01:00
Éloi Rivard
93e159c6cb Use fomantic ui popups to quicken the apparition of 'title' tooltips 2023-03-16 18:45:35 +01:00
Éloi Rivard
0f93029d2a Split the consent page in two 2023-03-16 18:45:35 +01:00
Éloi Rivard
69c67345c2 Introduced a submenu 2023-03-16 18:45:34 +01:00
Éloi Rivard
3ef07a955b Make sure the input HTML class names are displayed in one line 2023-03-16 16:32:37 +01:00
Hosted Weblate
57d0f128b4
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/
2023-03-16 16:26:14 +01:00
Éloi Rivard
5aad527454 Unit tests use WebTest .mustcontain method when possible 2023-03-16 16:25:14 +01:00
Éloi Rivard
94af1744ba pre-commit update 2023-03-14 12:08:37 +01:00
Éloi Rivard
4742ea3ce7 Fixed links in the autorization list admin page 2023-03-13 15:59:22 +01:00
Éloi Rivard
7d5b5ab723 title was a TelField 2023-03-13 13:47:15 +01:00
Éloi Rivard
7eef2748f2 Faker is not imported anymore when the clean command is called 2023-03-13 09:46:17 +01:00
Éloi Rivard
dfb26d087f
Translated using Weblate (French)
Currently translated at 100.0% (309 of 309 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-03-12 23:35:25 +01:00
gallegonovato
f8b94a98cc
Translated using Weblate (Spanish)
Currently translated at 100.0% (309 of 309 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2023-03-12 23:35:25 +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
705150942e Populate ignore unicity errors if launched several times in a row 2023-03-12 17:42:32 +01:00
Éloi Rivard
fa74812044 Fixed populate command uniqueness 2023-03-12 17:31:59 +01:00
Éloi Rivard
c91801df76 Sort the languages dropdown alphabetically 2023-03-12 16:55:28 +01:00
Éloi Rivard
09b399a4c0 Translation README 2023-03-12 10:45:42 +01:00
Hosted Weblate
4871273449
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/
2023-03-12 10:42:35 +01:00
Éloi Rivard
bbf7eaac98 Suggest uid as the default user identifier in the sample configuration 2023-03-11 22:49:04 +01:00
Éloi Rivard
ae7feb3e60 Fixed region placeholder 2023-03-11 22:37:53 +01:00
Éloi Rivard
a07b51c2d8
Translated using Weblate (French)
Currently translated at 100.0% (306 of 306 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-03-11 22:35:00 +01:00
Éloi Rivard
2c4c3fb37e Title edition support 2023-03-11 22:34:29 +01:00
Éloi Rivard
0e6a6ee943 Updated language catalogs 2023-03-11 20:14:37 +01:00
Éloi Rivard
7237561ba7
Translated using Weblate (French)
Currently translated at 100.0% (300 of 300 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-03-11 20:13:39 +01:00
gallegonovato
ce82186a29
Translated using Weblate (Spanish)
Currently translated at 100.0% (300 of 300 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2023-03-11 20:13:39 +01:00
Éloi Rivard
4170242073 Address edition support (but not in the OIDC claims yet) 2023-03-11 20:12:50 +01:00
Éloi Rivard
822988536d LDAPObject can have several objectClass 2023-03-11 19:46:12 +01:00
Éloi Rivard
402e60325c departmentNumber edition support #129 2023-03-11 12:55:03 +01:00
Éloi Rivard
7c01158e44 More LDAP syntax definitions 2023-03-11 12:54:27 +01:00
Éloi Rivard
3406428f13 Renamed group attributes to match SCIM naming convention 2023-03-11 12:54:27 +01:00
gallegonovato
41edb53ff4
Translated using Weblate (Spanish)
Currently translated at 100.0% (299 of 299 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2023-03-11 11:37:34 +01:00
Éloi Rivard
971cf317c9 Used 'id' instead of 'dn' 2023-03-10 18:14:15 +01:00
Éloi Rivard
fafe47e69d Page titles 2023-03-10 01:02:36 +01:00
Éloi Rivard
31111b64e2 Dash in the title 2023-03-10 00:48:40 +01:00
Éloi Rivard
7918641e22 Consent cn alias, again 2023-03-10 00:40:16 +01:00
Éloi Rivard
e802e3d5e2 Consent cn alias 2023-03-10 00:38:16 +01:00
Éloi Rivard
0e81177151 Table search button partially reloads the table 2023-03-09 23:11:39 +01:00
Éloi Rivard
b29d125f09 Fixed client edition page 2023-03-09 23:09:44 +01:00
Éloi Rivard
f5b97ddbca
Translated using Weblate (French)
Currently translated at 100.0% (299 of 299 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-03-09 23:06:10 +01:00
Éloi Rivard
ff69d9ddb2 Updated language catalogs 2023-03-09 21:01:29 +01:00
Éloi Rivard
3d37073f18 Fixed unit tests 2023-03-09 20:58:45 +01:00
Éloi Rivard
a32e92d3d9 Added headers to tables 2023-03-09 20:34:57 +01:00
Éloi Rivard
246d0d25e5 Translatable strings extraction 2023-03-09 19:33:28 +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
2d0c58c3e3 Added htmx dependency 2023-03-09 19:31:59 +01:00
Éloi Rivard
46a346a0d0 Table search implementation 2023-03-09 19:31:59 +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
e5d968d4f5 Every list of items is paginated server-side. 2023-03-09 19:31:59 +01:00
Éloi Rivard
480b085db3 User list template refactoring 2023-03-09 19:31:59 +01:00
Éloi Rivard
5549558366 Removed datatables 2023-03-09 19:31:59 +01:00
Éloi Rivard
52e0cd3615 Translatable strings extraction 2023-03-09 19:31:51 +01:00
Éloi Rivard
cfb67ed89b Add HTML table tags 2023-03-09 18:34:36 +01:00
Éloi Rivard
36cc47e40d Moved jinja macros in their own directory 2023-03-09 18:10:28 +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
8b3781f73f Fixed missing HTML translation 2023-03-09 17:28:09 +01:00
Éloi Rivard
990c624c32 Save one LDAP connection when calling save() 2023-03-09 13:00:17 +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
21ab633b2f Consent list: fixed display for locales with long translations 2023-03-09 09:29:04 +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
edd7873cea Fixed unit tests coverage 2023-03-07 20:10:21 +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
d345218557 Updated to flask-babel 3 2023-03-01 15:32:40 +01:00
Éloi Rivard
a57c86cc2c SMTP SSL fixes 2023-02-28 10:07:08 +01:00
Wang Wenlin
4fa09b3a70 Enable SSL SMTP 2023-02-28 08:53:47 +00:00
Éloi Rivard
b9704ce8f1 Split populate logics in its own file 2023-02-26 22:21:55 +01:00
Jesús Pérez Rey (Chuso)
dbddfae33b
Add Galician datatables translation.
Signed-off-by: Jesús Pérez Rey (Chuso) <git@chuso.net>
2023-02-26 21:22:17 +01:00
Éloi Rivard
2c2797fbad A populate command can be used to fill the database with random users generated with faker. 2023-02-26 19:48:07 +01:00
Éloi Rivard
b5b6331aea i18n refactorization 2023-02-26 18:21:06 +01:00
Jesús P Rey
f7dc7b1186
Translated using Weblate (Galician)
Currently translated at 100.0% (290 of 290 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/gl/
2023-02-19 23:35:58 +01:00
Jesús P Rey
38ae55a00d
Translated using Weblate (Galician)
Currently translated at 100.0% (290 of 290 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/gl/
2023-02-18 23:08:29 +01:00
Jesús P Rey
537d42d73d
Added translation using Weblate (Galician) 2023-02-18 21:24:23 +01:00
Éloi Rivard
ceeb6c1393
Translated using Weblate (French)
Currently translated at 100.0% (290 of 290 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-02-16 15:37:39 +01:00
gallegonovato
907175717e
Translated using Weblate (Spanish)
Currently translated at 100.0% (290 of 290 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2023-02-16 15:37:39 +01:00
Éloi Rivard
8b4d5eb247 This is too soon for the walrus operator 2023-02-14 22:06:03 +01:00
Éloi Rivard
c51022d383 Updated translation files 2023-02-14 22:04:59 +01:00
Éloi Rivard
7458868f77 Pre-consented clients are displayed in the user consent list, and their consents can be revoked. 2023-02-14 21:56:47 +01:00
Éloi Rivard
d551b1ab35 Revoked consents can be restored 2023-02-14 19:05:43 +01:00
Éloi Rivard
a96518ef9c Display TOS and policy URI on the consent list page 2023-02-14 13:51:59 +01:00
Éloi Rivard
896e9cca03
Translated using Weblate (French)
Currently translated at 100.0% (288 of 288 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-02-11 15:35:33 +01:00
gallegonovato
51bb584d55
Translated using Weblate (Spanish)
Currently translated at 100.0% (280 of 280 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2023-02-11 15:35:32 +01:00
Éloi Rivard
daffdc03b1
Translated using Weblate (French)
Currently translated at 100.0% (269 of 269 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-02-10 09:54:04 +01:00
Éloi Rivard
f43575206a Use unicode suspension points 2023-02-10 09:53:26 +01:00
Éloi Rivard
2eb777a3ca Implements admin token deletion 2023-02-04 19:00:16 +01:00
Éloi Rivard
ddea98bff9
Translated using Weblate (French)
Currently translated at 100.0% (275 of 275 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-02-04 18:53:26 +01:00
gallegonovato
ef98cb52a8
Translated using Weblate (Spanish)
Currently translated at 100.0% (275 of 275 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2023-02-04 18:53:25 +01:00
Éloi Rivard
3359b51d9b Implements admin token deletion 2023-02-04 18:41:49 +01:00
Éloi Rivard
3ac7a8013f Punctuation uniformization 2023-02-03 18:49:44 +01:00
Éloi Rivard
b94c5b468c Reworked admin token page 2023-02-03 18:44:09 +01:00
gallegonovato
b45801268f
Translated using Weblate (Spanish)
Currently translated at 100.0% (275 of 275 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/es/
2023-02-03 18:06:35 +01:00
Allan Nordhøy
40725b8e00
Translated using Weblate (Norwegian Bokmål)
Currently translated at 64.0% (176 of 275 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/nb_NO/
2023-02-03 18:06:35 +01:00
Allan Nordhøy
5b7e6aa5a5
Translated using Weblate (Norwegian Bokmål)
Currently translated at 58.5% (161 of 275 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/nb_NO/
2023-02-03 18:06:35 +01:00
Allan Nordhøy
6982cf80e1
Translated using Weblate (Norwegian Bokmål)
Currently translated at 39.2% (108 of 275 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/nb_NO/
2023-02-03 18:06:35 +01:00
Allan Nordhøy
7367aeecb0
Translated using Weblate (Norwegian Bokmål)
Currently translated at 4.0% (11 of 275 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/nb_NO/
2023-02-03 18:06:35 +01:00
Allan Nordhøy
fccbe00c8a
Translated using Weblate (Norwegian Bokmål)
Currently translated at 3.6% (10 of 275 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/nb_NO/
2023-02-03 18:06:35 +01:00
J. Lavoie
a9c444e0b8
Translated using Weblate (German)
Currently translated at 17.0% (47 of 275 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/de/
2023-02-03 18:06:34 +01:00
J. Lavoie
f98618d351
Translated using Weblate (French)
Currently translated at 100.0% (275 of 275 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-02-03 18:06:34 +01:00
Allan Nordhøy
514f84ba97
Added translation using Weblate (Norwegian Bokmål) 2023-02-03 18:06:34 +01:00
J. Lavoie
ad6dfca154
Translated using Weblate (French)
Currently translated at 100.0% (275 of 275 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-02-03 18:06:34 +01:00
J. Lavoie
89d4282f62
Added translation using Weblate (German) 2023-02-03 18:06:34 +01:00
Éloi Rivard
75bca52050 Merge branch 'kingu-main-patch-85823' into 'main'
Shortened profile strings

See merge request yaal/canaille!99
2023-01-31 08:25:23 +00:00
Allan Nordhøy
21d8c1b2bf Shortened profile strings 2023-01-31 01:06:06 +00:00
Éloi Rivard
0cdbcbc2fa Removed debug prints 2023-01-30 20:01:22 +01:00
Éloi Rivard
08420559ad Merge branch 'issue-126-client-deletion' into 'main'
Client deletion also delete related objects

Closes #126

See merge request yaal/canaille!98
2023-01-30 18:59:16 +00:00
Éloi Rivard
b059e6e719 Client deletion also delete related objects 2023-01-30 19:58:25 +01:00
Allan Nordhøy
cfb5b219dc Spelling: About Canaille 2023-01-30 18:56:58 +00:00
Allan Nordhøy
2c0b2e8114 Spelling: logged in as 2023-01-30 16:17:26 +00:00
Éloi Rivard
947f620ec3 Fixed client uri in consent list 2023-01-29 03:06:26 +01:00
Éloi Rivard
791ddbed32
Translated using Weblate (French)
Currently translated at 100.0% (275 of 275 strings)

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/fr/
2023-01-28 20:00:32 +01:00
Éloi Rivard
3be937c286 Fix coverage 2023-01-28 18:35:39 +01:00
Éloi Rivard
63f927830a Fixed dynamic client registration scope management 2023-01-28 14:04:04 +01:00
Éloi Rivard
02f03685de Added FAX_IMAGE to the LDAP syntax list 2023-01-24 22:33:59 +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
c470e7f134 Explicitely set Consent cn 2023-01-23 18:55:27 +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
47fff4c6ed Automatically trims the HTML translated strings 2023-01-22 13:45:59 +01:00
Éloi Rivard
b99f739922 Removed unused fomanticui theme 2023-01-22 13:10:00 +01:00
Éloi Rivard
aa087112b6 Updated to datatables 1.13.1 2023-01-22 13:04:24 +01:00
Éloi Rivard
75b339d0ae Updated to jquery 3.6.3 2023-01-22 12:59:11 +01:00
Éloi Rivard
ecaf8f84d9 Updated to fomantic-ui 2.9.1 2023-01-22 12:57:17 +01:00
Éloi Rivard
acd54e4afb Dedicated connectivity test email 2023-01-22 12:49:15 +01:00
Jesús Pérez Rey (Chuso)
e347a6d476
Add datatables translations.
Signed-off-by: Jesús Pérez Rey (Chuso) <git@chuso.net>
2023-01-18 20:01:56 +01:00
Éloi Rivard
ba83ab0a20 Merge branch 'html-locale' into 'main'
Set the correct locale in the HTML main tag.

Closes #122

See merge request yaal/canaille!87
2023-01-18 17:08:24 +00:00
Éloi Rivard
d7c84079e3 Set the correct locale in the HTML main tag. 2023-01-18 18:02:18 +01:00
Éloi Rivard
9d44967cad Wording and punctuation fixes 2023-01-15 09:31:44 +01:00
Éloi Rivard
34abb5bea9 Merge branch 'typos' into 'main'
Fix typos and grammar errors.

See merge request yaal/canaille!84
2023-01-15 08:15:44 +00:00
Jesús Pérez Rey (Chuso)
9a17923cea
Add Spanish translation. 2023-01-14 20:45:32 +01:00
Jesús Pérez Rey (Chuso)
21c497da54
Fix typos and grammar errors. 2023-01-14 20:16:01 +01:00
Éloi Rivard
d8bcb0bdf0 Ensures the token expires_in claim and the access_token exp claim have the same value. 2023-01-14 14:59:13 +01:00
Éloi Rivard
415fe2dfa2 refactoring: moved a flask global variable in a blueprint 2022-12-29 02:18:41 +01:00
Éloi Rivard
292c47afed debug environment only creates keypair if needed 2022-12-29 02:14:40 +01:00
Éloi Rivard
7cb2da3ca3 refactoring: start to split the canaille installation between submodules 2022-12-29 02:11:56 +01:00
Éloi Rivard
ab517f4fc0 refactoring: use Group.name when possible 2022-12-29 01:27:22 +01:00
Éloi Rivard
cae49fcec9 avoid ldap related session variable names 2022-12-29 01:10:07 +01:00
Éloi Rivard
cd1d0a30d5 added 'autoflake' to the precommit tool list 2022-12-29 00:41:32 +01:00
Éloi Rivard
b65d822e5c objectClass is not mandatory anymore for Group creation 2022-12-29 00:33:15 +01:00
Éloi Rivard
32f6595c02 objectClass is not mandatory for User and Group creation 2022-12-29 00:29:26 +01:00
Éloi Rivard
7274f9cc02 fixed the consent list and authorization pages translations 2022-12-28 01:46:05 +01:00
Éloi Rivard
b84ce2f50b homepage: wording 2022-12-28 01:06:42 +01:00
Éloi Rivard
08769f8c07 login page: automatically focuses the input field 2022-12-28 00:51:23 +01:00
Éloi Rivard
b0534896b5 Improved flash messages display on the homepage 2022-12-28 00:45:34 +01:00
Éloi Rivard
f89d45a3e7 Removed unused template 2022-12-28 00:26:25 +01:00
Éloi Rivard
64ac2af981 Merge branch 'endsession-bugfix' into 'main'
OIDC end_session was not returning the `state` parameter in the `post_logout_redirect_uri`

See merge request yaal/canaille!82
2022-12-27 21:16:52 +00:00
Éloi Rivard
1efe6c8879 coverage: ignore some teardown branching 2022-12-27 22:16:21 +01:00
Éloi Rivard
70f0941278 refactoring: removed a guard to increase coverage 2022-12-27 22:02:06 +01:00
Éloi Rivard
5793a73801 OIDC end_session was not returning the state parameter in the post_logout_redirect_uri 2022-12-27 21:48:44 +01:00
Éloi Rivard
630d602a7a groups minor refactoring 2022-12-27 21:32:21 +01:00
Éloi Rivard
234eeacb6a ldapobject: minor refactoring 2022-12-27 21:10:53 +01:00
Éloi Rivard
45246c25aa removed useless guards for LDAP timeout 2022-12-27 20:25:59 +01:00
Éloi Rivard
69da0b83ce unit tests: SMTP connection with bad TLS configuration 2022-12-27 18:48:55 +01:00
Éloi Rivard
b74c2d1497 refactoring: moved mail related functions into mail.py 2022-12-24 03:06:44 +01:00
Éloi Rivard
1df1c89ea0 unit tests: user creation without password 2022-12-24 02:52:05 +01:00
Éloi Rivard
ca2d3de83b Moved the OIDC configuration in the oidc test subdir conftest.py 2022-12-24 02:06:28 +01:00
Éloi Rivard
6ec2f183fd removed unused import 2022-12-24 02:03:37 +01:00
Éloi Rivard
19793fe8aa unit tests: userinfo 2022-12-24 01:44:16 +01:00
Éloi Rivard
f71c3ce2da unit tests: user photo access 2022-12-22 17:12:24 +01:00
Éloi Rivard
ae87a61f74 unit tests: first login mail success and error 2022-12-21 21:52:01 +01:00
Éloi Rivard
481da6a02d first login page has its own forms 2022-12-21 00:20:20 +01:00
Éloi Rivard
7fbe544b15 unit tests: check logo presence in mails 2022-12-20 19:45:04 +01:00
Éloi Rivard
e59ab27837 unit tests: app configuration paths 2022-12-16 22:33:09 +01:00
Éloi Rivard
6c41c2a196 unit tests: tested logging to a file 2022-12-16 22:14:46 +01:00
Éloi Rivard
41642f68c6 prevent lazy_gettext execution in unwanted contexts 2022-12-16 19:28:13 +01:00
Camille Daniel
7e71789fad fix post requests in oidc clients views
flash and lazygettext were causing an unexpected bug on post (not get) requests
2022-12-16 19:15:50 +01:00
Éloi Rivard
f086bcd7da Stop caching server metadata 2022-12-15 23:00:58 +01:00
Éloi Rivard
54f63b427d Merge branch 'group-deletion-button' into 'main'
Fixed group deletion button

See merge request yaal/canaille!80
2022-12-15 15:51:20 +00:00
Éloi Rivard
482f949c09 Fixed LDAP operational attributes handling 2022-12-15 12:41:31 +01:00
Éloi Rivard
7c6fd25524 Add nonce to the claims_supported server metadata list 2022-12-15 11:59:00 +01:00
Éloi Rivard
a39e76ee08 fix User and Group base dn 2022-12-15 11:53:51 +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
e478034b81 unit tests: client admin deletion 2022-12-13 19:14:25 +01:00
Éloi Rivard
fda205cbf5 ldap_backend: improved coverage 2022-12-13 19:04:33 +01:00
Éloi Rivard
dab82e6466 Removed unnecessary try/except blocks 2022-12-13 18:53:29 +01:00
Éloi Rivard
0440a7ba6e Fixed group deletion button 2022-12-13 18:24:26 +01:00
Éloi Rivard
9a3363a17f unit tests: improved flaskutils coverage 2022-12-11 22:49:32 +01:00
Éloi Rivard
118af82409 Fixes an authlib jwk warning 2022-12-11 22:27:54 +01:00
Éloi Rivard
c02ea791be removed unused method in the oauth authorization class 2022-12-10 21:18:17 +01:00
Éloi Rivard
449231abbe unit tests: improved token introspection coverage 2022-12-10 21:10:18 +01:00
Éloi Rivard
812d04a571 unit tests: improved token revokation coverage 2022-12-10 21:02:51 +01:00
Éloi Rivard
6875d0c15e Session vars are always lists 2022-12-10 20:47:47 +01:00
Éloi Rivard
8932b390ba test consent removal with arleady revoked tokens 2022-12-10 11:24:53 +01:00
Éloi Rivard
fa3d51e32b removed unused method in the client model 2022-12-10 11:00:16 +01:00
Éloi Rivard
164d228980 Ignore untestable blocks 2022-12-10 01:11:33 +01:00
Éloi Rivard
1b53304940 Updated 'users' menu icon 2022-12-10 00:58:09 +01:00
Éloi Rivard
a3418de239 Implemented RFC7592 OAuth Client Registration Management 2022-12-10 00:22:25 +01:00
Éloi Rivard
edbd98e9d2 unit tests: better admin mail debugger testing
There was no test that covered the case where there is an issue when
sending the debug email.
2022-12-04 17:15:54 +01:00
Éloi Rivard
ecc969e3d5 index page unit tests 2022-12-04 12:57:59 +01:00
Éloi Rivard
4cb577839a client admin: fixed client URI display on client list 2022-12-04 12:01:10 +01:00
Éloi Rivard
a9240aa189 Updated translations 2022-12-04 11:56:51 +01:00
Éloi Rivard
9bf9c43677 Demo displays user preferred locale 2022-12-04 11:53:37 +01:00
Éloi Rivard
9e75ef3478 Users can choose their favourite display name 2022-12-02 18:48:21 +01:00
Éloi Rivard
f6f9509222 about page: link to pypi.org 2022-11-20 23:18:49 +01:00
Éloi Rivard
07ed17376f Removed timezone block
Since this is not supported at the moment.
2022-11-20 23:12:55 +01:00
Éloi Rivard
bb0daf34d7 LDAP 'preferredLanguage' attribute support 2022-11-20 22:52:47 +01:00
Éloi Rivard
2a018510d8 unit tests: ignore sentry blocks in coverage 2022-11-20 22:34:05 +01:00
Éloi Rivard
77ae9df2a9 Issuer 'ISS' configuration option is not mandatory anymore 2022-11-17 18:10:40 +01:00
Éloi Rivard
154ec9fcd2 FROM_ADDR configuration option is not mandatory anymore 2022-11-16 19:26:33 +01:00
Éloi Rivard
0ae12cedd6 client admin: use stackable buttons 2022-11-16 18:23:06 +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
32a626ee4b group admin: redirect after form submission to avoid double submissions 2022-11-16 17:55:24 +01:00
Éloi Rivard
be4a51d72a client admin: redirect after form submission to avoid double submissions 2022-11-16 17:50:38 +01:00
Éloi Rivard
93e5fbc5d0 client admin: use toggle box for the 'preconsent' field 2022-11-16 17:42:14 +01:00
Éloi Rivard
62b62b684f Fixed client preconsent disabling 2022-11-16 17:36:16 +01:00
Éloi Rivard
e3028f375c Dynamically generate the server metadata.
OAUTH2 and OIDC server metadata are now dynamically generated.
2022-11-16 10:20:32 +01:00
Éloi Rivard
ba88f8e44a rfc7591: fixed software statement support 2022-11-15 19:04:42 +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
14ae18c48a profile modal refactoring 2022-11-15 12:27:09 +01:00
Laurent GAY
9ca52d9f33 correction about installation of ldif in LDAP 2022-11-15 12:13:49 +01:00
Laurent GAY
44055f9469 CSS with customize logo 2022-11-15 11:44:54 +01:00
Laurent GAY
b7bd7fe643 Client: client_secret not show -> bad attribut name 2022-11-14 18:22:37 +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
221f4615e3 Added a CSS so the profile password initialization box is always displayed. 2022-11-09 18:03:28 +01:00
Éloi Rivard
1946f283fc Added 'code_challenge_methods_supported' in well-known configuration 2022-11-06 17:13:12 +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
Éloi Rivard
bbd4a3e92e Fixed a typo 2022-11-01 18:15:17 +01:00
Éloi Rivard
4163d2eb13 Stop using the deprecated FLASK_ENV environment variable 2022-11-01 12:56:07 +01:00
Éloi Rivard
fdb8714094 Fixed a bug happening during RP initiated logout on clients without post_logout_redirect_uri defined 2022-10-26 18:09:02 +02:00
Éloi Rivard
6facd248a9 Fixed a bug on the contacts field in the admin client form following the LDAP schema update of 0.0.12 2022-10-26 17:44:50 +02:00
Éloi Rivard
5d5b0a411c Removed an unused permission 2022-10-24 10:30:08 +02:00
Éloi Rivard
4f729caf2e Implemented dynamic client registration 2022-10-24 10:00:32 +02:00
Éloi Rivard
659efaf7ef Variable renaming 2022-10-21 17:03:38 +02:00
Éloi Rivard
6ee9929f6b Fixed style 2022-10-14 09:36:08 +02:00
Éloi Rivard
00ffffeef5 Bumped to FomanticUI 2.9.0 2022-10-10 09:55:44 +02:00
Éloi Rivard
77aff593d4 Refactoring: file renaming 2022-10-06 13:32:41 +02:00
Éloi Rivard
0584cad0f5 Fixed well_known URLs 2022-10-03 19:32:39 +02:00
Éloi Rivard
e45ad6e21c Implemented a basic WebFinger endpoint. 2022-10-03 18:42:08 +02:00
Éloi Rivard
28adc08795 Commands does not executed ldap setup and teardown in testing context 2022-10-03 13:25:13 +02:00
Éloi Rivard
c14cd90ad3 Fixed CI 2022-08-01 09:54:53 +02:00
Funelie
b5e8e6cf2a editing dropdown color 2022-08-01 09:51:23 +02:00
Funelie
07f7ffb6ff fixing tags color in tables 2022-08-01 09:07:27 +02:00
Funelie
8580ca8e6f message cards and contrast editing 2022-07-29 15:50:01 +02:00
Funelie
6390266203 Added built in CSS dark theme 2022-07-29 15:35:38 +02:00
Éloi Rivard
d0962a9a8d Removed a debug print 2022-07-27 17:56:16 +02:00
Éloi Rivard
db0fd2d8ba Fixed end-session when user are already disconnected 2022-07-07 16:28:28 +02:00
Éloi Rivard
21a2c306ac Client only return the asked scopes 2022-07-07 16:11:25 +02:00
Éloi Rivard
c8281969d8 Added support for a postalAddress field 2022-07-07 14:46:02 +02:00
Éloi Rivard
bd053c1d38 Updated pre-commit 2022-06-30 11:18:37 +02:00
Éloi Rivard
b0926f2216 Updated canaille homepage to canaille.yaal.coop 2022-06-21 14:30:46 +02:00
Éloi Rivard
95ec09fe54 Implemented RP-initiated logout 2022-06-02 17:56:10 +02:00
Éloi Rivard
386e46c944 Updated dependencies 2022-06-02 15:44:59 +02:00
Éloi Rivard
fddda33446 Removed deprecated babel extensions 2022-06-02 15:41:45 +02:00
Éloi Rivard
1f44153c4f fixed a html title tag in the authorize page 2022-05-20 14:13:21 +02:00
Éloi Rivard
11a750d238 Refactored tests so ldap connection is not a mandatory argument anymore for most LDAPObject methods 2022-05-18 16:55:37 +02:00
Éloi Rivard
9a22352958 setup_ldap_models takes a config parameter instead of an app parameter 2022-05-18 13:44:54 +02:00
Stéphane Blondon
5a00c2840b remove messages.mo from repository 2022-05-06 12:32:39 +02:00
Éloi Rivard
a1c4f7a278 Bumped to authlib 1 2022-04-10 17:04:38 +02:00
Éloi Rivard
8217d423ad Added an option to disable self edition 2022-04-06 17:54:39 +02:00
Éloi Rivard
f496617f81 Fixed documentation about HIDE_INVALID_LOGINS 2022-04-06 17:34:30 +02:00
Éloi Rivard
b7b6040a3e Added an option to disable password recovery 2022-04-05 09:56:38 +02:00
Éloi Rivard
b1f21180df updated pre-commit 2022-04-04 17:52:35 +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
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
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
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
emillumine
cd1d106248 set cn without leading space when user is created without given name 2022-03-14 10:03:05 +01:00
Éloi Rivard
07d1826905 Fixed some packaging issues 2022-03-08 19:22:52 +01:00
Éloi Rivard
dc835cc149 access token is a jwt 2022-03-04 19:58:10 +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
Camille
a3c4db7a53 fix: handle token not found in token view 2022-03-03 10:05:14 +01:00
sblondon
3016f2504b Fix: spellcheck configuration key 2022-03-01 18:55:02 +00:00
Stéphane Blondon
3f6be51dae fix: tox complains about new-line at end-of-file 2022-02-25 14:11:35 +01:00
Stéphane Blondon
803fadd0e9 fix: better consistency of admin dropdown menu
The dropdown was not always displayed due to lack of 'menuitem' parameter on some calls.
The 'active' and 'dropdown' classes from fomanticUI clash so the dropdown is not displayed when both are added to the `div` tag. As workaround, 'active' class is replaced by a custom 'dropdown-active' class.
2022-02-25 13:58:35 +01:00
Éloi Rivard
b4544ebc54 Updated French translation 2022-02-23 11:00:27 +01:00
Éloi Rivard
3411e27c85 Improved admin token list and code list templates 2022-02-19 17:53:05 +01:00
Éloi Rivard
5746224218 Removed the latest googleapis request laying around 2022-02-18 11:09:24 +01:00
Éloi Rivard
a74d68aee1 AuthorizationCode and Token have a new id parameter 2022-02-16 18:00:30 +01:00
Éloi Rivard
88c9547cc4 Use a custom method to generate access tokens 2022-02-13 18:18:25 +01:00
Éloi Rivard
6e01baf3b0 improved token admin page template, again 2022-02-03 10:04:14 +01:00
Éloi Rivard
7851e8e31f improved token admin page template 2022-02-03 09:51:04 +01:00
sblondon
7c7b0988b8 Spellcheck a word in french translation 2022-02-01 17:41:52 +00:00
Éloi Rivard
9d4bc2d68f mail recipient bugfix 2022-02-01 17:28:11 +01:00
Éloi Rivard
1d0f1e2f24 LdapObject an have attribute name different than the schema 2022-01-18 18:04:25 +01:00
Éloi Rivard
b47f0e0414 mail view refactoring 2022-01-11 21:11:54 +01:00
Éloi Rivard
52e802b34f split oidc code from the rest 2022-01-11 20:31:55 +01:00
Éloi Rivard
ba65eb16a6 do not import sentry if not needed 2022-01-11 18:02:23 +01:00
Stéphane Blondon
4d24962544 surname is required when the user is created or updated 2022-01-07 15:19:05 +01:00
Éloi Rivard
df603e5f17 flask app delayed imports 2022-01-05 16:30:46 +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
Éloi Rivard
633bf6ae1f css typo fix 2021-12-31 17:45:46 +01:00
Éloi Rivard
7498b02cfb nicer mails 2021-12-31 17:35:51 +01:00
Éloi Rivard
8a8a47f38b Fixed the mail recipient format 2021-12-31 17:23:33 +01:00
Éloi Rivard
3804a2a4b0 admin views have its own blueprint 2021-12-26 19:59:20 +01:00
Éloi Rivard
d839dd763d admin: email debugging form 2021-12-23 19:21:29 +01:00
Éloi Rivard
e415a4739e Updated translations 2021-12-23 18:48:49 +01:00
emillumine
05d4800f94 fix bug: groups were not saved on user creation 2021-12-22 16:09:03 +01:00
Funelie
380ea74296 fix profile picture on mobiles 2021-12-22 15:03:18 +01:00
Funelie
9b00190a56 moving mail field in profile layout 2021-12-22 11:06:13 +01:00
Funelie
8fe0da0b4b Merge branch 'master' of gitlab.com:yaal/canaille 2021-12-22 11:05:40 +01:00
Funelie
6a1ea2dea7 fix avatar sizing 2021-12-22 10:54:51 +01:00
Éloi Rivard
50af2e3e72 pre-commit tox test 2021-12-20 23:57:27 +01:00
Camille
239d5d3e24 make UI more adaptable to email provider usecase 2021-12-20 16:15:13 +00:00
Éloi Rivard
15640c6912 fixed photo links 2021-12-16 09:23:08 +01:00
emillumine
58abc8728d fix typo in fr translation 2021-12-15 16:58:02 +01:00
Éloi Rivard
07239c48bd Fixed default fields rights 2021-12-13 23:53:41 +01:00
Éloi Rivard
424bde015f dropdown select placeholders 2021-12-13 23:43:45 +01:00
Éloi Rivard
529b297e93 Manage user websites 2021-12-13 23:04:34 +01:00
Éloi Rivard
f4c04d9666 Default configuration and test client use user avatars 2021-12-13 22:50:53 +01:00
Éloi Rivard
951fce2725 JWT mapping use jinja 2021-12-12 16:17:13 +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
04ca88ddcd Client list 2021-12-10 17:30:51 +01:00
Éloi Rivard
65e2bf7412 Group icons 2021-12-10 17:22:00 +01:00
Éloi Rivard
14480020cb Group description 2021-12-10 17:16:33 +01:00
Camille
cefeac4e5b customize jwt claims with format string in config file 2021-12-10 14:56:43 +00:00
Éloi Rivard
0053369604 jpegPhoto profile form 2021-12-09 18:26:11 +01:00
Éloi Rivard
5ba87a2ddc application setup refactoring 2021-12-08 16:11:05 +01:00
Éloi Rivard
65dd61c524 python to ldap two-ways serialization 2021-12-08 15:53:20 +01:00
Éloi Rivard
015d410fb6 ldaputils variable renaming 2021-12-08 15:06:57 +01:00
Éloi Rivard
ce6ccc0d3d ldaputils serialization refactoring 2021-12-08 14:58:12 +01:00
Éloi Rivard
41be09b865 Added configuration options to tune object IDs 2021-12-08 10:11:25 +01:00
Éloi Rivard
247d1dbd55 user creation: fixed readonly fields 2021-12-08 10:11:15 +01:00
Éloi Rivard
4fd31dd0f1 user creation: fixed indicators 2021-12-08 10:01:37 +01:00
Éloi Rivard
6fa19b85a9 invitation: fixed default fields 2021-12-08 10:00:36 +01:00
Éloi Rivard
adda4832f0 Login placeholder depends on the USER_FILTER configuration attribute 2021-12-07 20:16:46 +01:00
Éloi Rivard
078a05137a Minor refactoring 2021-12-07 19:41:20 +01:00
Éloi Rivard
788fa4cf7c invitation: users can just generate a link without sending a mail 2021-12-07 18:50:53 +01:00
Éloi Rivard
694a5bacc8 invitation: display the invitation link even if the mail could not be sent 2021-12-07 18:32:37 +01:00
Éloi Rivard
c8f33cd77a The default configuration has no SMTP server defined 2021-12-07 17:18:41 +01:00
Éloi Rivard
720459d162 Disabled invitation and password reset when no smtp server has been configured 2021-12-07 17:12:46 +01:00
Éloi Rivard
42c5657018 Fixed logging message when mails cannot be sent 2021-12-07 16:12:15 +01:00