both js and py files are in same directory ie.,
~/frappe-bench/apps/healthcare/healthcare/loyalty/web_form/registration_loyalty_program
js file code
frappe.ready(function(){
console.log(‘in ready’);
frappe.call({
method: ‘healthcare.loyalty.web_form.registration_loyalty_program.registration_loyalty_program.create_user_and_assign_role’,
args: {
data: {
email: $(‘#email’).val(),
// first_name: $(‘#first_name’).val(),
// last_name: $(‘#last_name’).val()
}
},
callback: function(response) {
// Handle the response
console.log(‘response:’, response);
}
});
})
.py file code
import frappe
@frappe.whitelist()
def validate_user(username, password):
return f’{username} {password} in validate_user()’
@frappe.whitelist()
def create_user_and_assign_role(data):
data = frappe.parse_json(data)
user = frappe.get_doc({
“doctype”: “User”,
“email”: data.email,
“first_name”: data.first_name,
“last_name”: data.last_name,
“send_welcome_email”: True
})
user.insert()
user.add_roles(“Loyalty Customer”)
def get_context(context):
pass
but still i am getting this error:
Failed to get method for command healthcare.loyalty.web_form.registration_loyalty_program.registration_loyalty_program.create_user_and_assign_role with module ‘healthcare.loyalty.web_form.registration_loyalty_program.registration_loyalty_program’ has no attribute ‘create_user_and_assign_role’