Commit 300de129f9bd51af62a3beba8469c14789bd7b40

Authored by Leonardo Merlin
2 parents 511ec322 f4578124

Merge branch 'fix-proposal-send' into merlin

src/app/components/article-service/article.service.js
@@ -146,6 +146,9 @@ @@ -146,6 +146,9 @@
146 var url = service.apiProposals + targetId + '/propose'; 146 var url = service.apiProposals + targetId + '/propose';
147 147
148 var encodedParams = []; 148 var encodedParams = [];
  149 + encodedParams.push('article%5Babstract%5D=' + proposal);
  150 + encodedParams.push('article%5Btype%5D=ProposalsDiscussionPlugin%3A%3AProposal');
  151 + encodedParams.push('content_type=ProposalsDiscussionPlugin%3A%3AProposal');
149 encodedParams.push('private_token=' + $rootScope.currentUser.private_token); 152 encodedParams.push('private_token=' + $rootScope.currentUser.private_token);
150 encodedParams.push('fields=id'); 153 encodedParams.push('fields=id');
151 encodedParams.push('article[name]=article_' + GUID.generate()); 154 encodedParams.push('article[name]=article_' + GUID.generate());
src/app/components/dialoga-service/dialoga.service.js
@@ -258,7 +258,6 @@ @@ -258,7 +258,6 @@
258 } 258 }
259 259
260 function filterProposalsByProgramId (input, program_id) { 260 function filterProposalsByProgramId (input, program_id) {
261 - var vm = this;  
262 261
263 if(!angular.isArray(input)){ 262 if(!angular.isArray(input)){
264 $log.error('Input is not a Array.'); 263 $log.error('Input is not a Array.');
src/app/components/show-message/show-message.directive.js
@@ -19,8 +19,8 @@ @@ -19,8 +19,8 @@
19 templateUrl: 'app/components/show-message/show-message.html', 19 templateUrl: 'app/components/show-message/show-message.html',
20 scope: { 20 scope: {
21 type: '=', 21 type: '=',
22 - title: '=',  
23 - message: '=' 22 + message: '=',
  23 + description: '='
24 }, 24 },
25 controller: ShowMessageController, 25 controller: ShowMessageController,
26 controllerAs: 'vm', 26 controllerAs: 'vm',
src/app/components/show-message/show-message.html
@@ -8,8 +8,8 @@ @@ -8,8 +8,8 @@
8 </div> 8 </div>
9 </div> 9 </div>
10 <div class="col-sm-8 message-content text-center-sm"> 10 <div class="col-sm-8 message-content text-center-sm">
11 - <h3>{{ ::vm.title }}</h3>  
12 - <p>{{ ::vm.message }}</p> 11 + <h3>{{ ::vm.message }}</h3>
  12 + <div ng-bind-html="vm.description"></div>
13 </div> 13 </div>
14 </div> 14 </div>
15 </div> 15 </div>
src/app/components/util-service/utils.service.js
@@ -68,7 +68,7 @@ @@ -68,7 +68,7 @@
68 // nomralized format. However, if the request was not handled by the 68 // nomralized format. However, if the request was not handled by the
69 // server (or what not handles properly - ex. server error), then we 69 // server (or what not handles properly - ex. server error), then we
70 // may have to normalize it on our end, as best we can. 70 // may have to normalize it on our end, as best we can.
71 - if (!angular.isObject(error.data) || !error.data.message) { 71 + if (!angular.isObject(error.data)) {
72 return $q.reject('An unknown error occurred.'); 72 return $q.reject('An unknown error occurred.');
73 } 73 }
74 74
src/app/pages/auth/recover.html
@@ -17,8 +17,8 @@ @@ -17,8 +17,8 @@
17 <div class="feedback-message"> 17 <div class="feedback-message">
18 <show-message 18 <show-message
19 type="'success'" 19 type="'success'"
20 - title="pageSignin.successRecoverMessageTitle || 'Pronto!'"  
21 - message="pageSignin.successRecoverMessage" 20 + message="pageSignin.successRecoverMessageTitle || 'Pronto!'"
  21 + description="pageSignin.successRecoverMessage"
22 ></show-message> 22 ></show-message>
23 <div class="row"> 23 <div class="row">
24 <div class="col-sm-8 col-sm-offset-4"> 24 <div class="col-sm-8 col-sm-offset-4">
src/app/pages/auth/signin.html
@@ -14,8 +14,8 @@ @@ -14,8 +14,8 @@
14 <div class="feedback-message"> 14 <div class="feedback-message">
15 <show-message 15 <show-message
16 type="'success'" 16 type="'success'"
17 - title="pageSignin.messageTitle || 'Você está logado!'"  
18 - message="pageSignin.successMessage" 17 + message="pageSignin.messageTitle || 'Você está logado!'"
  18 + description="pageSignin.successMessage"
19 ></show-message> 19 ></show-message>
20 20
21 <div class="row"> 21 <div class="row">
src/app/pages/programas/programa.controller.js
@@ -122,10 +122,22 @@ @@ -122,10 +122,22 @@
122 122
123 vm.DialogaService.createProposal(proposal, vm.article.id, function(response) { 123 vm.DialogaService.createProposal(proposal, vm.article.id, function(response) {
124 vm.$log.debug('response', response); 124 vm.$log.debug('response', response);
  125 + // vm.message =
125 // vm.proposalStatus = vm.PROPOSAL_STATUS.SENT | vm.PROPOSAL_STATUS.SUCCESS; 126 // vm.proposalStatus = vm.PROPOSAL_STATUS.SENT | vm.PROPOSAL_STATUS.SUCCESS;
126 vm.proposalStatus = vm.PROPOSAL_STATUS.SUCCESS; 127 vm.proposalStatus = vm.PROPOSAL_STATUS.SUCCESS;
127 }, function(error) { 128 }, function(error) {
128 vm.$log.error(error); 129 vm.$log.error(error);
  130 +
  131 + vm.error = error;
  132 +
  133 + if (vm.error.code === 400){
  134 + // Bad Request
  135 + vm.error.message = '';
  136 + vm.error.message += 'Não foi possível enviar a proposta.<br>';
  137 + vm.error.message += 'Este problema já foi registrado em nossos servidores.<br>';
  138 + vm.error.message += 'Por favor, tente novamente mais tarde.';
  139 + }
  140 +
129 // vm.proposalStatus = vm.PROPOSAL_STATUS.SENT | vm.PROPOSAL_STATUS.ERROR; 141 // vm.proposalStatus = vm.PROPOSAL_STATUS.SENT | vm.PROPOSAL_STATUS.ERROR;
130 vm.proposalStatus = vm.PROPOSAL_STATUS.ERROR; 142 vm.proposalStatus = vm.PROPOSAL_STATUS.ERROR;
131 }); 143 });
src/app/pages/programas/programa.html
@@ -152,8 +152,8 @@ @@ -152,8 +152,8 @@
152 <div ng-if="!pagePrograma.$rootScope.currentUser"> 152 <div ng-if="!pagePrograma.$rootScope.currentUser">
153 <show-message 153 <show-message
154 type="'alert'" 154 type="'alert'"
155 - title="'Você não está logado!'"  
156 - message="'Você precisa estar logado para enviar uma proposta.'" 155 + message="'Você não está logado!'"
  156 + description="'Você precisa estar logado para enviar uma proposta.'"
157 ></show-message> 157 ></show-message>
158 <div class="row"> 158 <div class="row">
159 <div class="col-sm-4"></div> 159 <div class="col-sm-4"></div>
@@ -167,8 +167,26 @@ @@ -167,8 +167,26 @@
167 <div ng-if="pagePrograma.proposalStatus === pagePrograma.PROPOSAL_STATUS.SUCCESS"> 167 <div ng-if="pagePrograma.proposalStatus === pagePrograma.PROPOSAL_STATUS.SUCCESS">
168 <show-message 168 <show-message
169 type="'success'" 169 type="'success'"
170 - title="'Proposta enviada com sucesso!'"  
171 - 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.'" 170 + message="'Proposta enviada com sucesso!'"
  171 + description="'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.'"
  172 + ></show-message>
  173 + <div class="row">
  174 + <div class="col-sm-4"></div>
  175 + <div class="col-sm-8 text-center-sm">
  176 + <button type="button" class="btn btn-link" ng-click="pagePrograma.sendAnotherProposal()">
  177 + Clique aqui para enviar outra proposta
  178 + </button>
  179 + </div>
  180 + </div>
  181 + </div>
  182 + <div ng-if="pagePrograma.proposalStatus === pagePrograma.PROPOSAL_STATUS.SENDING">
  183 + Enviando...
  184 + </div>
  185 + <div ng-if="pagePrograma.proposalStatus === pagePrograma.PROPOSAL_STATUS.ERROR">
  186 + <show-message
  187 + type="'error'"
  188 + message="'Erro ' + pagePrograma.error.code + '!'"
  189 + description="pagePrograma.error.message"
172 ></show-message> 190 ></show-message>
173 <div class="row"> 191 <div class="row">
174 <div class="col-sm-4"></div> 192 <div class="col-sm-4"></div>
@@ -179,7 +197,6 @@ @@ -179,7 +197,6 @@
179 </div> 197 </div>
180 </div> 198 </div>
181 </div> 199 </div>
182 - <div ng-if="pagePrograma.proposalStatus === pagePrograma.PROPOSAL_STATUS.ERROR"></div>  
183 <div ng-if="!pagePrograma.proposalStatus"> 200 <div ng-if="!pagePrograma.proposalStatus">
184 <cadastro-proposta program="pagePrograma.article" status="pagePrograma.proposalStatus"></cadastro-proposta> 201 <cadastro-proposta program="pagePrograma.article" status="pagePrograma.proposalStatus"></cadastro-proposta>
185 </div> 202 </div>