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 | 123 | </div> |
| 124 | 124 | </header> |
| 125 | 125 | |
| 126 | + <div class="activate-message alert hide" role="alert"></div> | |
| 127 | + | |
| 126 | 128 | <div id="article-container" class="article-container hide"> |
| 127 | 129 | <a href="#" class="go-back">Voltar</a> |
| 128 | 130 | <div class="article-content"></div> | ... | ... |
js/main.js
| ... | ... | @@ -53,14 +53,14 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers |
| 53 | 53 | patt = new RegExp(':3000/'); |
| 54 | 54 | |
| 55 | 55 | if(patt.test(window.location.href)){ |
| 56 | - host = 'http://noosfero.com:3000'; | |
| 56 | + host = 'http://login.dialoga.gov.br'; | |
| 57 | 57 | }else if (new RegExp(':3001/').test(window.location.href)){ |
| 58 | 58 | host = 'http://noosfero.com:3001'; |
| 59 | - dialoga_community = 104; | |
| 59 | + //dialoga_community = 104; | |
| 60 | 60 | // proposal_discussion = '413'; //Eugênio |
| 61 | - proposal_discussion = '392'; //Evandro | |
| 61 | + //proposal_discussion = '392'; //Evandro | |
| 62 | 62 | recaptchaSiteKey = '6LdsWAcTAAAAAChTUUD6yu9fCDhdIZzNd7F53zf-'; //http://noosfero.com/ |
| 63 | - cat_saude = 23; | |
| 63 | + //cat_saude = 23; | |
| 64 | 64 | } else { //ABNER |
| 65 | 65 | host = 'http://local.abner.com:3002'; |
| 66 | 66 | dialoga_community = 105; |
| ... | ... | @@ -303,8 +303,11 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers |
| 303 | 303 | }, |
| 304 | 304 | loginCallback: function(loggedIn, token, user) { |
| 305 | 305 | logged_in = loggedIn; |
| 306 | + var requireLoginContainer; | |
| 306 | 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 | 312 | if(user && !Main.getUser()) { |
| 310 | 313 | Main.setUser(user); |
| ... | ... | @@ -315,12 +318,17 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers |
| 315 | 318 | if(token){ |
| 316 | 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 | 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 | 332 | } else if (user) { |
| 325 | 333 | // fluxo signup vindo das caixas de login dentro dos programas |
| 326 | 334 | if(requireLoginContainer.length > 0){ |
| ... | ... | @@ -585,6 +593,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers |
| 585 | 593 | var regexArticle = /#\/artigo/; |
| 586 | 594 | var regexResultados = /resultados$/; |
| 587 | 595 | var regexSobreOPrograma = /sobre-o-programa$/; |
| 596 | + var regexActivateUser = /#\/activate/; | |
| 588 | 597 | |
| 589 | 598 | if( (regexHideBarra.exec(hash) === null) && !HIDE_BARRA_DO_GOVERNO ){ |
| 590 | 599 | this.addBarraDoGoverno(); |
| ... | ... | @@ -602,6 +611,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers |
| 602 | 611 | var isArticle = regexArticle.exec(hash) !== null; |
| 603 | 612 | var isResultados = regexResultados.exec(hash) !== null; |
| 604 | 613 | var isSobreOPrograma = regexSobreOPrograma.exec(hash) !== null; |
| 614 | + var isActivateUser = regexActivateUser.exec(hash) !== null; | |
| 605 | 615 | |
| 606 | 616 | if(isArticle) { |
| 607 | 617 | this.display_article(hash.split('/')[2], lastHash); |
| ... | ... | @@ -673,6 +683,11 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers |
| 673 | 683 | this.display_category_tab(); |
| 674 | 684 | } |
| 675 | 685 | |
| 686 | + if(isActivateUser){ | |
| 687 | + var code = parts.pop(); | |
| 688 | + Main.activateUser(code); | |
| 689 | + } | |
| 690 | + | |
| 676 | 691 | // [BEGIN] Tracking |
| 677 | 692 | if (window._paq){ |
| 678 | 693 | // _paq.push(['trackEvent', 'NavegarPara', hash || '/']); |
| ... | ... | @@ -927,6 +942,43 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers |
| 927 | 942 | }, |
| 928 | 943 | handleLoginFail: function (e){ |
| 929 | 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 | })(); | ... | ... |