Commit 8a19bd733d575f868b90f0b0a17e2fd01e58f861

Authored by Leonardo Merlin
1 parent bf5d44b9

Fix handler of unauthorized captcha

src/app/components/proposal-box/proposal-box.directive.js
@@ -58,10 +58,6 @@ @@ -58,10 +58,6 @@
58 }); 58 });
59 59
60 vm.$scope.$on('proposal-box:vote-response', function(event, data) { 60 vm.$scope.$on('proposal-box:vote-response', function(event, data) {
61 - vm.$log.debug('proposal-box:vote-response');  
62 - vm.$log.debug('event', event);  
63 - vm.$log.debug('data', data);  
64 -  
65 if (data.success) { 61 if (data.success) {
66 vm.STATE = vm.VOTE_STATUS.SUCCESS; 62 vm.STATE = vm.VOTE_STATUS.SUCCESS;
67 } 63 }
@@ -73,6 +69,8 @@ @@ -73,6 +69,8 @@
73 if (data.code === 401) { 69 if (data.code === 401) {
74 vm.message = 'Não autorizado.'; 70 vm.message = 'Não autorizado.';
75 } 71 }
  72 +
  73 + vm.messageCode = data.code;
76 }); 74 });
77 75
78 // Load captcha 76 // Load captcha
@@ -125,10 +123,11 @@ @@ -125,10 +123,11 @@
125 123
126 // SEND VOTE 124 // SEND VOTE
127 if (vm._oldVoteValue) { 125 if (vm._oldVoteValue) {
128 - // hide captcha form  
129 - vm.showCaptchaForm = false;  
130 vm.vote(vm._oldVoteValue); 126 vm.vote(vm._oldVoteValue);
  127 + vm._oldVoteValue = null;
131 } 128 }
  129 + // hide captcha form
  130 + vm.showCaptchaForm = false;
132 131
133 }, function(data) { 132 }, function(data) {
134 // ERROR 133 // ERROR
@@ -170,6 +169,7 @@ @@ -170,6 +169,7 @@
170 ProposalBoxController.prototype.vote = function(value) { 169 ProposalBoxController.prototype.vote = function(value) {
171 var vm = this; 170 var vm = this;
172 171
  172 + vm._oldVoteValue = value;
173 if (vm.canVote()) { 173 if (vm.canVote()) {
174 if (vm.doVote) { 174 if (vm.doVote) {
175 vm.doVote({ 175 vm.doVote({
@@ -181,7 +181,6 @@ @@ -181,7 +181,6 @@
181 } 181 }
182 }else { 182 }else {
183 vm.$log.debug('You cannot vote.'); 183 vm.$log.debug('You cannot vote.');
184 - vm._oldVoteValue = value;  
185 vm.showCaptchaForm = true; 184 vm.showCaptchaForm = true;
186 185
187 angular.element('#captcha_text').focus(); 186 angular.element('#captcha_text').focus();
src/app/components/proposal-box/proposal-box.html
@@ -52,8 +52,10 @@ @@ -52,8 +52,10 @@
52 </div> 52 </div>
53 <div class="feedback" ng-if="vm.STATE === vm.VOTE_STATUS.ERROR"> 53 <div class="feedback" ng-if="vm.STATE === vm.VOTE_STATUS.ERROR">
54 <p class="feedback--title">Erro!</p> 54 <p class="feedback--title">Erro!</p>
55 - <p class="feedback--message" ng-if="vm.message">  
56 - Motivo: {{vm.message}} 55 + <p class="feedback--message" ng-if="vm.messageCode === 401">
  56 + Não autorizado. Insira um novo captcha.
  57 + <br>
  58 + <button type="button" class="btn btn-link" ng-click="vm.captchaTryAgain()">Gerar novo captcha</button>
57 </p> 59 </p>
58 </div> 60 </div>
59 </div> 61 </div>