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