Commit 3dc760061fe2924d5a133f30163232782a689c1f
1 parent
a42f7e51
Exists in
master
and in
5 other branches
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(['jquery', 'handlebars', 'fastclick', 'proposal_app', '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(['jquery', 'handlebars', 'fastclick', 'proposal_app', '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(['jquery', 'handlebars', 'fastclick', 'proposal_app', '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 | }; | ... | ... |