diff --git a/lib/noosfero/api/session.rb b/lib/noosfero/api/session.rb index 78ebe6a..b72d909 100644 --- a/lib/noosfero/api/session.rb +++ b/lib/noosfero/api/session.rb @@ -43,27 +43,16 @@ module Noosfero # this return is just to improve the clarity of the execution path return unless test_captcha(remote_ip, params, environment) user = User.new(attrs) - if params[:name].present? - #adds user and person - person = Person.new(name: params[:name], identifier: user.login) - user.person = person - if user.signup - user.generate_private_token! if user.activated? - present user, :with => Entities::UserLogin - else - user.destroy - message = user.errors.as_json.merge(person.errors.as_json).to_json - render_api_error!(message, 400) - end + params[:name].present? ? name = params[:name] : name = attrs[:email] + person = Person.new(name: name, identifier: user.login) + user.person = person + if user.signup + user.generate_private_token! if user.activated? + present user, :with => Entities::UserLogin else - #adds user only - if user.save - user.generate_private_token! if user.activated? - present user, :with => Entities::UserLogin - else - message = user.errors.to_json - render_api_error!(message, 400) - end + user.destroy + message = user.errors.as_json.merge(person.errors.as_json).to_json + render_api_error!(message, 400) end end -- libgit2 0.21.2