Commit 279e0627d30988676c536dc2fc5a2ddcfa68865f

Authored by Evandro Junior
2 parents 5a41c689 1771480d

Merge branch 'master' of https://gitlab.com/participa/proposal-app

Showing 2 changed files with 189 additions and 58 deletions   Show diff stats
@@ -52,7 +52,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers @@ -52,7 +52,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
52 var API = { 52 var API = {
53 articles: '', 53 articles: '',
54 proposals: '/api/v1/articles/{topic_id}/children', 54 proposals: '/api/v1/articles/{topic_id}/children',
55 - 55 +
56 }; 56 };
57 57
58 API.getProposalsURL = function (topicId){ 58 API.getProposalsURL = function (topicId){
@@ -63,6 +63,16 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers @@ -63,6 +63,16 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
63 return str.replace(new RegExp(pattern, 'g'), value); 63 return str.replace(new RegExp(pattern, 'g'), value);
64 } 64 }
65 65
  66 + function fillSignupForm(signupForm, user) {
  67 + signupForm.find('#signup-user_email').val(user.email);
  68 + signupForm.find('#signup-user_name').val(user.login);
  69 + signupForm.find('#user_oauth_providers').val(user.oauth_providers);
  70 + /*signupForm.find('div.password').hide();
  71 + signupForm.find('div.password-confirmation').hide();
  72 + signupForm.find('#signup-user_password').attr('required', false);
  73 + signupForm.find('#user_password_confirmation').attr('required', false);*/
  74 + };
  75 +
