Commit 8a4abcdea6191cdc0056644cb3e1a40cd8e1458b

Authored by Michel Felipe
1 parent 771a9fb6

Added activate user url verification with ajax request to API

Showing 2 changed files with 64 additions and 10 deletions   Show diff stats
@@ -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>
@@ -53,14 +53,14 @@ define([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;handlebars_helpers @@ -53,14 +53,14 @@ define([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;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([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;handlebars_helpers @@ -303,8 +303,11 @@ define([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;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([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;handlebars_helpers @@ -315,12 +318,17 @@ define([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;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([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;handlebars_helpers @@ -585,6 +593,7 @@ define([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;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([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;handlebars_helpers @@ -602,6 +611,7 @@ define([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;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([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;handlebars_helpers @@ -673,6 +683,11 @@ define([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;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([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;handlebars_helpers @@ -927,6 +942,43 @@ define([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;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 })();