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 | })(); | ... | ... |