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> | ... | ... |