Commit 2d0e156492c4e1d58de3eb793c839d2a8d153a3c
Exists in
theme-brasil-digital-from-staging
and in
9 other branches
Merge branch 'production' of gitlab.com:participa/noosfero into production
Showing
6 changed files
with
30 additions
and
13 deletions
Show diff stats
Gemfile
| @@ -57,4 +57,4 @@ eval(File.read('config/Gemfile'), binding) rescue nil | @@ -57,4 +57,4 @@ eval(File.read('config/Gemfile'), binding) rescue nil | ||
| 57 | # dependencies. | 57 | # dependencies. |
| 58 | Dir.glob('config/plugins/*/Gemfile').each do |gemfile| | 58 | Dir.glob('config/plugins/*/Gemfile').each do |gemfile| |
| 59 | eval File.read(gemfile) | 59 | eval File.read(gemfile) |
| 60 | -end | ||
| 61 | \ No newline at end of file | 60 | \ No newline at end of file |
| 61 | +end |
lib/noosfero/api/api.rb
| @@ -6,7 +6,15 @@ module Noosfero | @@ -6,7 +6,15 @@ module Noosfero | ||
| 6 | module API | 6 | module API |
| 7 | class API < Grape::API | 7 | class API < Grape::API |
| 8 | use Rack::JSONP | 8 | use Rack::JSONP |
| 9 | - | 9 | + |
| 10 | + logger = Logger.new(File.join(Rails.root, 'log', "#{ENV['RAILS_ENV'] || 'production'}_api.log")) | ||
| 11 | + logger.formatter = GrapeLogging::Formatters::Default.new | ||
| 12 | + use RequestLogger, { logger: logger } | ||
| 13 | + | ||
| 14 | + rescue_from :all do |e| | ||
| 15 | + logger.error e | ||
| 16 | + end | ||
| 17 | + | ||
| 10 | @@NOOSFERO_CONF = nil | 18 | @@NOOSFERO_CONF = nil |
| 11 | 19 | ||
| 12 | def self.NOOSFERO_CONF | 20 | def self.NOOSFERO_CONF |
lib/noosfero/api/request_logger.rb
| @@ -10,7 +10,6 @@ module Noosfero | @@ -10,7 +10,6 @@ module Noosfero | ||
| 10 | params: request.params.to_hash.except('password'), | 10 | params: request.params.to_hash.except('password'), |
| 11 | method: request.request_method, | 11 | method: request.request_method, |
| 12 | total: (duration * 1000).round(2), | 12 | total: (duration * 1000).round(2), |
| 13 | - db: @db_duration.round(2), | ||
| 14 | } | 13 | } |
| 15 | end | 14 | end |
| 16 | end | 15 | end |
lib/noosfero/api/session.rb
| @@ -39,12 +39,16 @@ module Noosfero | @@ -39,12 +39,16 @@ module Noosfero | ||
| 39 | unique_attributes! User, [:email, :login] | 39 | unique_attributes! User, [:email, :login] |
| 40 | attrs = attributes_for_keys [:email, :login, :password] | 40 | attrs = attributes_for_keys [:email, :login, :password] |
| 41 | attrs[:password_confirmation] = attrs[:password] | 41 | attrs[:password_confirmation] = attrs[:password] |
| 42 | - remote_ip = (request.respond_to?(:remote_ip) && request.remote_ip) || (env && env['REMOTE_ADDR']) | ||
| 43 | - private_key = API.NOOSFERO_CONF['api_recaptcha_private_key'] | ||
| 44 | - api_recaptcha_verify_uri = API.NOOSFERO_CONF['api_recaptcha_verify_uri'] | ||
| 45 | - captcha_result = verify_recaptcha_v2(remote_ip, params['g-recaptcha-response'], private_key, api_recaptcha_verify_uri) | 42 | + |
| 43 | + #Commented for stress tests | ||
| 44 | + | ||
| 45 | + # remote_ip = (request.respond_to?(:remote_ip) && request.remote_ip) || (env && env['REMOTE_ADDR']) | ||
| 46 | + # private_key = API.NOOSFERO_CONF['api_recaptcha_private_key'] | ||
| 47 | + # api_recaptcha_verify_uri = API.NOOSFERO_CONF['api_recaptcha_verify_uri'] | ||
| 48 | + # captcha_result = verify_recaptcha_v2(remote_ip, params['g-recaptcha-response'], private_key, api_recaptcha_verify_uri) | ||
| 46 | user = User.new(attrs) | 49 | user = User.new(attrs) |
| 47 | - if captcha_result["success"] and user.save! | 50 | +# if captcha_result["success"] and user.save |
| 51 | + if user.save | ||
| 48 | user.activate | 52 | user.activate |
| 49 | user.generate_private_token! | 53 | user.generate_private_token! |
| 50 | present user, :with => Entities::UserLogin | 54 | present user, :with => Entities::UserLogin |
plugins/oauth_client/controllers/public/oauth_client_plugin_public_controller.rb
| @@ -19,10 +19,10 @@ class OauthClientPluginPublicController < PublicController | @@ -19,10 +19,10 @@ class OauthClientPluginPublicController < PublicController | ||
| 19 | end | 19 | end |
| 20 | 20 | ||
| 21 | def finish | 21 | def finish |
| 22 | - if logged_in? && session.delete(:oauth_client_popup) | 22 | + if session.delete(:oauth_client_popup) || params[:oauth_client_popup] |
| 23 | current_user.private_token_expired? if current_user.present? | 23 | current_user.private_token_expired? if current_user.present? |
| 24 | private_token = current_user.present? ? current_user.private_token : '' | 24 | private_token = current_user.present? ? current_user.private_token : '' |
| 25 | - render 'oauth_client_plugin_public/finish', :locals => {:private_token => private_token} | 25 | + render 'oauth_client_plugin_public/finish', :locals => {:private_token => private_token, :user => params[:user]}, :layout => false |
| 26 | else | 26 | else |
| 27 | redirect_to :controller => :home | 27 | redirect_to :controller => :home |
| 28 | end | 28 | end |
| @@ -36,7 +36,8 @@ class OauthClientPluginPublicController < PublicController | @@ -36,7 +36,8 @@ class OauthClientPluginPublicController < PublicController | ||
| 36 | unless user_provider | 36 | unless user_provider |
| 37 | user_provider = user.oauth_user_providers.create(:user => user, :provider => provider, :enabled => true) | 37 | user_provider = user.oauth_user_providers.create(:user => user, :provider => provider, :enabled => true) |
| 38 | end | 38 | end |
| 39 | - if user_provider.enabled? && provider.enabled? | 39 | + # FIXME find a better way to disable providers |
| 40 | + if user_provider.enabled?# && provider.enabled? | ||
| 40 | session[:user] = user.id | 41 | session[:user] = user.id |
| 41 | else | 42 | else |
| 42 | session[:notice] = _("Can't login with #{provider.name}") | 43 | session[:notice] = _("Can't login with #{provider.name}") |
| @@ -54,7 +55,12 @@ class OauthClientPluginPublicController < PublicController | @@ -54,7 +55,12 @@ class OauthClientPluginPublicController < PublicController | ||
| 54 | session[:return_to] = url_for(:controller => :oauth_client_plugin_public, :action => :finish) | 55 | session[:return_to] = url_for(:controller => :oauth_client_plugin_public, :action => :finish) |
| 55 | name = auth.info.name | 56 | name = auth.info.name |
| 56 | name ||= auth.extra && auth.extra.raw_info ? auth.extra.raw_info.name : '' | 57 | name ||= auth.extra && auth.extra.raw_info ? auth.extra.raw_info.name : '' |
| 57 | - redirect_to :controller => :account, :action => :signup, :user => {:login => login, :email => auth.info.email}, :profile_data => {:name => name} | 58 | + |
| 59 | + if session[:oauth_client_popup] | ||
| 60 | + redirect_to :controller => :oauth_client_plugin_public, :action => :finish, :user => {:login => login, :email => auth.info.email, :oauth_providers => [session[:provider_id]]}, :profile_data => {:name => name}, :oauth_client_popup => session[:oauth_client_popup] | ||
| 61 | + else | ||
| 62 | + redirect_to :controller => :account, :action => :signup, :user => {:login => login, :email => auth.info.email}, :profile_data => {:name => name} | ||
| 63 | + end | ||
| 58 | end | 64 | end |
| 59 | 65 | ||
| 60 | end | 66 | end |
plugins/oauth_client/views/oauth_client_plugin_public/finish.html.erb
| 1 | <script> | 1 | <script> |
| 2 | window.addEventListener("message", function(ev) { | 2 | window.addEventListener("message", function(ev) { |
| 3 | if (ev.data.message === "requestOauthClientPluginResult") { | 3 | if (ev.data.message === "requestOauthClientPluginResult") { |
| 4 | - ev.source.postMessage({ message: "oauthClientPluginResult", logged_in: <%= logged_in? %>, private_token: '<%= private_token %>' }, "*"); | 4 | + ev.source.postMessage({ message: "oauthClientPluginResult", logged_in: <%= logged_in? %>, private_token: '<%= private_token %>', user: <%= user.to_json %> }, "*"); |
| 5 | } | 5 | } |
| 6 | }); | 6 | }); |
| 7 | </script> | 7 | </script> |