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 | 214 | |
| 215 | 215 | function sendContactForm (community_id, data){ |
| 216 | 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 | 224 | return UtilService.post(url, encodedParams); |
| 220 | 225 | } | ... | ... |
src/app/pages/duvidas/duvidas.controller.js
| ... | ... | @@ -59,11 +59,11 @@ |
| 59 | 59 | |
| 60 | 60 | vm.DialogaService.sendContactForm(data) |
| 61 | 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 | 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 | 68 | .finally(function(response){ |
| 69 | 69 | vm.$log.debug('sendContactForm finally', response); | ... | ... |
src/app/pages/duvidas/duvidas.html
| ... | ... | @@ -38,45 +38,66 @@ |
| 38 | 38 | </div> |
| 39 | 39 | |
| 40 | 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 | 55 | </div> |
| 58 | 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 | 71 | </div> |
| 65 | 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 | 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 | 101 | </div> |
| 81 | 102 | </div> |
| 82 | 103 | </section> | ... | ... |