Commit daf385d8a5dff2f9ed81d8a8842bc03b050c9b08

Authored by Victor Costa
2 parents f76f09c3 a3678363

Merge branch 'api' into staging

Showing 1 changed file with 14 additions and 21 deletions   Show diff stats
lib/noosfero/api/session.rb
@@ -13,7 +13,11 @@ module Noosfero @@ -13,7 +13,11 @@ module Noosfero
13 # Example Request: 13 # Example Request:
14 # POST http://localhost:3000/api/v1/login?login=adminuser&password=admin 14 # POST http://localhost:3000/api/v1/login?login=adminuser&password=admin
15 post "/login" do 15 post "/login" do
16 - user ||= User.authenticate(params[:login], params[:password], environment) 16 + begin
  17 + user ||= User.authenticate(params[:login], params[:password], environment)
  18 + rescue NoosferoExceptions::UserNotActivated => e
  19 + render_api_error!(e.message, 401)
  20 + end
17 21
18 return unauthorized! unless user 22 return unauthorized! unless user
19 user.generate_private_token! 23 user.generate_private_token!
@@ -42,27 +46,16 @@ module Noosfero @@ -42,27 +46,16 @@ module Noosfero
42 # this return is just to improve the clarity of the execution path 46 # this return is just to improve the clarity of the execution path
43 return unless test_captcha(remote_ip, params, environment) 47 return unless test_captcha(remote_ip, params, environment)
44 user = User.new(attrs) 48 user = User.new(attrs)
45 - if params[:name].present?  
46 - #adds user and person  
47 - person = Person.new(name: params[:name], identifier: user.login)  
48 - user.person = person  
49 - if user.signup  
50 - user.generate_private_token! if user.activated?  
51 - present user, :with => Entities::UserLogin  
52 - else  
53 - user.destroy  
54 - message = user.errors.as_json.merge(person.errors.as_json).to_json  
55 - render_api_error!(message, 400)  
56 - end 49 + params[:name].present? ? name = params[:name] : name = attrs[:email]
  50 + person = Person.new(name: name, identifier: user.login)
  51 + user.person = person
  52 + if user.signup
  53 + user.generate_private_token! if user.activated?
  54 + present user, :with => Entities::UserLogin
57 else 55 else
58 - #adds user only  
59 - if user.save  
60 - user.generate_private_token! if user.activated?  
61 - present user, :with => Entities::UserLogin  
62 - else  
63 - message = user.errors.to_json  
64 - render_api_error!(message, 400)  
65 - end 56 + user.destroy
  57 + message = user.errors.as_json.merge(person.errors.as_json).to_json
  58 + render_api_error!(message, 400)
66 end 59 end
67 end 60 end
68 61