Commit ee273c864620c3d0b7418c58234d31911926f86e

Authored by Leonardo Merlin
1 parent cd9dd7a8

Add feedback messages to 'cadastro-proposta'

src/app/index.constants.js
@@ -33,15 +33,24 @@ @@ -33,15 +33,24 @@
33 notAuthorized: 'auth-not-authorized' 33 notAuthorized: 'auth-not-authorized'
34 }) 34 })
35 .constant('VOTE_STATUS', { 35 .constant('VOTE_STATUS', {
36 - SUCCESS: 0x1,  
37 - ERROR: 0x10,  
38 - LOADING: 0x100 36 + SUCCESS: 1,
  37 + ERROR: 2,
  38 + LOADING: 4,
  39 + LOADED: 8
39 }) 40 })
40 .constant('VOTE_OPTIONS', { 41 .constant('VOTE_OPTIONS', {
41 UP: 1, 42 UP: 1,
42 DOWN: -1, 43 DOWN: -1,
43 SKIP: 0 44 SKIP: 0
44 }) 45 })
  46 + .constant('PROPOSAL_STATUS', {
  47 + SUCCESS: 1,
  48 + ERROR: 2,
  49 + LOADING: 4,
  50 + LOADED: 8,
  51 + SENDING: 16,
  52 + SENT: 32
  53 + })
45 .constant('USER_ROLES', { 54 .constant('USER_ROLES', {
46 all: '*', 55 all: '*',
47 admin: 'admin', 56 admin: 'admin',
src/app/pages/programas/programa.controller.js
@@ -6,12 +6,13 @@ @@ -6,12 +6,13 @@
6 .controller('ProgramaPageController', ProgramaPageController); 6 .controller('ProgramaPageController', ProgramaPageController);
7 7
8 /** @ngInject */ 8 /** @ngInject */
9 - function ProgramaPageController(DialogaService, PATH, VOTE_OPTIONS, $state, $location, $scope, $rootScope, $element, $timeout, $log) { 9 + function ProgramaPageController(DialogaService, PATH, VOTE_OPTIONS, PROPOSAL_STATUS, $state, $location, $scope, $rootScope, $element, $timeout, $log) {
10 var vm = this; 10 var vm = this;
11 11
12 vm.DialogaService = DialogaService; 12 vm.DialogaService = DialogaService;
13 vm.PATH = PATH; 13 vm.PATH = PATH;
14 vm.VOTE_OPTIONS = VOTE_OPTIONS; 14 vm.VOTE_OPTIONS = VOTE_OPTIONS;
  15 + vm.PROPOSAL_STATUS = PROPOSAL_STATUS;
15 vm.$state = $state; 16 vm.$state = $state;
16 vm.$location = $location; 17 vm.$location = $location;
17 vm.$scope = $scope; 18 vm.$scope = $scope;
@@ -47,6 +48,7 @@ @@ -47,6 +48,7 @@
47 var vm = this; 48 var vm = this;
48 49
49 vm.loading = true; 50 vm.loading = true;
  51 + vm.proposalStatus = null;
50 52
51 // Get program by slug 53 // Get program by slug
52 var slug = vm.$state.params.slug; 54 var slug = vm.$state.params.slug;
@@ -110,13 +112,17 @@ @@ -110,13 +112,17 @@
110 }); 112 });
111 113
112 vm.$scope.$on('cadastro-proposa:startSendProposal', function(event, proposal) { 114 vm.$scope.$on('cadastro-proposa:startSendProposal', function(event, proposal) {
113 - vm.creatingProposal = true; 115 +
  116 + vm.proposalStatus = vm.PROPOSAL_STATUS.SENDING;
  117 +
114 vm.DialogaService.createProposal(proposal, vm.article.id, function(response) { 118 vm.DialogaService.createProposal(proposal, vm.article.id, function(response) {
115 vm.$log.debug('response', response); 119 vm.$log.debug('response', response);
116 - vm.creatingProposal = false; 120 + // vm.proposalStatus = vm.PROPOSAL_STATUS.SENT | vm.PROPOSAL_STATUS.SUCCESS;
  121 + vm.proposalStatus = vm.PROPOSAL_STATUS.SUCCESS;
117 }, function(error) { 122 }, function(error) {
118 vm.$log.error(error); 123 vm.$log.error(error);
119 - vm.creatingProposal = false; 124 + // vm.proposalStatus = vm.PROPOSAL_STATUS.SENT | vm.PROPOSAL_STATUS.ERROR;
  125 + vm.proposalStatus = vm.PROPOSAL_STATUS.ERROR;
120 }); 126 });
121 }); 127 });
122 128
@@ -254,9 +260,15 @@ @@ -254,9 +260,15 @@
254 vm.$element.find(rule).slideUp(); 260 vm.$element.find(rule).slideUp();
255 }; 261 };
256 262
257 - ProgramaPageController.prototype.sendProposal = function() { 263 + ProgramaPageController.prototype.sendAnotherProposal = function() {
258 var vm = this; 264 var vm = this;
259 265
260 - vm.$log.warn('Not implemented yet: "sendProposal"'); 266 + vm.proposalStatus = null;
261 }; 267 };
  268 +
  269 + // ProgramaPageController.prototype.sendProposal = function() {
  270 + // var vm = this;
  271 +
  272 + // vm.$log.warn('Not implemented yet: "sendProposal"');
  273 + // };
