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