66 return { 76 return {
67 private_token: '375bee7e17d0021af7160ce664874618', 77 private_token: '375bee7e17d0021af7160ce664874618',
68 getProposalId: function() { 78 getProposalId: function() {
@@ -97,7 +107,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers @@ -97,7 +107,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
97 if(childId !== 0 && !force){ 107 if(childId !== 0 && !force){
98 url += '/' + childId; 108 url += '/' + childId;
99 } 109 }
100 - url += '?private_token=' + private_token + '&limit=1&order=random()&_='+new Date().getTime()+'&fields=id,name,slug,abstract,created_by&content_type=ProposalsDiscussionPlugin::Proposal'; 110 + url += '?private_ftoken=' + private_token + '&limit=1&order=random()&_='+new Date().getTime()+'&fields=id,name,slug,abstract,created_by&content_type=ProposalsDiscussionPlugin::Proposal';
101 111
102 $.getJSON(url).done(function( data ) { 112 $.getJSON(url).done(function( data ) {
103 $loading.hide(); 113 $loading.hide();
@@ -120,10 +130,12 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers @@ -120,10 +130,12 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
120 }); 130 });
121 $body.off('click', '.vote-actions .vote-action'); 131 $body.off('click', '.vote-actions .vote-action');
122 $body.on('click', '.vote-actions .vote-action', function(e) { 132 $body.on('click', '.vote-actions .vote-action', function(e) {
123 - //Helps to prevent more than one vote per proposal  
124 - var button = $(this);  
125 e.preventDefault(); 133 e.preventDefault();
126 134
  135 + //Helps to prevent more than one vote per proposal
  136 + var $button = $(this);
  137 + var $proposal = $button.closest('.random-proposal');
  138 +
127 if(!logged_in) { 139 if(!logged_in) {
128 $(this).closest('.require-login-container').find('.button-send a').click(); 140 $(this).closest('.require-login-container').find('.button-send a').click();
129 return; 141 return;
@@ -131,7 +143,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers @@ -131,7 +143,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
131 143
132 if(ProposalApp.hasProposalbeenVoted(article.id)){ 144 if(ProposalApp.hasProposalbeenVoted(article.id)){
133 // console.debug("Proposta " + article.id + " já havia sido votada"); 145 // console.debug("Proposta " + article.id + " já havia sido votada");
134 - Main.displaySuccess(button.closest('.support-proposal .section-content'), 'Seu voto já foi computado nesta proposta', 800); 146 + Main.displaySuccess($button.closest('.support-proposal .section-content'), 'Seu voto já foi computado nesta proposta', 800);
135 contextMain.loadRandomProposal(topic_id, true); 147 contextMain.loadRandomProposal(topic_id, true);
136 return; 148 return;
137 } 149 }
@@ -145,12 +157,35 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers @@ -145,12 +157,35 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
145 } 157 }
146 }).done(function(data) { 158 }).done(function(data) {
147 if(data.vote) { 159 if(data.vote) {
148 - Main.displaySuccess(button.closest('.support-proposal .section-content'), 'Voto realizado com sucesso', 800); 160 + // Main.displaySuccess($button.closest('.support-proposal .section-content'), '', 800);
  161 + $proposal.find('.abstract').hide();
  162 + $proposal.find('.vote-actions .like').hide();
  163 + $proposal.find('.vote-actions .dislike').hide();
  164 + // $proposal.find('.vote-actions .vote-result').hide();
  165 + var $successPanel = $('.success-panel').clone();
  166 + $successPanel.find('.icon').addClass('icon-proposal-sent');
  167 + $successPanel.find('.message').html('Voto realizado com sucesso');
  168 + $successPanel.removeClass('hide');
  169 + $proposal.prepend($successPanel);
  170 + $successPanel.show();
  171 + // $successPanel.css('top', Math.max(0, (($proposal.height() - $successPanel.outerHeight()) / 2) + $proposal.offset().top) + 'px');
  172 + // $successPanel.css('left', Math.max(0, (($proposal.width() - $successPanel.outerWidth()) / 2) + $proposal.offset().left) + 'px');
149 } else { 173 } else {
150 - Main.displaySuccess(button.closest('.support-proposal .section-content'), 'Seu voto já foi computado nesta proposta', 800); 174 + $proposal.find('.abstract').hide();
  175 + $proposal.find('.vote-actions .like').hide();
  176 + $proposal.find('.vote-actions .dislike').hide();
  177 +
  178 + var $successPanel = $('.success-panel').clone();
  179 + // $successPanel.find('.icon').addClass('icon-proposal-sent');
  180 + $successPanel.find('.message').html('Seu voto já foi computado nesta proposta');
  181 + $successPanel.removeClass('hide');
  182 + $proposal.prepend($successPanel);
  183 + $successPanel.show();
  184 + // Main.displaySuccess($button.closest('.support-proposal .section-content'), , 800);
  185 + // $successPanel.find('.message').html('Seu voto já foi computado nesta proposta');
151 } 186 }
152 - ProposalApp.addVotedProposal(article.id);  
153 - contextMain.loadRandomProposal(topic_id, true); 187 + // ProposalApp.addVotedProposal(article.id);
  188 + // contextMain.loadRandomProposal(topic_id, true);
154 }); 189 });
155 }); 190 });
156 191
@@ -239,6 +274,10 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers @@ -239,6 +274,10 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
239 $('.login .message').text(''); 274 $('.login .message').text('');
240 var requireLoginContainer = loginButton.closest('.require-login-container'); 275 var requireLoginContainer = loginButton.closest('.require-login-container');
241 276
  277 + if(user && !Main.getUser()) {
  278 + Main.setUser(user);
  279 + }
  280 +
