From f092d7d1895ce53852ab7153a9e15874e547bd5c Mon Sep 17 00:00:00 2001 From: Ábner Silva de Oliveira Date: Thu, 16 Jul 2015 13:36:07 -0300 Subject: [PATCH] changes on api and oauth_client plugin to allow signup through api --- lib/noosfero/api/api.rb | 4 ++-- lib/noosfero/api/helpers.rb | 4 ++-- plugins/oauth_client/controllers/public/oauth_client_plugin_public_controller.rb | 2 +- plugins/oauth_client/lib/oauth_client_plugin.rb | 5 ++++- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/noosfero/api/api.rb b/lib/noosfero/api/api.rb index 427d11b..a831ffe 100644 --- a/lib/noosfero/api/api.rb +++ b/lib/noosfero/api/api.rb @@ -12,8 +12,8 @@ module Noosfero use GrapeLogging::Middleware::RequestLogger, { logger: logger } rescue_from :all do |e| - #puts e.inspect - #puts e.backtrace.inspect + puts e.inspect + puts e.backtrace.inspect #logger.error e end diff --git a/lib/noosfero/api/helpers.rb b/lib/noosfero/api/helpers.rb index ea8887e..48147f7 100644 --- a/lib/noosfero/api/helpers.rb +++ b/lib/noosfero/api/helpers.rb @@ -10,7 +10,7 @@ def set_locale I18n.locale = (params[:lang] || request.env['HTTP_ACCEPT_LANGUAGE'] || 'en') end - + def current_user private_token = (params[PRIVATE_TOKEN_PARAM] || headers['Private-Token']).to_s @current_user ||= User.find_by_private_token(private_token) @@ -57,7 +57,7 @@ def find_article(articles, id) article = articles.find(id) - article.display_to?(current_user.person) ? article : forbidden! + article.display_to?(current_user) ? article : forbidden! end def post_article(asset, params) diff --git a/plugins/oauth_client/controllers/public/oauth_client_plugin_public_controller.rb b/plugins/oauth_client/controllers/public/oauth_client_plugin_public_controller.rb index 4673553..76be102 100644 --- a/plugins/oauth_client/controllers/public/oauth_client_plugin_public_controller.rb +++ b/plugins/oauth_client/controllers/public/oauth_client_plugin_public_controller.rb @@ -22,7 +22,7 @@ class OauthClientPluginPublicController < PublicController if session.delete(:oauth_client_popup) || params[:oauth_client_popup] current_user.private_token_expired? if current_user.present? private_token = current_user.present? ? current_user.private_token : '' - render 'oauth_client_plugin_public/finish', :locals => {:private_token => private_token, :user => current_user}, :layout => false + render 'oauth_client_plugin_public/finish', :locals => {:private_token => private_token}, :layout => false else redirect_to :controller => :home end diff --git a/plugins/oauth_client/lib/oauth_client_plugin.rb b/plugins/oauth_client/lib/oauth_client_plugin.rb index 2b86e62..2b9c5dd 100644 --- a/plugins/oauth_client/lib/oauth_client_plugin.rb +++ b/plugins/oauth_client/lib/oauth_client_plugin.rb @@ -84,8 +84,11 @@ class OauthClientPlugin < Noosfero::Plugin if auth.present? && params[:user].present? params[:user][:oauth_providers] = [OauthClientPlugin::Provider.find(session[:provider_id])] + if request.post? && auth.info.email != params[:user][:email] - raise "Wrong email for oauth signup" + unless params[:user][:email].blank? + raise "Wrong email for oauth signup. EMAIL: #{params[:user][:email]}" + end end end } -- libgit2 0.21.2