Commit 3dc760061fe2924d5a133f30163232782a689c1f

Authored by Ábner Silva de Oliveira
1 parent a42f7e51

fixed social network signup

Showing 1 changed file with 56 additions and 37 deletions   Show diff stats
js/main.js
... ... @@ -52,7 +52,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
52 52 var API = {
53 53 articles: '',
54 54 proposals: '/api/v1/articles/{topic_id}/children',
55   -
  55 +
56 56 };
57 57  
58 58 API.getProposalsURL = function (topicId){
... ... @@ -63,6 +63,16 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
63 63 return str.replace(new RegExp(pattern, 'g'), value);
64 64 }
65 65  
  66 + function fillSignupForm(signupForm, user) {
  67 + signupForm.find('#signup-user_email').val(user.email);
  68 + signupForm.find('#signup-user_name').val(user.login);
  69 + signupForm.find('#user_oauth_providers').val(user.oauth_providers);
  70 + signupForm.find('div.password').hide();
  71 + signupForm.find('div.password-confirmation').hide();
  72 + signupForm.find('#signup-user_password').attr('required', false);
  73 + signupForm.find('#user_password_confirmation').attr('required', false);
  74 + };
  75 +
66 76 return {
67 77 private_token: '375bee7e17d0021af7160ce664874618',
68 78 getProposalId: function() {
... ... @@ -97,7 +107,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
97 107 if(childId !== 0 && !force){
98 108 url += '/' + childId;
99 109 }
100   - url += '?private_token=' + private_token + '&limit=1&order=random()&_='+new Date().getTime()+'&fields=id,name,slug,abstract,created_by&content_type=ProposalsDiscussionPlugin::Proposal';
  110 + url += '?private_ftoken=' + private_token + '&limit=1&order=random()&_='+new Date().getTime()+'&fields=id,name,slug,abstract,created_by&content_type=ProposalsDiscussionPlugin::Proposal';
101 111  
102 112 $.getJSON(url).done(function( data ) {
103 113 $loading.hide();
... ... @@ -121,7 +131,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
121 131 $body.off('click', '.vote-actions .vote-action');
122 132 $body.on('click', '.vote-actions .vote-action', function(e) {
123 133 e.preventDefault();
124   -
  134 +
125 135 //Helps to prevent more than one vote per proposal
126 136 var $button = $(this);
127 137 var $proposal = $button.closest('.random-proposal');
... ... @@ -164,7 +174,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
164 174 $proposal.find('.abstract').hide();
165 175 $proposal.find('.vote-actions .like').hide();
166 176 $proposal.find('.vote-actions .dislike').hide();
167   -
  177 +
168 178 var $successPanel = $('.success-panel').clone();
169 179 // $successPanel.find('.icon').addClass('icon-proposal-sent');
170 180 $successPanel.find('.message').html('Seu voto já foi computado nesta proposta');
... ... @@ -280,13 +290,18 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
280 290 $.cookie('_dialoga_session', Main.private_token);
281 291 $('#login-panel').hide();
282 292 } else if (user) {
283   - var loginContainer = requireLoginContainer.find('.login-container');
284   - loginContainer.show();
285   - loginContainer.find('.new-user').click();
286   - var $signupForm = loginContainer.find('#signup-form');
287   - $signupForm.find('#user_email').val(user.email);
288   - $signupForm.find('#user_name').val(user.login);
289   - $signupForm.find('#user_oauth_providers').val(user.oauth_providers);
  293 + // fluxo signup vindo das caixas de login dentro dos programas
  294 + if(requireLoginContainer.length > 0){
  295 + var loginContainer = requireLoginContainer.find('.login-container');
  296 + loginContainer.show();
  297 + loginContainer.find('.new-user').click();
  298 + var $signupForm = loginContainer.find('#signup-form');
  299 + fillSignupForm($signupForm, user);
  300 + } else { //signup botão Entrar principal vindo de OAUTH
  301 + $('#login-panel').find('a.new-user').click();
  302 + var $signupForm = $('#login-panel #signup-form');
  303 + fillSignupForm($signupForm, user);
  304 + }
290 305 } else {
291 306 requireLoginContainer.find('.require-login').hide();
292 307 requireLoginContainer.find('.login-container').show();
... ... @@ -321,7 +336,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
321 336 var proposalsByTheme = $('#proposal-group .proposal-list .proposal-item').find('.' + themeClass);
322 337 var randomizedIndex = Math.floor(Math.random() * proposalsByTheme.length);
323 338 var proposalToShow = $(proposalsByTheme[randomizedIndex]).parents().filter('.proposal-item');
324   - $(proposalToShow).show();
  339 + $(proposalToShow).show();
325 340 });
326 341 },
327 342 display_category_tab: function(){
... ... @@ -568,7 +583,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
568 583 var $proposal = $('#proposal-item-' + proposalId);
569 584 proposalTitle = $proposal.find('.title').text();
570 585 var proposalOffset = $proposal.offset();
571   -
  586 +
572 587 if(proposalOffset){
573 588 scrollTop = proposalOffset.top;
574 589 }else{
... ... @@ -758,7 +773,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
758 773 display_events: function(cat_id, active_category) {
759 774 var url = host + '/api/v1/communities/' + dialoga_community + '/articles?categories_ids[]=' + cat_id + '&content_type=Event&private_token=' + '375bee7e17d0021af7160ce664874618';
760 775 $.getJSON(url).done(function (data) {
761   -
  776 +
762 777 if(data.articles.length === 0){
763 778 return;
764 779 }
... ... @@ -819,7 +834,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
819 834 var maxLinesByParagraph = 0;
820 835 var maxLinesByTitle = 0;
821 836 var $visibleProposals = $('.proposal-list .proposal-item:visible');
822   -
  837 +
823 838 // get the bigger paragraph
824 839 $visibleProposals.each(function(index, proposalItemEl){
825 840 var $proposalItemEl = $(proposalItemEl);
... ... @@ -830,7 +845,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
830 845 }
831 846 });
832 847 // console.log('maxLinesByParagraph', maxLinesByParagraph);
833   -
  848 +
834 849 // get the bigger title
835 850 $visibleProposals.each(function(index, proposalItemEl){
836 851 var $proposalItemEl = $(proposalItemEl);
... ... @@ -846,10 +861,10 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
846 861 var $proposalItemEl = $(proposalItemEl);
847 862 var $title = $proposalItemEl.find('.box__title');
848 863 var $paragraph = $proposalItemEl.find('p');
849   -
  864 +
850 865 var newTitleHeight = maxLinesByTitle * hPerLineOnTitle;
851 866 var newParagraphHeight = maxLinesByParagraph * hPerLineOnParagraph;
852   -
  867 +
853 868 $title.css('height', newTitleHeight + 'px');
854 869 $paragraph.css('height', newParagraphHeight + 'px');
855 870 });
... ... @@ -861,7 +876,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
861 876 computeLines: function ($el) {
862 877 // reset height
863 878 $el.height('auto');
864   -
  879 +
865 880 var divHeight = $el.height();
866 881 var lineHeight = parseInt($el.css('lineHeight'));
867 882 var lines = Math.ceil(divHeight / lineHeight);
... ... @@ -879,7 +894,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
879 894 };
880 895 })();
881 896  
882   -
  897 +
883 898 var noosferoAPI = host + '/api/v1/articles/' + proposal_discussion + '?private_token=' + Main.private_token + '&fields=id,children,categories,abstract,title,image,url,setting,position';
884 899  
885 900 $.getJSON(noosferoAPI)
... ... @@ -913,7 +928,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
913 928 if(url.indexOf('?') !== -1){
914 929 c = '&';
915 930 }
916   -
  931 +
917 932 var resultUrl = url + c + 'wmode=opaque';
918 933 article.abstract = abstract.replace(url, resultUrl);
919 934 // console.log('article.abstract', article.abstract);
... ... @@ -997,7 +1012,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
997 1012  
998 1013 // handle esc
999 1014 $(document).keyup(function(e) {
1000   -
  1015 +
1001 1016 // escape key maps to keycode `27`
1002 1017 if (e.keyCode === 27) { // ESC
1003 1018 $loginPanel.hide();
... ... @@ -1256,7 +1271,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
1256 1271 });
1257 1272  
1258 1273 $(document).on('click', '.new-user', function(e) {
1259   -
  1274 +
1260 1275 if(window.lastCaptcha){
1261 1276 window.lastCaptcha.destruir();
1262 1277 }
... ... @@ -1270,16 +1285,20 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
1270 1285  
1271 1286 signupForm.find('.password').show();
1272 1287 signupForm.find('.password-confirmation').show();
  1288 +
  1289 + signupForm.find('signup-user_password').attr('required', true);
  1290 + signupForm.find('#user_password_confirmation').attr('required', true);
  1291 +
1273 1292 loginForm.find('.message').hide();
1274 1293 signupForm.find('#serpro_captcha').empty();
1275   -
  1294 +
1276 1295 var oCaptcha_serpro_gov_br;
1277 1296 oCaptcha_serpro_gov_br = new captcha_serpro_gov_br();
1278 1297 window.lastCaptcha = oCaptcha_serpro_gov_br;
1279 1298 oCaptcha_serpro_gov_br.clienteId = 'fdbcdc7a0b754ee7ae9d865fda740f17';
1280 1299 oCaptcha_serpro_gov_br.url = "/captchaserpro"
1281 1300 oCaptcha_serpro_gov_br.criarUI(signupForm.find('#serpro_captcha')[0], 'css', 'serpro_captcha_component_');
1282   -
  1301 +
1283 1302 e.preventDefault();
1284 1303 });
1285 1304  
... ... @@ -1291,7 +1310,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
1291 1310 });
1292 1311  
1293 1312 $(document).on('click', '.confirm-signup', function(e) {
1294   -
  1313 +
1295 1314 var $button = $(this);
1296 1315 var $signupForm = $(this).parents('form.signup');
1297 1316 var $inputEmail = $signupForm.find('#signup-user_email');
... ... @@ -1300,7 +1319,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
1300 1319 var $inputPasswordConfirmation = $signupForm.find('#user_password_confirmation');
1301 1320 var $inputAcceptation = $signupForm.find('#user_terms_accepted');
1302 1321 var $inputCaptcha = $signupForm.find('#captcha_text');
1303   -
  1322 +
1304 1323 // clear messages
1305 1324 var message = $('.signup .message');
1306 1325 message.hide();
... ... @@ -1324,31 +1343,31 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
1324 1343 var messageErrors = [];
1325 1344  
1326 1345 messageErrors.push('<ul>'); // start a HTML list
1327   -
  1346 +
1328 1347 if (!hasEmail){
1329 1348 messageErrors.push('<li>O e-mail é um campo obrigatório.</li>');
1330 1349 }
1331   -
  1350 +
1332 1351 if (!hasUsername){
1333 1352 messageErrors.push('<li>O nome de usuário é um campo obrigatório.</li>');
1334 1353 }
1335   -
  1354 +
1336 1355 if (!hasPassword){
1337 1356 messageErrors.push('<li>A senha é um campo obrigatório.</li>');
1338 1357 }
1339   -
  1358 +
1340 1359 if (!hasPasswordConfirmation){
1341 1360 messageErrors.push('<li>A confirmação da senha é um campo obrigatório.</li>');
1342 1361 }
1343   -
  1362 +
1344 1363 if (!hasPasswordEquals){
1345 1364 messageErrors.push('<li>A senha e confirmação da senha devem ser iguais.</li>');
1346 1365 }
1347   -
  1366 +
1348 1367 if (!hasAcceptation){
1349 1368 messageErrors.push('<li>Você deve ler e aceitar os termos de uso.</li>');
1350 1369 }
1351   -
  1370 +
1352 1371 if (!hasCaptcha){
1353 1372 messageErrors.push('<li>O ReCaptcha é um campo obrigatório.</li>');
1354 1373 }
... ... @@ -1452,7 +1471,7 @@ define([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;handlebars_helpers
1452 1471 // if(url.indexOf('?') !== -1){
1453 1472 // c = '&';
1454 1473 // }
1455   -
  1474 +
1456 1475 // $iframe.attr("src",url+c+"wmode=opaque");
1457 1476 // // console.debug('iframe changed to opaque mode');
1458 1477 // });
... ... @@ -1488,7 +1507,7 @@ define([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;handlebars_helpers
1488 1507  
1489 1508 return function debounced () {
1490 1509 var obj = this, args = arguments;
1491   -
  1510 +
1492 1511 function delayed () {
1493 1512 if (!execAsap){
1494 1513 func.apply(obj, args);
... ... @@ -1506,7 +1525,7 @@ define([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;handlebars_helpers
1506 1525 };
1507 1526 };
1508 1527  
1509   - // smartresize
  1528 + // smartresize
1510 1529 jQuery.fn[sr] = function(fn){
1511 1530 return fn ? this.bind('resize', debounce(fn)) : this.trigger(sr);
1512 1531 };
... ...