Commit 58f9d45f277a79b69cb4c9c76b257c724712b126

Authored by Victor Costa
1 parent 1236efbf

Improve oauth login/signup

Showing 2 changed files with 20 additions and 4 deletions   Show diff stats
index.html
... ... @@ -397,8 +397,12 @@
397 397 <label for="user_password_confirmation" class="label">Confirme a senha:</label>
398 398 <input id="user_password_confirmation" name="password_confirmation" type="password" placeholder="Confirme a senha">
399 399 </div>
  400 + <div class="oauth-providers">
  401 + <input id="user_oauth_providers" name="oauth_providers" type="hidden">
  402 + </div>
400 403 <div class="captcha col-sm-12">
401 404 <div id="g-recaptcha"></div>
  405 + </div>
402 406 </div>
403 407 <div class="actions col-sm-12">
404 408 <div class="row">
... ...
js/main.js
... ... @@ -188,7 +188,7 @@ define([&#39;handlebars&#39;, &#39;fastclick&#39;, &#39;handlebars_helpers&#39;], function(Handlebars, F
188 188 $('.talk-proposal-container').hide();
189 189 },
190 190  
191   - loginCallback: function(loggedIn, token) {
  191 + loginCallback: function(loggedIn, token, user) {
192 192 logged_in = loggedIn;
193 193 $('.login .message').text('');
194 194  
... ... @@ -200,6 +200,16 @@ define([&#39;handlebars&#39;, &#39;fastclick&#39;, &#39;handlebars_helpers&#39;], function(Handlebars, F
200 200 loginButton.siblings('.require-login .message').show();
201 201 loginButton.siblings('.login-container').hide();
202 202 $.cookie('_dialoga_session', Main.private_token);
  203 + } else if (user) {
  204 + var loginContainer = loginButton.siblings('.login-container');
  205 + loginContainer.show();
  206 + loginContainer.find('.new-user').click();
  207 + var signupForm = loginContainer.find('#signup-form');
  208 + signupForm.find("#user_email").val(user.email);
  209 + signupForm.find("#user_name").val(user.login);
  210 + signupForm.find("#user_oauth_providers").val(user.oauth_providers);
  211 + signupForm.find(".password").hide();
  212 + signupForm.find(".password-confirmation").hide();
203 213 } else {
204 214 loginButton.siblings('.require-login').hide();
205 215 loginButton.siblings('.login-container').show();
... ... @@ -714,11 +724,13 @@ define([&#39;handlebars&#39;, &#39;fastclick&#39;, &#39;handlebars_helpers&#39;], function(Handlebars, F
714 724 $(document).on('click', '.new-user', function(e) {
715 725 var loginForm = $(this).parents('#login-form');
716 726 var signupForm = loginForm.siblings('#signup-form');
717   -
  727 +
718 728 loginForm.hide();
719 729 signupForm.show();
  730 + signupForm.find(".password").show();
  731 + signupForm.find(".password-confirmation").show();
720 732 loginForm.find('.message').hide();
721   - console.log(signupForm.find('#g-recaptcha')[0]);
  733 + signupForm.find('#g-recaptcha').empty();
722 734 grecaptcha.render(signupForm.find('#g-recaptcha')[0], {'sitekey' : window.recaptchaSiteKey });
723 735 e.preventDefault();
724 736 })
... ... @@ -785,7 +797,7 @@ define([&#39;handlebars&#39;, &#39;fastclick&#39;, &#39;handlebars_helpers&#39;], function(Handlebars, F
785 797  
786 798 window.addEventListener("message", function(ev) {
787 799 if (ev.data.message === "oauthClientPluginResult") {
788   - Main.loginCallback(ev.data.logged_in, ev.data.private_token);
  800 + Main.loginCallback(ev.data.logged_in, ev.data.private_token, ev.data.user);
789 801 ev.source.close();
790 802 }
791 803 });
... ...