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