не знаю, почему код ломается, но я присваиваю 3 переменные вызову функции, которые все используются в вызове, и я продолжаю получать ошибку Нетипа с вызовом функции класса.
Я пытаюсь создать пользователя и передать сообщение об успехе, пользователя и сообщение.
Если успех равен true, тогда он приступит к созданию и отправке пользователю электронного письма активации
пользователь создан пользователем.
сообщение - если есть ошибка (там пользователь был создан ранее и существует)
if email_address and first_name and last_name:
#register user and check other params
success, user, message = User.create(email_address=email_address, first_name=first_name, last_name=last_name)
if success:
# send activation email
success, message = User.send_activation_email(email_address=email_address)
if success:
return make_response(jsonify({"Message" : "Registration Successful"}))
#Todo include the correct url
#return render_template_with_translations("public/auth/register_success.html", **params)
else:
return abort(403, description=message)
else:
params["register_error_message"] = message
return make_response(jsonify({"Message" : params}))
#return render_template_with_translations("public/auth/register_error.html", **params)
Класс, вызываемый в users.model
@classmethod
def create(cls, email_address, password=None, admin=False, first_name=None, last_name=None):
try:
# check if there's any user with the same email address already
user = db.query("Select * FROM User WHERE email_address = {}".formart(email_address))
if not user: # if user does not yet exist, create one
hashed = None
if password:
# use bcrypt to hash the password
hashed = bcrypt.hashpw(password=str.encode(password), salt=bcrypt.gensalt(12))
# create the user object and store it into Datastore
user = cls(email_address=email_address, password_hash=hashed, admin=admin, first_name=first_name,
last_name=last_name)
user.put()
return True, user, "Success" # succes, user, message
else:
return False, user, "User with this email address is already registered. Please go to the " \
"Login page and try to log in."
except:
print ("Error with application")