Commit a3d5af5f869a60e3e71d3f2e7a2c87a07d669569

Authored by Victor Costa
1 parent d14b3069

oauth_client: do not call close popup js when oauth_client wasn't called

plugins/oauth_client/controllers/public/oauth_client_plugin_public_controller.rb
@@ -31,6 +31,7 @@ class OauthClientPluginPublicController < PublicController @@ -31,6 +31,7 @@ class OauthClientPluginPublicController < PublicController
31 else 31 else
32 session[:notice] = _("Can't login with #{provider.name}") 32 session[:notice] = _("Can't login with #{provider.name}")
33 end 33 end
  34 + session[:oauth_client_login] = true
34 35
35 redirect_to :controller => :account, :action => :login 36 redirect_to :controller => :account, :action => :login
36 end 37 end
plugins/oauth_client/lib/oauth_client_plugin.rb
@@ -30,7 +30,7 @@ class OauthClientPlugin < Noosfero::Plugin @@ -30,7 +30,7 @@ class OauthClientPlugin < Noosfero::Plugin
30 end 30 end
31 31
32 def body_ending 32 def body_ending
33 - "<script>oauthPluginCloseLoginPopup(#{logged_in?});</script>" 33 + session.delete(:oauth_client_login) ? "<script>oauthPluginCloseLoginPopup(#{logged_in?}, '#{current_user.private_token}');</script>" : ''
34 end 34 end
35 35
36 def js_files 36 def js_files
plugins/oauth_client/public/main.js
1 -function oauthPluginCloseLoginPopup(loggedIn) { 1 +function oauthPluginCloseLoginPopup(loggedIn, privateToken) {
2 if (window.opener && typeof window.opener.handleLoginResult == 'function') { 2 if (window.opener && typeof window.opener.handleLoginResult == 'function') {
3 try { 3 try {
4 - window.opener.handleLoginResult(loggedIn); 4 + window.opener.handleLoginResult(loggedIn, privateToken);
5 } catch (err) {} 5 } catch (err) {}
6 window.close(); 6 window.close();
7 } 7 }