Commit ee273c864620c3d0b7418c58234d31911926f86e
1 parent
cd9dd7a8
Exists in
master
and in
8 other branches
Add feedback messages to 'cadastro-proposta'
Showing
3 changed files
with
54 additions
and
15 deletions
Show diff stats
src/app/index.constants.js
... | ... | @@ -33,15 +33,24 @@ |
33 | 33 | notAuthorized: 'auth-not-authorized' |
34 | 34 | }) |
35 | 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 | 41 | .constant('VOTE_OPTIONS', { |
41 | 42 | UP: 1, |
42 | 43 | DOWN: -1, |
43 | 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 | 54 | .constant('USER_ROLES', { |
46 | 55 | all: '*', |
47 | 56 | admin: 'admin', | ... | ... |
src/app/pages/programas/programa.controller.js
... | ... | @@ -6,12 +6,13 @@ |
6 | 6 | .controller('ProgramaPageController', ProgramaPageController); |
7 | 7 | |
8 | 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 | 10 | var vm = this; |
11 | 11 | |
12 | 12 | vm.DialogaService = DialogaService; |
13 | 13 | vm.PATH = PATH; |
14 | 14 | vm.VOTE_OPTIONS = VOTE_OPTIONS; |
15 | + vm.PROPOSAL_STATUS = PROPOSAL_STATUS; | |
15 | 16 | vm.$state = $state; |
16 | 17 | vm.$location = $location; |
17 | 18 | vm.$scope = $scope; |
... | ... | @@ -47,6 +48,7 @@ |
47 | 48 | var vm = this; |
48 | 49 | |
49 | 50 | vm.loading = true; |
51 | + vm.proposalStatus = null; | |
50 | 52 | |
51 | 53 | // Get program by slug |
52 | 54 | var slug = vm.$state.params.slug; |
... | ... | @@ -110,13 +112,17 @@ |
110 | 112 | }); |
111 | 113 | |
112 | 114 | vm.$scope.$on('cadastro-proposa:startSendProposal', function(event, proposal) { |
113 | - vm.creatingProposal = true; | |
115 | + | |
116 | + vm.proposalStatus = vm.PROPOSAL_STATUS.SENDING; | |
117 | + | |
114 | 118 | vm.DialogaService.createProposal(proposal, vm.article.id, function(response) { |
115 | 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 | 122 | }, function(error) { |
118 | 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 | 260 | vm.$element.find(rule).slideUp(); |
255 | 261 | }; |
256 | 262 | |
257 | - ProgramaPageController.prototype.sendProposal = function() { | |
263 | + ProgramaPageController.prototype.sendAnotherProposal = function() { | |
258 | 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 | 138 | title="'Você não está logado!'" |
139 | 139 | message="'Você precisa estar logado para enviar uma proposta.'" |
140 | 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 | 145 | </div> |
146 | + </div> | |
147 | 147 | </div> |
148 | 148 | <div ng-if="pagePrograma.$rootScope.currentUser"> |
149 | 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 | 169 | </div> |
152 | 170 | </div> |
153 | 171 | </div> | ... | ... |