262 })(); 274 })();
src/app/pages/programas/programa.html
@@ -138,16 +138,34 @@ @@ -138,16 +138,34 @@
138 title="'Você não está logado!'" 138 title="'Você não está logado!'"
139 message="'Você precisa estar logado para enviar uma proposta.'" 139 message="'Você precisa estar logado para enviar uma proposta.'"
140 ></show-message> 140 ></show-message>
141 - <div class="row">  
142 - <div class="col-sm-4"></div>  
143 - <div class="col-sm-8 text-center-sm">  
144 - <a ui-sref="entrar({redirect_uri: pagePrograma.sendProposalRedirectURI})">Clique aqui para ir para a página de login</a>  
145 - </div> 141 + <div class="row">
  142 + <div class="col-sm-4"></div>
  143 + <div class="col-sm-8 text-center-sm">
  144 + <a ui-sref="entrar({redirect_uri: pagePrograma.sendProposalRedirectURI})">Clique aqui para ir para a página de login</a>
146 </div> 145 </div>
  146 + </div>
147 </div> 147 </div>
148 <div ng-if="pagePrograma.$rootScope.currentUser"> 148 <div ng-if="pagePrograma.$rootScope.currentUser">
149 <div class="proposal-extended-section-content"> 149 <div class="proposal-extended-section-content">
150 - <cadastro-proposta program="pagePrograma.article"></cadastro-proposta> 150 + <div ng-if="pagePrograma.proposalStatus === pagePrograma.PROPOSAL_STATUS.SUCCESS">
  151 + <show-message
  152 + type="'success'"
  153 + title="'Proposta enviada com sucesso!'"
  154 + message="'Sua proposta foi enviada para a nossa equipe de moderação. Em aproximadamente 72 horas você receberá em seu endereço de e-mail uma resposta sobre a sua proposta.'"
  155 + ></show-message>
  156 + <div class="row">
  157 + <div class="col-sm-4"></div>
  158 + <div class="col-sm-8 text-center-sm">
  159 + <button type="button" class="btn btn-link" ng-click="pagePrograma.sendAnotherProposal()">
  160 + Clique aqui para enviar outra proposta
  161 + </button>
  162 + </div>
  163 + </div>
  164 + </div>
  165 + <div ng-if="pagePrograma.proposalStatus === pagePrograma.PROPOSAL_STATUS.ERROR"></div>
  166 + <div ng-if="!pagePrograma.proposalStatus">
  167 + <cadastro-proposta program="pagePrograma.article" status="pagePrograma.proposalStatus"></cadastro-proposta>
  168 + </div>
151 </div> 169 </div>
152 </div> 170 </div>
153 </div> 171 </div>