Commit 8a4abcdea6191cdc0056644cb3e1a40cd8e1458b
1 parent
771a9fb6
Exists in
master
and in
5 other branches
Added activate user url verification with ajax request to API
Showing
2 changed files
with
64 additions
and
10 deletions
Show diff stats
index.html
| @@ -123,6 +123,8 @@ | @@ -123,6 +123,8 @@ | ||
| 123 | </div> | 123 | </div> |
| 124 | </header> | 124 | </header> |
| 125 | 125 | ||
| 126 | + <div class="activate-message alert hide" role="alert"></div> | ||
| 127 | + | ||
| 126 | <div id="article-container" class="article-container hide"> | 128 | <div id="article-container" class="article-container hide"> |
| 127 | <a href="#" class="go-back">Voltar</a> | 129 | <a href="#" class="go-back">Voltar</a> |
| 128 | <div class="article-content"></div> | 130 | <div class="article-content"></div> |
js/main.js
| @@ -53,14 +53,14 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | @@ -53,14 +53,14 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | ||
| 53 | patt = new RegExp(':3000/'); | 53 | patt = new RegExp(':3000/'); |
| 54 | 54 | ||
| 55 | if(patt.test(window.location.href)){ | 55 | if(patt.test(window.location.href)){ |
| 56 | - host = 'http://noosfero.com:3000'; | 56 | + host = 'http://login.dialoga.gov.br'; |
| 57 | }else if (new RegExp(':3001/').test(window.location.href)){ | 57 | }else if (new RegExp(':3001/').test(window.location.href)){ |
| 58 | host = 'http://noosfero.com:3001'; | 58 | host = 'http://noosfero.com:3001'; |
| 59 | - dialoga_community = 104; | 59 | + //dialoga_community = 104; |
| 60 | // proposal_discussion = '413'; //Eugênio | 60 | // proposal_discussion = '413'; //Eugênio |
| 61 | - proposal_discussion = '392'; //Evandro | 61 | + //proposal_discussion = '392'; //Evandro |
| 62 | recaptchaSiteKey = '6LdsWAcTAAAAAChTUUD6yu9fCDhdIZzNd7F53zf-'; //http://noosfero.com/ | 62 | recaptchaSiteKey = '6LdsWAcTAAAAAChTUUD6yu9fCDhdIZzNd7F53zf-'; //http://noosfero.com/ |
| 63 | - cat_saude = 23; | 63 | + //cat_saude = 23; |
| 64 | } else { //ABNER | 64 | } else { //ABNER |
| 65 | host = 'http://local.abner.com:3002'; | 65 | host = 'http://local.abner.com:3002'; |
| 66 | dialoga_community = 105; | 66 | dialoga_community = 105; |
| @@ -303,8 +303,11 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | @@ -303,8 +303,11 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | ||
| 303 | }, | 303 | }, |
| 304 | loginCallback: function(loggedIn, token, user) { | 304 | loginCallback: function(loggedIn, token, user) { |
| 305 | logged_in = loggedIn; | 305 | logged_in = loggedIn; |
| 306 | + var requireLoginContainer; | ||
| 306 | $('.login .message').text(''); | 307 | $('.login .message').text(''); |
| 307 | - var requireLoginContainer = loginButton.closest('.require-login-container'); | 308 | + if(loginButton){ |
| 309 | + requireLoginContainer = loginButton.closest('.require-login-container'); | ||
| 310 | + } | ||
| 308 | 311 | ||
| 309 | if(user && !Main.getUser()) { | 312 | if(user && !Main.getUser()) { |
| 310 | Main.setUser(user); | 313 | Main.setUser(user); |
| @@ -315,12 +318,17 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | @@ -315,12 +318,17 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | ||
| 315 | if(token){ | 318 | if(token){ |
| 316 | Main.private_token = token; | 319 | Main.private_token = token; |
| 317 | } | 320 | } |
| 318 | - // requireLoginContainer = $('.require-login-container'); | ||
| 319 | - requireLoginContainer.find('.require-login').show(); | ||
| 320 | - requireLoginContainer.find('.require-login .message').show(); | ||
| 321 | - requireLoginContainer.find('.login-container').hide(); | 321 | + |
| 322 | $.cookie('_dialoga_session', Main.private_token); | 322 | $.cookie('_dialoga_session', Main.private_token); |
| 323 | - $('#login-panel').hide(); | 323 | + |
| 324 | + if(requireLoginContainer){ | ||
| 325 | + // requireLoginContainer = $('.require-login-container'); | ||
| 326 | + requireLoginContainer.find('.require-login').show(); | ||
| 327 | + requireLoginContainer.find('.require-login .message').show(); | ||
| 328 | + requireLoginContainer.find('.login-container').hide(); | ||
| 329 | + | ||
| 330 | + $('#login-panel').hide(); | ||
| 331 | + } | ||
| 324 | } else if (user) { | 332 | } else if (user) { |
| 325 | // fluxo signup vindo das caixas de login dentro dos programas | 333 | // fluxo signup vindo das caixas de login dentro dos programas |
| 326 | if(requireLoginContainer.length > 0){ | 334 | if(requireLoginContainer.length > 0){ |
| @@ -585,6 +593,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | @@ -585,6 +593,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | ||
| 585 | var regexArticle = /#\/artigo/; | 593 | var regexArticle = /#\/artigo/; |
| 586 | var regexResultados = /resultados$/; | 594 | var regexResultados = /resultados$/; |
| 587 | var regexSobreOPrograma = /sobre-o-programa$/; | 595 | var regexSobreOPrograma = /sobre-o-programa$/; |
| 596 | + var regexActivateUser = /#\/activate/; | ||
| 588 | 597 | ||
| 589 | if( (regexHideBarra.exec(hash) === null) && !HIDE_BARRA_DO_GOVERNO ){ | 598 | if( (regexHideBarra.exec(hash) === null) && !HIDE_BARRA_DO_GOVERNO ){ |
| 590 | this.addBarraDoGoverno(); | 599 | this.addBarraDoGoverno(); |
| @@ -602,6 +611,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | @@ -602,6 +611,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | ||
| 602 | var isArticle = regexArticle.exec(hash) !== null; | 611 | var isArticle = regexArticle.exec(hash) !== null; |
| 603 | var isResultados = regexResultados.exec(hash) !== null; | 612 | var isResultados = regexResultados.exec(hash) !== null; |
| 604 | var isSobreOPrograma = regexSobreOPrograma.exec(hash) !== null; | 613 | var isSobreOPrograma = regexSobreOPrograma.exec(hash) !== null; |
| 614 | + var isActivateUser = regexActivateUser.exec(hash) !== null; | ||
| 605 | 615 | ||
| 606 | if(isArticle) { | 616 | if(isArticle) { |
| 607 | this.display_article(hash.split('/')[2], lastHash); | 617 | this.display_article(hash.split('/')[2], lastHash); |
| @@ -673,6 +683,11 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | @@ -673,6 +683,11 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | ||
| 673 | this.display_category_tab(); | 683 | this.display_category_tab(); |
| 674 | } | 684 | } |
| 675 | 685 | ||
| 686 | + if(isActivateUser){ | ||
| 687 | + var code = parts.pop(); | ||
| 688 | + Main.activateUser(code); | ||
| 689 | + } | ||
| 690 | + | ||
| 676 | // [BEGIN] Tracking | 691 | // [BEGIN] Tracking |
| 677 | if (window._paq){ | 692 | if (window._paq){ |
| 678 | // _paq.push(['trackEvent', 'NavegarPara', hash || '/']); | 693 | // _paq.push(['trackEvent', 'NavegarPara', hash || '/']); |
| @@ -927,6 +942,43 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | @@ -927,6 +942,43 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers | ||
| 927 | }, | 942 | }, |
| 928 | handleLoginFail: function (e){ | 943 | handleLoginFail: function (e){ |
| 929 | console.error('handleLoginFail', e); | 944 | console.error('handleLoginFail', e); |
| 945 | + }, | ||
| 946 | + activateUser: function(code){ | ||
| 947 | + | ||
| 948 | + /** | ||
| 949 | + * @TODO Import database of dialoga.gov.br into local | ||
| 950 | + * and test the activation with new url | ||
| 951 | + */ | ||
| 952 | + if(code && code.length > 0){ | ||
| 953 | + $.ajax({ | ||
| 954 | + method: 'PATCH', | ||
| 955 | + url:host+'/api/v1/activate', | ||
| 956 | + data: { | ||
| 957 | + private_token: Main.private_token, | ||
| 958 | + activation_code: code | ||
| 959 | + }, | ||
| 960 | + success:function(response, textStatus, xhr){ | ||
| 961 | + | ||
| 962 | + if(xhr != 202){ | ||
| 963 | + $('.activate-message').html('Usuário ativado com sucesso') | ||
| 964 | + .removeClass('alert-danger') | ||
| 965 | + .addClass('alert-success') | ||
| 966 | + .show(); | ||
| 967 | + | ||
| 968 | + $(document).trigger('login:success', response); | ||
| 969 | + } | ||
| 970 | + | ||
| 971 | + }, | ||
| 972 | + error:function(xhr, textStatus, errorTrown){ | ||
| 973 | + if(xhr.status == 412){ | ||
| 974 | + $('.activate-message').html('<strong>Erro:</strong> O código de ativação é inválido') | ||
| 975 | + .removeClass('alert-success') | ||
| 976 | + .addClass('alert-danger') | ||
| 977 | + .show(); | ||
| 978 | + } | ||
| 979 | + } | ||
| 980 | + }); | ||
| 981 | + } | ||
| 930 | } | 982 | } |
| 931 | }; | 983 | }; |
| 932 | })(); | 984 | })(); |