Commit caf125e6f5d59729f44083f05f1cbaec88a2939c

Authored by Leonardo Merlin
1 parent 267f930e

Fixes #46

src/app/pages/duvidas/duvidas.controller.js
@@ -6,16 +6,19 @@ @@ -6,16 +6,19 @@
6 .controller('DuvidasPageController', DuvidasPageController); 6 .controller('DuvidasPageController', DuvidasPageController);
7 7
8 /** @ngInject */ 8 /** @ngInject */
9 - function DuvidasPageController(DialogaService, $log) { 9 + function DuvidasPageController(DialogaService, $interval, $window, $log) {
10 $log.debug('DuvidasPageController'); 10 $log.debug('DuvidasPageController');
11 11
12 var vm = this; 12 var vm = this;
13 13
14 vm.DialogaService = DialogaService; 14 vm.DialogaService = DialogaService;
  15 + vm.$interval = $interval;
  16 + vm.$window = $window;
15 vm.$log = $log; 17 vm.$log = $log;
16 18
17 vm.init(); 19 vm.init();
18 vm.loadData(); 20 vm.loadData();
  21 + vm.attachListeners();
19 } 22 }
20 23
21 DuvidasPageController.prototype.init = function () { 24 DuvidasPageController.prototype.init = function () {
@@ -29,14 +32,39 @@ @@ -29,14 +32,39 @@
29 answer: 'Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven`t heard of them accusamus labore sustainable VHS.' 32 answer: 'Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven`t heard of them accusamus labore sustainable VHS.'
30 } 33 }
31 ]; 34 ];
  35 +
32 vm.loading = true; 36 vm.loading = true;
33 vm.error = false; 37 vm.error = false;
  38 + vm.sendingContactForm = false;
  39 +
34 }; 40 };
35 41
36 DuvidasPageController.prototype.loadData = function () { 42 DuvidasPageController.prototype.loadData = function () {
37 // var vm = this; 43 // var vm = this;
38 }; 44 };
39 45
  46 + DuvidasPageController.prototype.attachListeners = function () {
  47 + var vm = this;
  48 +
  49 + vm._attachCaptcha();
  50 + };
  51 +
  52 + DuvidasPageController.prototype._attachCaptcha = function() {
  53 + var vm = this;
  54 +
  55 + var stop = null;
  56 + stop = vm.$interval(function(){
  57 + var $el = angular.element('#serpro_captcha');
  58 +
  59 + if ($el && $el.length > 0 ){
  60 + vm.$window.initCaptcha($el[0]);
  61 + vm.$interval.cancel(stop);
  62 + stop = undefined;
  63 + }
  64 +
  65 + }, 200);
  66 + };
  67 +
40 DuvidasPageController.prototype.submitContactForm = function ($event, contactForm) { 68 DuvidasPageController.prototype.submitContactForm = function ($event, contactForm) {
41 var vm = this; 69 var vm = this;
42 70
@@ -49,6 +77,11 @@ @@ -49,6 +77,11 @@
49 subject: contactForm.inputSubject.$modelValue, 77 subject: contactForm.inputSubject.$modelValue,
50 message: contactForm.inputMessage.$modelValue 78 message: contactForm.inputMessage.$modelValue
51 }; 79 };
  80 +
  81 + var target = $event.target;
  82 + var $target = angular.element(target);
  83 + var $captcha = $target.find('[name="txtToken_captcha_serpro_gov_br"]');
  84 + data.txtToken_captcha_serpro_gov_br = $captcha.val();
52 85
53 vm.DialogaService.sendContactForm(data) 86 vm.DialogaService.sendContactForm(data)
54 .then(function(response){ 87 .then(function(response){
src/app/pages/duvidas/duvidas.html
@@ -75,9 +75,20 @@ @@ -75,9 +75,20 @@
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> 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> 76 <validation-messages field="contactForm.inputMessage"></validation-messages>
77 </div> 77 </div>
  78 +
78 <span class="pull-left">*Dados obrigatórios</span> 79 <span class="pull-left">*Dados obrigatórios</span>
79 <div class="row"> 80 <div class="row">
80 <div class="col-sm-4 form-group pull-right"> 81 <div class="col-sm-4 form-group pull-right">
  82 +
  83 + <div class="form-group">
  84 + <div id="serpro_captcha" class="captcha"></div>
  85 + <div class="captcha">Digite os caracteres acima:</div>
  86 + <div class="captcha">
  87 + <input type="text" name="captcha_text" id="captcha_text" aria-label="Escreva os caracteres do captcha aqui" ng-model="pageSignin.signup.captcha_text" ng-minlength="" ng-maxlength="" required>
  88 + <validation-messages field="contactForm.captcha_text"></validation-messages>
  89 + </div>
  90 + </div>
  91 +
81 <div class="row" ng-show="pageDuvidas.sendingContactForm"> 92 <div class="row" ng-show="pageDuvidas.sendingContactForm">
82 <div class="col-sm-12"> 93 <div class="col-sm-12">
83 <div class="alert alert-info" role="alert">Enviando formulário...</div> 94 <div class="alert alert-info" role="alert">Enviando formulário...</div>