[fix] save() -> insert() for single doc, use doc.append in child table
diff --git a/erpnext/hub_node/api.py b/erpnext/hub_node/api.py
index 84042e8..84ec3a1 100644
--- a/erpnext/hub_node/api.py
+++ b/erpnext/hub_node/api.py
@@ -20,20 +20,23 @@
settings.users = []
validate_registerer()
-
message = settings.register()
if message.get('email'):
settings.registered = 1
- user_emails = kwargs.get('users').strip()[:-1].split(', ')
- settings.users = get_users_object_list(
- user_emails,
- kwargs.get('username'),
- message.get('password')
- )
+ settings.append('users', {
+ 'user': frappe.session.user,
+ 'name': frappe.session.user,
+ 'username': kwargs.get('username'),
+ 'password': message.get('password')
+ })
- settings.save()
+ user_emails = kwargs.get('users').strip()[:-1].split(', ')
+ for email in user_emails:
+ settings.append('users', {'user': email, 'name': email})
+
+ settings.insert()
return message
@@ -44,20 +47,6 @@
if 'System Manager' not in frappe.get_roles():
frappe.throw(_('Only users with System Manager role can register on Marketplace'), frappe.PermissionError)
-def get_users_object_list(user_emails, session_user_username, session_user_password):
- users = []
-
- for user_email in user_emails:
- users.append({ 'user': user_email })
-
- users.insert(0, {
- 'user': frappe.session.user,
- 'username': session_user_username,
- 'password': session_user_password
- })
-
- return users
-
@frappe.whitelist()
def call_hub_method(method, params=None):
connection = get_hub_connection()