Commit 5d61952f47bc8ae6579d61eac4f9e6098f65dbe6

Authored by Leonardo Merlin
1 parent df979628

Fix contact params. Add feedback messages

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>