Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions news/4292.internal
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Use standalone ``generate_user_id`` / ``generate_login_name`` functions
from ``plone.app.users.utils`` instead of instantiating the registration form view.
Comment thread
davisagli marked this conversation as resolved.
Outdated
23 changes: 19 additions & 4 deletions src/plone/restapi/services/users/add.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
from AccessControl import getSecurityManager
from plone.app.users.schema import ICombinedRegisterSchema

try:
from plone.app.users.utils import generate_login_name
from plone.app.users.utils import generate_user_id

HAS_STANDALONE_GENERATORS = True
except ImportError:
# BBB: plone.app.users without standalone generators (Plone < 6.2)
HAS_STANDALONE_GENERATORS = False
from plone.restapi import _
from plone.restapi.bbb import ISecuritySchema
from plone.restapi.deserializer import json_body
Expand Down Expand Up @@ -234,10 +243,16 @@ def _add_user(self, data, location=True):
"fullname": data.get("fullname", ""),
}

register_view = getMultiAdapter((self.context, self.request), name="register")

register_view.generate_user_id(user_id_login_name_data)
register_view.generate_login_name(user_id_login_name_data)
if HAS_STANDALONE_GENERATORS:
generate_user_id(self.context, user_id_login_name_data)
generate_login_name(self.context, user_id_login_name_data)
else:
# BBB: plone.app.users without standalone generators (Plone < 6.2)
register_view = getMultiAdapter(
(self.context, self.request), name="register"
)
register_view.generate_user_id(user_id_login_name_data)
register_view.generate_login_name(user_id_login_name_data)

user_id = user_id_login_name_data.get("user_id", data.get("username"))
login_name = user_id_login_name_data.get("login_name", data.get("username"))
Comment thread
jensens marked this conversation as resolved.
Outdated
Expand Down
Loading