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 146 var url = service.apiProposals + targetId + '/propose';
147 147  
148 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 152 encodedParams.push('private_token=' + $rootScope.currentUser.private_token);
150 153 encodedParams.push('fields=id');
151 154 encodedParams.push('article[name]=article_' + GUID.generate());
... ...
src/app/components/dialoga-service/dialoga.service.js
... ... @@ -258,7 +258,6 @@
258 258 }
259 259  
260 260 function filterProposalsByProgramId (input, program_id) {
261   - var vm = this;
262 261  
263 262 if(!angular.isArray(input)){
264 263 $log.error('Input is not a Array.');
... ...
src/app/components/show-message/show-message.directive.js
... ... @@ -19,8 +19,8 @@
19 19 templateUrl: 'app/components/show-message/show-message.html',
20 20 scope: {
21 21 type: '=',
22   - title: '=',
23   - message: '='
  22 + message: '=',
  23 + description: '='
24 24 },
25 25 controller: ShowMessageController,
26 26 controllerAs: 'vm',
... ...
src/app/components/show-message/show-message.html
... ... @@ -8,8 +8,8 @@
8 8 </div>
9 9 </div>
10 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 13 </div>
14 14 </div>
15 15 </div>
... ...
src/app/components/util-service/utils.service.js
... ... @@ -68,7 +68,7 @@
68 68 // nomralized format. However, if the request was not handled by the
69 69 // server (or what not handles properly - ex. server error), then we
70 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 72 return $q.reject('An unknown error occurred.');
73 73 }
74 74  
... ...
src/app/pages/auth/recover.html
... ... @@ -17,8 +17,8 @@
17 17 <div class="feedback-message">
18 18 <show-message
19 19 type="'success'"
20   - title="pageSignin.successRecoverMessageTitle || 'Pronto!'"
21   - message="pageSignin.successRecoverMessage"
  20 + message="pageSignin.successRecoverMessageTitle || 'Pronto!'"
  21 + description="pageSignin.successRecoverMessage"
22 22 ></show-message>
23 23 <div class="row">
24 24 <div class="col-sm-8 col-sm-offset-4">
... ...
src/app/pages/auth/signin.html
... ... @@ -14,8 +14,8 @@
14 14 <div class="feedback-message">
15 15 <show-message
16 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 19 ></show-message>
20 20  
21 21 <div class="row">
... ...
src/app/pages/programas/programa.controller.js
... ... @@ -122,10 +122,22 @@
122 122  
123 123 vm.DialogaService.createProposal(proposal, vm.article.id, function(response) {
124 124 vm.$log.debug('response', response);
  125 + // vm.message =
125 126 // vm.proposalStatus = vm.PROPOSAL_STATUS.SENT | vm.PROPOSAL_STATUS.SUCCESS;
126 127 vm.proposalStatus = vm.PROPOSAL_STATUS.SUCCESS;
127 128 }, function(error) {
128 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 141 // vm.proposalStatus = vm.PROPOSAL_STATUS.SENT | vm.PROPOSAL_STATUS.ERROR;
130 142 vm.proposalStatus = vm.PROPOSAL_STATUS.ERROR;
131 143 });
... ...
src/app/pages/programas/programa.html
... ... @@ -152,8 +152,8 @@
152 152 <div ng-if="!pagePrograma.$rootScope.currentUser">
153 153 <show-message
154 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 157 ></show-message>
158 158 <div class="row">
159 159 <div class="col-sm-4"></div>
... ... @@ -167,8 +167,26 @@
167 167 <div ng-if="pagePrograma.proposalStatus === pagePrograma.PROPOSAL_STATUS.SUCCESS">
168 168 <show-message
169 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 190 ></show-message>
173 191 <div class="row">
174 192 <div class="col-sm-4"></div>
... ... @@ -179,7 +197,6 @@
179 197 </div>
180 198 </div>
181 199 </div>
182   - <div ng-if="pagePrograma.proposalStatus === pagePrograma.PROPOSAL_STATUS.ERROR"></div>
183 200 <div ng-if="!pagePrograma.proposalStatus">
184 201 <cadastro-proposta program="pagePrograma.article" status="pagePrograma.proposalStatus"></cadastro-proposta>
185 202 </div>
... ...