From e35852d8bbd9ef88093aaebcf475ddbabe3bb618 Mon Sep 17 00:00:00 2001 From: mwallschlaeger Date: Thu, 13 Jun 2024 08:30:42 +0200 Subject: [PATCH 1/3] [Fixes #51] Bug: creating user via json_content expects username, also fixes bug when using delete user --- geonoderest/users.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/geonoderest/users.py b/geonoderest/users.py index 6c54ef8..a2265a1 100644 --- a/geonoderest/users.py +++ b/geonoderest/users.py @@ -157,7 +157,7 @@ def patch( def cmd_create( self, - username: str, + username: str = None, email: str = "", first_name: str = "", last_name: str = "", @@ -208,7 +208,7 @@ def cmd_create( def create( self, - username: str, + username: str = None, email: str = "", first_name: str = "", last_name: str = "", @@ -231,6 +231,7 @@ def create( json_content (dict) dict object with addition metadata / fields """ if json_content is None: + if username is None: json_content = { "username": username, "email": email, @@ -243,3 +244,12 @@ def create( endpoint=self.ENDPOINT_NAME, params=json_content, ) + + def cmd_delete(self, pk: int, **kwargs): + self.delete(pk=pk, **kwargs) + print(f"{self.JSON_OBJECT_NAME}: {pk} deleted ...") + + def delete(self, pk: int, **kwargs): + """delete geonode resource object""" + self.http_get(endpoint=f"{self.ENDPOINT_NAME}/{pk}") + self.http_delete(endpoint=f"users/{pk}") \ No newline at end of file From 4d8e2968da9520eedf35c989e8711fd1581cb228 Mon Sep 17 00:00:00 2001 From: mwallschlaeger Date: Thu, 13 Jun 2024 15:55:37 +0200 Subject: [PATCH 2/3] [Fixes #51] Bug: creating user via json_content expects username, also fixes bug when using delete user --- geonoderest/users.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/geonoderest/users.py b/geonoderest/users.py index a2265a1..d77b8a6 100644 --- a/geonoderest/users.py +++ b/geonoderest/users.py @@ -1,4 +1,6 @@ import json +import sys +import logging from typing import Dict, Optional from geonoderest.resources import GeonodeResourceHandler @@ -232,6 +234,9 @@ def create( """ if json_content is None: if username is None: + logging.error("missing username for user creation ...") + sys.exit(1) + json_content = { "username": username, "email": email, @@ -252,4 +257,4 @@ def cmd_delete(self, pk: int, **kwargs): def delete(self, pk: int, **kwargs): """delete geonode resource object""" self.http_get(endpoint=f"{self.ENDPOINT_NAME}/{pk}") - self.http_delete(endpoint=f"users/{pk}") \ No newline at end of file + self.http_delete(endpoint=f"users/{pk}") From 48146771562b15735497598edc5945f8955f37d5 Mon Sep 17 00:00:00 2001 From: mwallschlaeger Date: Mon, 17 Jun 2024 11:24:42 +0200 Subject: [PATCH 3/3] [Fixes #51] Bug: creating user via json_content expects username, also fixes bug when using delete user --- geonoderest/users.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/geonoderest/users.py b/geonoderest/users.py index d77b8a6..fb2b1f3 100644 --- a/geonoderest/users.py +++ b/geonoderest/users.py @@ -159,7 +159,7 @@ def patch( def cmd_create( self, - username: str = None, + username: Optional[str] = None, email: str = "", first_name: str = "", last_name: str = "", @@ -210,7 +210,7 @@ def cmd_create( def create( self, - username: str = None, + username: Optional[str] = None, email: str = "", first_name: str = "", last_name: str = "",