242 if(logged_in) { 281 if(logged_in) {
243 Main.showLogout(); 282 Main.showLogout();
244 if(token){ 283 if(token){
@@ -251,13 +290,18 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers @@ -251,13 +290,18 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
251 $.cookie('_dialoga_session', Main.private_token); 290 $.cookie('_dialoga_session', Main.private_token);
252 $('#login-panel').hide(); 291 $('#login-panel').hide();
253 } else if (user) { 292 } else if (user) {
254 - var loginContainer = requireLoginContainer.find('.login-container');  
255 - loginContainer.show();  
256 - loginContainer.find('.new-user').click();  
257 - var $signupForm = loginContainer.find('#signup-form');  
258 - $signupForm.find('#user_email').val(user.email);  
259 - $signupForm.find('#user_name').val(user.login);  
260 - $signupForm.find('#user_oauth_providers').val(user.oauth_providers); 293 + // fluxo signup vindo das caixas de login dentro dos programas
  294 + if(requireLoginContainer.length > 0){
  295 + var loginContainer = requireLoginContainer.find('.login-container');
  296 + loginContainer.show();
  297 + loginContainer.find('.new-user').click();
  298 + var $signupForm = loginContainer.find('#signup-form');
  299 + fillSignupForm($signupForm, user);
  300 + } else { //signup botão Entrar principal vindo de OAUTH
  301 + $('#login-panel').find('a.new-user').click();
  302 + var $signupForm = $('#login-panel #signup-form');
  303 + fillSignupForm($signupForm, user);
  304 + }
261 } else { 305 } else {
262 requireLoginContainer.find('.require-login').hide(); 306 requireLoginContainer.find('.require-login').hide();
263 requireLoginContainer.find('.login-container').show(); 307 requireLoginContainer.find('.login-container').show();
@@ -292,7 +336,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers @@ -292,7 +336,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
292 var proposalsByTheme = $('#proposal-group .proposal-list .proposal-item').find('.' + themeClass); 336 var proposalsByTheme = $('#proposal-group .proposal-list .proposal-item').find('.' + themeClass);
293 var randomizedIndex = Math.floor(Math.random() * proposalsByTheme.length); 337 var randomizedIndex = Math.floor(Math.random() * proposalsByTheme.length);
294 var proposalToShow = $(proposalsByTheme[randomizedIndex]).parents().filter('.proposal-item'); 338 var proposalToShow = $(proposalsByTheme[randomizedIndex]).parents().filter('.proposal-item');
295 - $(proposalToShow).show(); 339 + $(proposalToShow).show();
296 }); 340 });
297 }, 341 },
298 display_category_tab: function(){ 342 display_category_tab: function(){
@@ -539,7 +583,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers @@ -539,7 +583,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
539 var $proposal = $('#proposal-item-' + proposalId); 583 var $proposal = $('#proposal-item-' + proposalId);
540 proposalTitle = $proposal.find('.title').text(); 584 proposalTitle = $proposal.find('.title').text();
541 var proposalOffset = $proposal.offset(); 585 var proposalOffset = $proposal.offset();
542 - 586 +
543 if(proposalOffset){ 587 if(proposalOffset){
544 scrollTop = proposalOffset.top; 588 scrollTop = proposalOffset.top;
545 }else{ 589 }else{
@@ -696,7 +740,12 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers @@ -696,7 +740,12 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
696 var name = ''; 740 var name = '';
697 var user = Main.getUser(); 741 var user = Main.getUser();
698 if(user){ 742 if(user){
699 - name = user.person.name + ' - '; 743 + if(user.person && user.person.name){
  744 + name = user.person.name + ' - ';
  745 + }else{
  746 + name = user.login + ' - ';
  747 + }
  748 +
700 } 749 }
701 $('#logout-button .name').text(name); 750 $('#logout-button .name').text(name);
702 $('#logout-button').show(); 751 $('#logout-button').show();
@@ -724,7 +773,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers @@ -724,7 +773,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
724 display_events: function(cat_id, active_category) { 773 display_events: function(cat_id, active_category) {
725 var url = host + '/api/v1/communities/' + dialoga_community + '/articles?categories_ids[]=' + cat_id + '&content_type=Event&private_token=' + '375bee7e17d0021af7160ce664874618'; 774 var url = host + '/api/v1/communities/' + dialoga_community + '/articles?categories_ids[]=' + cat_id + '&content_type=Event&private_token=' + '375bee7e17d0021af7160ce664874618';
726 $.getJSON(url).done(function (data) { 775 $.getJSON(url).done(function (data) {
727 - 776 +
728 if(data.articles.length === 0){ 777 if(data.articles.length === 0){
729 return; 778 return;
730 } 779 }
@@ -785,7 +834,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers @@ -785,7 +834,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
785 var maxLinesByParagraph = 0; 834 var maxLinesByParagraph = 0;
786 var maxLinesByTitle = 0; 835 var maxLinesByTitle = 0;
787 var $visibleProposals = $('.proposal-list .proposal-item:visible'); 836 var $visibleProposals = $('.proposal-list .proposal-item:visible');
788 - 837 +
789 // get the bigger paragraph 838 // get the bigger paragraph
790 $visibleProposals.each(function(index, proposalItemEl){ 839 $visibleProposals.each(function(index, proposalItemEl){
791 var $proposalItemEl = $(proposalItemEl); 840 var $proposalItemEl = $(proposalItemEl);
@@ -796,7 +845,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers @@ -796,7 +845,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
796 } 845 }
797 }); 846 });
798 // console.log('maxLinesByParagraph', maxLinesByParagraph); 847 // console.log('maxLinesByParagraph', maxLinesByParagraph);
799 - 848 +
800 // get the bigger title 849 // get the bigger title
801 $visibleProposals.each(function(index, proposalItemEl){ 850 $visibleProposals.each(function(index, proposalItemEl){
802 var $proposalItemEl = $(proposalItemEl); 851 var $proposalItemEl = $(proposalItemEl);
@@ -812,10 +861,10 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers @@ -812,10 +861,10 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
812 var $proposalItemEl = $(proposalItemEl); 861 var $proposalItemEl = $(proposalItemEl);
813 var $title = $proposalItemEl.find('.box__title'); 862 var $title = $proposalItemEl.find('.box__title');
814 var $paragraph = $proposalItemEl.find('p'); 863 var $paragraph = $proposalItemEl.find('p');
815 - 864 +
816 var newTitleHeight = maxLinesByTitle * hPerLineOnTitle; 865 var newTitleHeight = maxLinesByTitle * hPerLineOnTitle;
817 var newParagraphHeight = maxLinesByParagraph * hPerLineOnParagraph; 866 var newParagraphHeight = maxLinesByParagraph * hPerLineOnParagraph;
818 - 867 +
819 $title.css('height', newTitleHeight + 'px'); 868 $title.css('height', newTitleHeight + 'px');
820 $paragraph.css('height', newParagraphHeight + 'px'); 869 $paragraph.css('height', newParagraphHeight + 'px');
821 }); 870 });
@@ -827,7 +876,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers @@ -827,7 +876,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
827 computeLines: function ($el) { 876 computeLines: function ($el) {
828 // reset height 877 // reset height
829 $el.height('auto'); 878 $el.height('auto');
830 - 879 +
831 var divHeight = $el.height(); 880 var divHeight = $el.height();
832 var lineHeight = parseInt($el.css('lineHeight')); 881 var lineHeight = parseInt($el.css('lineHeight'));
833 var lines = Math.ceil(divHeight / lineHeight); 882 var lines = Math.ceil(divHeight / lineHeight);
@@ -845,7 +894,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers @@ -845,7 +894,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
845 }; 894 };
846 })(); 895 })();
847 896
848 - 897 +
849 var noosferoAPI = host + '/api/v1/articles/' + proposal_discussion + '?private_token=' + Main.private_token + '&fields=id,children,categories,abstract,title,image,url,setting,position'; 898 var noosferoAPI = host + '/api/v1/articles/' + proposal_discussion + '?private_token=' + Main.private_token + '&fields=id,children,categories,abstract,title,image,url,setting,position';
850 899
851 $.getJSON(noosferoAPI) 900 $.getJSON(noosferoAPI)
@@ -879,7 +928,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers @@ -879,7 +928,7 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
879 if(url.indexOf('?') !== -1){ 928 if(url.indexOf('?') !== -1){
880 c = '&'; 929 c = '&';
881 } 930 }
882 - 931 +
883 var resultUrl = url + c + 'wmode=opaque'; 932 var resultUrl = url + c + 'wmode=opaque';
884 article.abstract = abstract.replace(url, resultUrl); 933 article.abstract = abstract.replace(url, resultUrl);
885 // console.log('article.abstract', article.abstract); 934 // console.log('article.abstract', article.abstract);
@@ -887,6 +936,28 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers @@ -887,6 +936,28 @@ define(['jquery', 'handlebars', 'fastclick', 'proposal_app', 'handlebars_helpers
887 936
888 forceWmodeIframe(data.article); 937 forceWmodeIframe(data.article);
889 938
  939 + function removeStylefromIframe (article){
  940 + var abstract = article.abstract;
  941 +
  942 + var patternIframe = 'style="';
  943 + var indexOfIframe = abstract.indexOf('<iframe');
  944 + var indexOfStyleOnIframe = abstract.indexOf('style="', indexOfIframe);
  945 +
  946 + if(indexOfStyleOnIframe === -1){
  947 + return;
  948 + }
  949 +
  950 + var startStyleContent = indexOfStyleOnIframe + patternIframe.length;
  951 + var endStyleContent = abstract.indexOf('"', startStyleContent);
  952 + var style = abstract.substring(startStyleContent , endStyleContent);
  953 + // console.log('style', style);
  954 +
  955 + article.abstract = abstract.replace(style, '');
  956 + // console.log('article.abstract', article.abstract);
  957 + }
  958 +
  959 + removeStylefromIframe(data.article);
  960 +
890 resultsPlaceholder.innerHTML = template(data); 961 resultsPlaceholder.innerHTML = template(data);
891 $('.login-container').html(loginTemplate()); 962 $('.login-container').html(loginTemplate());
892 $('.countdown').maxlength({text: '%left caracteres restantes'}); 963 $('.countdown').maxlength({text: '%left caracteres restantes'});
@@ -930,17 +1001,18 @@ define([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;handlebars_helpers @@ -930,17 +1001,18 @@ define([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;handlebars_helpers
930 var $target = $(e.target); 1001 var $target = $(e.target);
931 1002
932 var isLoginButton = ($target.attr('id') === 'login-button'); 1003 var isLoginButton = ($target.attr('id') === 'login-button');
  1004 + var isLoginButtonIcon = $target.hasClass('icon-login');
933 var requireLogin = $target.hasClass('require-main-login'); 1005 var requireLogin = $target.hasClass('require-main-login');
934 var isChildOfPanel = ($target.closest(loginPanelId).length !== 0); 1006 var isChildOfPanel = ($target.closest(loginPanelId).length !== 0);
935 1007
936 - if( !isLoginButton && !isChildOfPanel && !requireLogin ){ 1008 + if( !isLoginButton && !isLoginButtonIcon && !isChildOfPanel && !requireLogin ){
937 $loginPanel.hide(); 1009 $loginPanel.hide();
938 } 1010 }
939 }); 1011 });
940 1012
941 // handle esc 1013 // handle esc
942 $(document).keyup(function(e) { 1014 $(document).keyup(function(e) {
943 - 1015 +
944 // escape key maps to keycode `27` 1016 // escape key maps to keycode `27`
945 if (e.keyCode === 27) { // ESC 1017 if (e.keyCode === 27) { // ESC
946 $loginPanel.hide(); 1018 $loginPanel.hide();
@@ -1199,7 +1271,7 @@ define([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;handlebars_helpers @@ -1199,7 +1271,7 @@ define([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;handlebars_helpers
1199 }); 1271 });
1200 1272
1201 $(document).on('click', '.new-user', function(e) { 1273 $(document).on('click', '.new-user', function(e) {
1202 - 1274 +
1203 if(window.lastCaptcha){ 1275 if(window.lastCaptcha){
1204 window.lastCaptcha.destruir(); 1276 window.lastCaptcha.destruir();
1205 } 1277 }
@@ -1213,28 +1285,33 @@ define([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;handlebars_helpers @@ -1213,28 +1285,33 @@ define([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;handlebars_helpers
1213 1285
1214 signupForm.find('.password').show(); 1286 signupForm.find('.password').show();
1215 signupForm.find('.password-confirmation').show(); 1287 signupForm.find('.password-confirmation').show();
  1288 +
  1289 + signupForm.find('signup-user_password').attr('required', true);
  1290 + signupForm.find('#user_password_confirmation').attr('required', true);
  1291 +
1216 loginForm.find('.message').hide(); 1292 loginForm.find('.message').hide();
1217 signupForm.find('#serpro_captcha').empty(); 1293 signupForm.find('#serpro_captcha').empty();
1218 - 1294 +
1219 var oCaptcha_serpro_gov_br; 1295 var oCaptcha_serpro_gov_br;
1220 oCaptcha_serpro_gov_br = new captcha_serpro_gov_br(); 1296 oCaptcha_serpro_gov_br = new captcha_serpro_gov_br();
1221 window.lastCaptcha = oCaptcha_serpro_gov_br; 1297 window.lastCaptcha = oCaptcha_serpro_gov_br;
1222 oCaptcha_serpro_gov_br.clienteId = 'fdbcdc7a0b754ee7ae9d865fda740f17'; 1298 oCaptcha_serpro_gov_br.clienteId = 'fdbcdc7a0b754ee7ae9d865fda740f17';
1223 oCaptcha_serpro_gov_br.url = "/captchaserpro" 1299 oCaptcha_serpro_gov_br.url = "/captchaserpro"
1224 oCaptcha_serpro_gov_br.criarUI(signupForm.find('#serpro_captcha')[0], 'css', 'serpro_captcha_component_'); 1300 oCaptcha_serpro_gov_br.criarUI(signupForm.find('#serpro_captcha')[0], 'css', 'serpro_captcha_component_');
1225 - 1301 +
1226 e.preventDefault(); 1302 e.preventDefault();
1227 }); 1303 });
1228 1304
1229 $(document).on('click', '.cancel-signup', function(e) { 1305 $(document).on('click', '.cancel-signup', function(e) {
1230 var signupForm = $(this).parents('#signup-form'); 1306 var signupForm = $(this).parents('#signup-form');
  1307 + signupForm.find('#user_oauth_providers').val('');
1231 signupForm.hide(); 1308 signupForm.hide();
1232 signupForm.siblings('#login-form').show(); 1309 signupForm.siblings('#login-form').show();
1233 e.preventDefault(); 1310 e.preventDefault();
1234 }); 1311 });
1235 1312
1236 $(document).on('click', '.confirm-signup', function(e) { 1313 $(document).on('click', '.confirm-signup', function(e) {
1237 - 1314 +
1238 var $button = $(this); 1315 var $button = $(this);
1239 var $signupForm = $(this).parents('form.signup'); 1316 var $signupForm = $(this).parents('form.signup');
1240 var $inputEmail = $signupForm.find('#signup-user_email'); 1317 var $inputEmail = $signupForm.find('#signup-user_email');
@@ -1243,7 +1320,7 @@ define([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;handlebars_helpers @@ -1243,7 +1320,7 @@ define([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;handlebars_helpers
1243 var $inputPasswordConfirmation = $signupForm.find('#user_password_confirmation'); 1320 var $inputPasswordConfirmation = $signupForm.find('#user_password_confirmation');
1244 var $inputAcceptation = $signupForm.find('#user_terms_accepted'); 1321 var $inputAcceptation = $signupForm.find('#user_terms_accepted');
1245 var $inputCaptcha = $signupForm.find('#captcha_text'); 1322 var $inputCaptcha = $signupForm.find('#captcha_text');
1246 - 1323 +
1247 // clear messages 1324 // clear messages
1248 var message = $('.signup .message'); 1325 var message = $('.signup .message');
1249 message.hide(); 1326 message.hide();
@@ -1252,9 +1329,19 @@ define([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;handlebars_helpers @@ -1252,9 +1329,19 @@ define([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;handlebars_helpers
1252 // Validate form 1329 // Validate form
1253 var hasEmail = $inputEmail && $inputEmail.val().length > 0; 1330 var hasEmail = $inputEmail && $inputEmail.val().length > 0;
1254 var hasUsername = $inputUsername && $inputUsername.val().length > 0; 1331 var hasUsername = $inputUsername && $inputUsername.val().length > 0;
1255 - var hasPassword = $inputPassword && $inputPassword.val().length > 0;  
1256 - var hasPasswordConfirmation = $inputPasswordConfirmation && $inputPasswordConfirmation.val().length > 0;  
1257 - var hasPasswordEquals = $inputPassword.val() === $inputPasswordConfirmation.val(); 1332 +
  1333 + var isOAUTH = $signupForm.find('#user_oauth_providers').val() !== '';
  1334 +
  1335 + var hasPassword = true;
  1336 + var hasPasswordConfirmation = true;
  1337 + var hasPasswordEquals = true;
  1338 +
  1339 + //if(! isOAUTH){
  1340 + hasPassword = $inputPassword && $inputPassword.val().length > 0;
  1341 + hasPasswordConfirmation = $inputPasswordConfirmation && $inputPasswordConfirmation.val().length > 0;
  1342 + hasPasswordEquals = $inputPassword.val() === $inputPasswordConfirmation.val();
  1343 + //}
  1344 +
1258 var hasAcceptation = $inputAcceptation.val(); 1345 var hasAcceptation = $inputAcceptation.val();
1259 var hasCaptcha = $inputCaptcha.val().length > 0; 1346 var hasCaptcha = $inputCaptcha.val().length > 0;
1260 var hasError = (!hasEmail || !hasUsername || !hasPassword || !hasPasswordConfirmation || !hasPasswordEquals || !hasAcceptation || !hasCaptcha); 1347 var hasError = (!hasEmail || !hasUsername || !hasPassword || !hasPasswordConfirmation || !hasPasswordEquals || !hasAcceptation || !hasCaptcha);
@@ -1266,32 +1353,35 @@ define([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;handlebars_helpers @@ -1266,32 +1353,35 @@ define([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;handlebars_helpers
1266 1353
1267 var messageErrors = []; 1354 var messageErrors = [];
1268 1355
  1356 +
1269 messageErrors.push('<ul>'); // start a HTML list 1357 messageErrors.push('<ul>'); // start a HTML list
1270 - 1358 +
1271 if (!hasEmail){ 1359 if (!hasEmail){
1272 messageErrors.push('<li>O e-mail é um campo obrigatório.</li>'); 1360 messageErrors.push('<li>O e-mail é um campo obrigatório.</li>');
1273 } 1361 }
1274 - 1362 +
1275 if (!hasUsername){ 1363 if (!hasUsername){
1276 messageErrors.push('<li>O nome de usuário é um campo obrigatório.</li>'); 1364 messageErrors.push('<li>O nome de usuário é um campo obrigatório.</li>');
1277 } 1365 }
1278 -  
1279 - if (!hasPassword){  
1280 - messageErrors.push('<li>A senha é um campo obrigatório.</li>');  
1281 - }  
1282 -  
1283 - if (!hasPasswordConfirmation){  
1284 - messageErrors.push('<li>A confirmação da senha é um campo obrigatório.</li>');  
1285 - }  
1286 -  
1287 - if (!hasPasswordEquals){  
1288 - messageErrors.push('<li>A senha e confirmação da senha devem ser iguais.</li>'); 1366 +
  1367 + if(!isOAUTH){
  1368 + if (!hasPassword){
  1369 + messageErrors.push('<li>A senha é um campo obrigatório.</li>');
  1370 + }
  1371 +
  1372 + if (!hasPasswordConfirmation){
  1373 + messageErrors.push('<li>A confirmação da senha é um campo obrigatório.</li>');
  1374 + }
  1375 +
  1376 + if (!hasPasswordEquals){
  1377 + messageErrors.push('<li>A senha e confirmação da senha devem ser iguais.</li>');
  1378 + }
1289 } 1379 }
1290 - 1380 +
1291 if (!hasAcceptation){ 1381 if (!hasAcceptation){
1292 messageErrors.push('<li>Você deve ler e aceitar os termos de uso.</li>'); 1382 messageErrors.push('<li>Você deve ler e aceitar os termos de uso.</li>');
1293 } 1383 }
1294 - 1384 +
1295 if (!hasCaptcha){ 1385 if (!hasCaptcha){
1296 messageErrors.push('<li>O ReCaptcha é um campo obrigatório.</li>'); 1386 messageErrors.push('<li>O ReCaptcha é um campo obrigatório.</li>');
1297 } 1387 }
@@ -1358,6 +1448,30 @@ define([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;handlebars_helpers @@ -1358,6 +1448,30 @@ define([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;handlebars_helpers
1358 } 1448 }
1359 }); 1449 });
1360 1450
  1451 + var popupCenter = function(url, title, w, h) {
  1452 + var dualScreenLeft = window.screenLeft !== undefined ? window.screenLeft : screen.left;
  1453 + var dualScreenTop = window.screenTop !== undefined ? window.screenTop : screen.top;
  1454 +
  1455 + var width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width;
  1456 + var height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height;
  1457 +
  1458 + var left = ((width / 2) - (w / 2)) + dualScreenLeft;
  1459 + var top = ((height / 3) - (h / 3)) + dualScreenTop;
  1460 +
  1461 + var newWindow = window.open(url, title, 'scrollbars=yes, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left);
  1462 +
  1463 + // Puts focus on the newWindow
  1464 + if (window.focus) {
  1465 + newWindow.focus();
  1466 + }
  1467 + };
  1468 +
  1469 + $(document).on('click', '.social a.popup', {}, function popUp(e) {
  1470 + var self = $(this);
  1471 + popupCenter(self.attr('href'), self.find('.rrssb-text').html(), 580, 470);
  1472 + e.preventDefault();
  1473 + });
  1474 +
1361 $(document).on('click', '#logout-button', function (e){ 1475 $(document).on('click', '#logout-button', function (e){
1362 $.removeCookie('_dialoga_session'); 1476 $.removeCookie('_dialoga_session');
1363 $.removeCookie('votedProposals'); 1477 $.removeCookie('votedProposals');
@@ -1395,7 +1509,7 @@ define([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;handlebars_helpers @@ -1395,7 +1509,7 @@ define([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;handlebars_helpers
1395 // if(url.indexOf('?') !== -1){ 1509 // if(url.indexOf('?') !== -1){
1396 // c = '&'; 1510 // c = '&';
1397 // } 1511 // }
1398 - 1512 +
1399 // $iframe.attr("src",url+c+"wmode=opaque"); 1513 // $iframe.attr("src",url+c+"wmode=opaque");
1400 // // console.debug('iframe changed to opaque mode'); 1514 // // console.debug('iframe changed to opaque mode');
1401 // }); 1515 // });
@@ -1431,7 +1545,7 @@ define([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;handlebars_helpers @@ -1431,7 +1545,7 @@ define([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;handlebars_helpers
1431 1545
1432 return function debounced () { 1546 return function debounced () {
1433 var obj = this, args = arguments; 1547 var obj = this, args = arguments;
1434 - 1548 +
1435 function delayed () { 1549 function delayed () {
1436 if (!execAsap){ 1550 if (!execAsap){
1437 func.apply(obj, args); 1551 func.apply(obj, args);
@@ -1449,7 +1563,7 @@ define([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;handlebars_helpers @@ -1449,7 +1563,7 @@ define([&#39;jquery&#39;, &#39;handlebars&#39;, &#39;fastclick&#39;, &#39;proposal_app&#39;, &#39;handlebars_helpers
1449 }; 1563 };
1450 }; 1564 };
1451 1565
1452 - // smartresize 1566 + // smartresize
1453 jQuery.fn[sr] = function(fn){ 1567 jQuery.fn[sr] = function(fn){
1454 return fn ? this.bind('resize', debounce(fn)) : this.trigger(sr); 1568 return fn ? this.bind('resize', debounce(fn)) : this.trigger(sr);
1455 }; 1569 };
sass/style.sass
@@ -425,6 +425,8 @@ h1 @@ -425,6 +425,8 @@ h1
425 // 6.3 - video 425 // 6.3 - video
426 #content 426 #content
427 margin-bottom: $gutter * 1.5 427 margin-bottom: $gutter * 1.5
  428 + .embed-responsive
  429 + border: 1px solid #333
428 430
429 // 6.4 - background do conteudo 431 // 6.4 - background do conteudo
430 .content 432 .content
@@ -1212,11 +1214,23 @@ td @@ -1212,11 +1214,23 @@ td
1212 clear: both 1214 clear: both
1213 content: " " 1215 content: " "
1214 display: table 1216 display: table
1215 - #serpro_captcha_component_img_captcha_serpro_gov_br 1217 + #divContainerUI_captcha_serpro_gov_br
  1218 + border: none
  1219 + box-shadow: none
  1220 + width: 250px
  1221 + #img_captcha_serpro_gov_br
1216 float: left 1222 float: left
1217 - #serpro_captcha_component_divButtons_captcha_serpro_gov_br 1223 + #divButtons_captcha_serpro_gov_br
1218 float: left 1224 float: left
1219 - margin: 10px 1225 + width: 100px
  1226 + img
  1227 + float: left
  1228 + margin: 0 0 0 10px
  1229 +
  1230 +// 6.22 - random proposal
  1231 +.random-proposal > .success-panel
  1232 + position: relative
  1233 + margin-bottom: 10px
1220 1234
1221 // ------------------------------------ 1235 // ------------------------------------
1222 // 7 - Modificadores 1236 // 7 - Modificadores
@@ -1462,6 +1476,9 @@ h3.titulo-destaque @@ -1462,6 +1476,9 @@ h3.titulo-destaque
1462 .embed-responsive 1476 .embed-responsive
1463 margin-left: $gutter * (-1) 1477 margin-left: $gutter * (-1)
1464 margin-right: $gutter * (-1) 1478 margin-right: $gutter * (-1)
  1479 + iframe
  1480 + left: 0 !important
  1481 +
1465 .themes 1482 .themes
1466 margin-bottom: $gutter * 1.5 1483 margin-bottom: $gutter * 1.5
1467 margin-left: $gutter * 1.5 * (-1) 1484 margin-left: $gutter * 1.5 * (-1)