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