Commit 5d61952f47bc8ae6579d61eac4f9e6098f65dbe6
1 parent
df979628
Exists in
master
and in
6 other branches
Fix contact params. Add feedback messages
Showing
3 changed files
with
65 additions
and
39 deletions
Show diff stats
src/app/components/article-service/article.service.js
| @@ -214,7 +214,12 @@ | @@ -214,7 +214,12 @@ | ||
| 214 | 214 | ||
| 215 | function sendContactForm (community_id, data){ | 215 | function sendContactForm (community_id, data){ |
| 216 | var url = service.apiCommunities + community_id + '/contact' | 216 | var url = service.apiCommunities + community_id + '/contact' |
| 217 | - var encodedParams = angular.element.param(data); | 217 | + var encodedParams = [ |
| 218 | + 'contact[name]=' + data.name, | ||
| 219 | + 'contact[email]=' + data.email, | ||
| 220 | + 'contact[subject]=' + data.subject, | ||
| 221 | + 'contact[message]=' + data.message | ||
| 222 | + ].join('&'); | ||
| 218 | 223 | ||
| 219 | return UtilService.post(url, encodedParams); | 224 | return UtilService.post(url, encodedParams); |
| 220 | } | 225 | } |
src/app/pages/duvidas/duvidas.controller.js
| @@ -59,11 +59,11 @@ | @@ -59,11 +59,11 @@ | ||
| 59 | 59 | ||
| 60 | vm.DialogaService.sendContactForm(data) | 60 | vm.DialogaService.sendContactForm(data) |
| 61 | .then(function(response){ | 61 | .then(function(response){ |
| 62 | - vm.$log.debug('sendContactForm success', response); | ||
| 63 | - | 62 | + // vm.$log.debug('sendContactForm success', response); |
| 63 | + vm.successMessage = 'Mensagem enviada com sucesso!'; | ||
| 64 | }, function(response){ | 64 | }, function(response){ |
| 65 | - vm.$log.debug('sendContactForm error', response); | ||
| 66 | - | 65 | + vm.$log.warn('sendContactForm error', response); |
| 66 | + vm.errorMessage = 'Erro ao enviar mensagem. Tente novamente mais tarde.'; | ||
| 67 | }) | 67 | }) |
| 68 | .finally(function(response){ | 68 | .finally(function(response){ |
| 69 | vm.$log.debug('sendContactForm finally', response); | 69 | vm.$log.debug('sendContactForm finally', response); |
src/app/pages/duvidas/duvidas.html
| @@ -38,45 +38,66 @@ | @@ -38,45 +38,66 @@ | ||
| 38 | </div> | 38 | </div> |
| 39 | 39 | ||
| 40 | <div class="row"> | 40 | <div class="row"> |
| 41 | - <form role="form" name="contactForm" ng-submit="pageDuvidas.submitContactForm($event, contactForm)" novalidate> | ||
| 42 | - <div class="form-group"> | ||
| 43 | - <label for="inputSubject">Assunto*</label> | ||
| 44 | - <select id="inputSubject" name="inputSubject" class="form-control input-lg dark-input" ng-model="data.inputSubject" required> | ||
| 45 | - <option value="">-- Selecione um Assunto --</option> | ||
| 46 | - <option value="Dúvidas">Dúvidas</option> | ||
| 47 | - <option value="Outro">Outro</option> | ||
| 48 | - </select> | ||
| 49 | - <validation-messages field="contactForm.inputSubject"/> | ||
| 50 | - </div> | ||
| 51 | - <div class="row"> | ||
| 52 | - <div class="col-sm-6"> | ||
| 53 | - <div class="form-group"> | ||
| 54 | - <label for="inputName">Nome*</label> | ||
| 55 | - <input type="text" id="inputName" name="inputName" class="form-control input-lg light-input" ng-class="{ 'has-error' : contactForm.inputName.$invalid && contactForm.inputName.$touched }" ng-model="inputName" ng-minlength="" ng-maxlength="" required> | ||
| 56 | - <validation-messages field="contactForm.inputName"/> | 41 | + <div class="col-sm-12"> |
| 42 | + <form role="form" name="contactForm" ng-submit="pageDuvidas.submitContactForm($event, contactForm)" novalidate> | ||
| 43 | + <div class="row"> | ||
| 44 | + <div class="col-sm-6"> | ||
| 45 | + <div class="form-group"> | ||
| 46 | + <label for="inputSubject">Assunto*</label> | ||
| 47 | + <select id="inputSubject" name="inputSubject" class="form-control input-lg dark-input" ng-model="data.inputSubject" required> | ||
| 48 | + <option value="">-- Selecione um Assunto --</option> | ||
| 49 | + <option value="Dúvidas">Dúvidas</option> | ||
| 50 | + <option value="Sugestões">Sugestões</option> | ||
| 51 | + <option value="Outro">Outro</option> | ||
| 52 | + </select> | ||
| 53 | + <validation-messages field="contactForm.inputSubject"></validation-messages> | ||
| 54 | + </div> | ||
| 57 | </div> | 55 | </div> |
| 58 | </div> | 56 | </div> |
| 59 | - <div class="col-sm-6"> | ||
| 60 | - <div class="form-group"> | ||
| 61 | - <label for="inputEmail">E-mail*</label> | ||
| 62 | - <input type="email" id="inputEmail" name="inputEmail" class="form-control input-lg light-input" ng-class="{ 'has-error' : contactForm.inputEmail.$invalid && contactForm.inputEmail.$touched }" ng-model="inputEmail" ng-minlength="" ng-maxlength="" required> | ||
| 63 | - <validation-messages field="contactForm.inputEmail"/> | 57 | + <div class="row"> |
| 58 | + <div class="col-sm-6"> | ||
| 59 | + <div class="form-group"> | ||
| 60 | + <label for="inputName">Nome*</label> | ||
| 61 | + <input type="text" id="inputName" name="inputName" class="form-control input-lg light-input" ng-class="{ 'has-error' : contactForm.inputName.$invalid && contactForm.inputName.$touched }" ng-model="inputName" ng-minlength="" ng-maxlength="" required> | ||
| 62 | + <validation-messages field="contactForm.inputName"></validation-messages> | ||
| 63 | + </div> | ||
| 64 | + </div> | ||
| 65 | + <div class="col-sm-6"> | ||
| 66 | + <div class="form-group"> | ||
| 67 | + <label for="inputEmail">E-mail*</label> | ||
| 68 | + <input type="email" id="inputEmail" name="inputEmail" class="form-control input-lg light-input" ng-class="{ 'has-error' : contactForm.inputEmail.$invalid && contactForm.inputEmail.$touched }" ng-model="inputEmail" ng-minlength="" ng-maxlength="" required> | ||
| 69 | + <validation-messages field="contactForm.inputEmail"></validation-messages> | ||
| 70 | + </div> | ||
| 64 | </div> | 71 | </div> |
| 65 | </div> | 72 | </div> |
| 66 | - </div> | ||
| 67 | - <div class="form-group"> | ||
| 68 | - <label for="inputMessage">Mensagem*</label> | ||
| 69 | - <textarea id="inputMessage" name="inputMessage" class="mensagem-text-area form-control light-input" ng-class="{ 'has-error' : contactForm.inputMessage.$invalid && contactForm.inputMessage.$touched }" ng-model="inputMessage" required ></textarea> | ||
| 70 | - <validation-messages field="contactForm.inputMessage"/> | ||
| 71 | - </div> | ||
| 72 | - <span class="pull-left">*Dados obrigatórios</span> | ||
| 73 | - <div class="row"> | ||
| 74 | - <div class="col-sm-4 form-group pull-right"> | ||
| 75 | - <button class="btn btn-lg btn-block btn-submit" type="submit">Enviar Mensagem</button> | ||
| 76 | - <span ng-show="vm.sendingContactForm">Enviando...</span> | 73 | + <div class="form-group"> |
| 74 | + <label for="inputMessage">Mensagem*</label> | ||
| 75 | + <textarea id="inputMessage" name="inputMessage" class="mensagem-text-area form-control light-input" ng-class="{ 'has-error' : contactForm.inputMessage.$invalid && contactForm.inputMessage.$touched }" ng-model="inputMessage" required ></textarea> | ||
| 76 | + <validation-messages field="contactForm.inputMessage"></validation-messages> | ||
| 77 | </div> | 77 | </div> |
| 78 | - </div> | ||
| 79 | - </form> | 78 | + <span class="pull-left">*Dados obrigatórios</span> |
| 79 | + <div class="row"> | ||
| 80 | + <div class="col-sm-4 form-group pull-right"> | ||
| 81 | + <div class="row" ng-show="pageDuvidas.sendingContactForm"> | ||
| 82 | + <div class="col-sm-12"> | ||
| 83 | + <div class="alert alert-info" role="alert">Enviando formulário...</div> | ||
| 84 | + </div> | ||
| 85 | + </div> | ||
| 86 | + <div class="row" ng-if="pageDuvidas.successMessage"> | ||
| 87 | + <div class="col-sm-12"> | ||
| 88 | + <div class="alert alert-success" role="alert">{{pageDuvidas.successMessage}}</div> | ||
| 89 | + </div> | ||
| 90 | + </div> | ||
| 91 | + <div class="row" ng-if="pageDuvidas.errorMessage"> | ||
| 92 | + <div class="col-sm-12"> | ||
| 93 | + <div class="alert alert-danger" role="alert">{{pageDuvidas.errorMessage}}</div> | ||
| 94 | + </div> | ||
| 95 | + </div> | ||
| 96 | + <button class="btn btn-lg btn-block btn-submit" type="submit">Enviar Mensagem</button> | ||
| 97 | + </div> | ||
| 98 | + </div> | ||
| 99 | + </form> | ||
| 100 | + </div> | ||
| 80 | </div> | 101 | </div> |
| 81 | </div> | 102 | </div> |
| 82 | </section> | 103 | </section> |