From 2284e2507fc98d8d2312f5f024e6844198a28f09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Baz=C3=A1n?= Date: Wed, 9 Nov 2016 12:09:22 -0300 Subject: [PATCH] change entrys, url and add feedback service --- src/js/controllers/feedback/sendFeedback.js | 36 +++++++-------------- src/js/services/configService.js | 3 ++ src/js/services/feedbackService.js | 29 +++++++++++++++++ src/js/services/onGoingProcess.js | 3 +- 4 files changed, 46 insertions(+), 25 deletions(-) create mode 100644 src/js/services/feedbackService.js diff --git a/src/js/controllers/feedback/sendFeedback.js b/src/js/controllers/feedback/sendFeedback.js index 1c250d4e8..8899301c3 100644 --- a/src/js/controllers/feedback/sendFeedback.js +++ b/src/js/controllers/feedback/sendFeedback.js @@ -1,7 +1,6 @@ 'use strict'; -angular.module('copayApp.controllers').controller('sendFeedbackController', function($scope, $state, $log, $http, $httpParamSerializer, $stateParams, gettextCatalog, popupService, configService, lodash) { - var URL = "https://docs.google.com/forms/d/e/1FAIpQLSfHHAKb-CKjQnsuC_36IFaXlGsqLd5tZh79ywNfSADoVsw-gQ/formResponse"; +angular.module('copayApp.controllers').controller('sendFeedbackController', function($scope, $state, $log, $stateParams, gettextCatalog, popupService, configService, lodash, feedbackService, ongoingProcess) { $scope.score = parseInt($stateParams.score); switch ($scope.score) { case 1: @@ -29,20 +28,20 @@ angular.module('copayApp.controllers').controller('sendFeedbackController', func $scope.sendFeedback = function(feedback, skip) { var config = configService.getSync(); + var dataSrc = { - "entry.490635314": lodash.values(config.emailFor)[0] || ' ', - "entry.1447064148": skip ? ' ' : feedback, - "entry.2142850951": $stateParams.score + "Email": lodash.values(config.emailFor)[0] || ' ', + "Feedback": skip ? ' ' : feedback, + "Score": $stateParams.score }; - $http(_post(dataSrc)).then(function(data) { - $log.info("SUCCESS: Feedback sent"); - $state.go('feedback.thanks', { - score: $stateParams.score, - skipped: skip - }); - }, function(data) { - $log.info("ERROR: Feedback sent anyway."); + ongoingProcess.set('sendingFeedback', true); + feedbackService.send(dataSrc, function(err) { + ongoingProcess.set('sendingFeedback', false); + if (err) { + popupService.showAlert(gettextCatalog.getString('Error'), gettextCatalog.getString('Could not send feedback')); + return; + } $state.go('feedback.thanks', { score: $stateParams.score, skipped: skip @@ -50,15 +49,4 @@ angular.module('copayApp.controllers').controller('sendFeedbackController', func }); }; - var _post = function(dataSrc) { - return { - method: 'POST', - url: URL, - headers: { - 'content-type': 'application/x-www-form-urlencoded; charset=UTF-8' - }, - data: $httpParamSerializer(dataSrc) - }; - }; - }); diff --git a/src/js/services/configService.js b/src/js/services/configService.js index a51906f82..b83d1788f 100644 --- a/src/js/services/configService.js +++ b/src/js/services/configService.js @@ -25,6 +25,9 @@ angular.module('copayApp.services').factory('configService', function(storageSer wp: '' }, + feedback: { + url: 'https://script.google.com/macros/s/AKfycbybtvNSQKUfgzgXcj3jYLlvCKrcBoktjiJ1V8_cwd2yVkpUBGe3/exec' + }, // wallet default config wallet: { requiredCopayers: 2, diff --git a/src/js/services/feedbackService.js b/src/js/services/feedbackService.js new file mode 100644 index 000000000..1bf367b52 --- /dev/null +++ b/src/js/services/feedbackService.js @@ -0,0 +1,29 @@ +'use strict'; +angular.module('copayApp.services').factory('feedbackService', function($http, $log, $httpParamSerializer, configService) { + var root = {}; + root.send = function(dataSrc, cb) { + $http(_post(dataSrc)).then(function() { + $log.info("SUCCESS: Feedback sent"); + return cb(); + }, function(err) { + $log.info("ERROR: Feedback sent anyway."); + return cb(err); + }); + }; + + var _post = function(dataSrc) { + + var config = configService.getSync(); + var url = config.feedback.url; + return { + method: 'POST', + url: url, + headers: { + 'content-type': 'application/x-www-form-urlencoded; charset=UTF-8' + }, + data: $httpParamSerializer(dataSrc) + }; + }; + + return root; +}); diff --git a/src/js/services/onGoingProcess.js b/src/js/services/onGoingProcess.js index d1bcf2fe0..acede937d 100644 --- a/src/js/services/onGoingProcess.js +++ b/src/js/services/onGoingProcess.js @@ -33,6 +33,7 @@ angular.module('copayApp.services').factory('ongoingProcess', function($log, $ti 'validatingWallet': gettext('Validating wallet integrity...'), 'validatingWords': gettext('Validating recovery phrase...'), 'loadingTxInfo': gettext('Loading transaction info...'), + 'sendingFeedback': gettext('Sending feedback...'), }; root.clear = function() { @@ -64,7 +65,7 @@ angular.module('copayApp.services').factory('ongoingProcess', function($log, $ti var showName = $filter('translate')(processNames[name] || name); - if(customHandler) { + if (customHandler) { customHandler(processName, showName, isOn); } else if (root.onGoingProcessName) { if (isCordova) {