From 1ea138e1f6d963edc27aaa5973479b6326259a94 Mon Sep 17 00:00:00 2001
From: Alex <akreft@trineo.org>
Date: Tue, 24 Aug 2021 10:31:24 +0200
Subject: [PATCH] MAINT: Better message for pw requirements

---
 src/caosdb/common/administration.py | 21 ++++++++++++++++++---
 1 file changed, 18 insertions(+), 3 deletions(-)

diff --git a/src/caosdb/common/administration.py b/src/caosdb/common/administration.py
index e7ba9418..984912ac 100644
--- a/src/caosdb/common/administration.py
+++ b/src/caosdb/common/administration.py
@@ -156,13 +156,22 @@ def _update_user(name, realm=None, password=None, status=None,
         return con.put_form_data(entity_uri_segment="User/" + (realm + "/" + name if realm is not None else name), params=params, **kwargs).read()
     except HTTPResourceNotFoundError as e:
         e.msg = "User does not exist."
-        raise
+        raise e
     except HTTPForbiddenError as e:
         e.msg = "You are not permitted to update this user."
-        raise
+        raise e
     except HTTPClientError as e:
         if e.status == 409:
             e.msg = "Entity does not exist."
+        if e.status == 422:
+            e.msg = """Maybe the password does not match the required standard?
+                        The current requirements are:
+                        - at least 8 characters
+                        - at least 1 number
+                        - at least 1 lower case character
+                        - at least 1 upper case character
+                        - at least 1 special character"""
+        print(e.msg)
         raise
 
 
@@ -191,7 +200,13 @@ def _insert_user(name, password=None, status=None, email=None, entity=None, **kw
             e.msg = "User name is already in use."
 
         if e.status == 422:
-            e.msg = "Maybe the password does not match the required standard?"
+            e.msg = """Maybe the password does not match the required standard?
+                        The current requirements are:
+                        - at least 8 characters
+                        - at least 1 number
+                        - at least 1 lower case character
+                        - at least 1 upper case character
+                        - at least 1 special character"""
         raise e
 
 
-- 
GitLab