change entrys, url and add feedback service

This commit is contained in:
Gabriel Bazán 2016-11-09 12:09:22 -03:00
commit 2284e2507f
4 changed files with 46 additions and 25 deletions

View file

@ -1,7 +1,6 @@
'use strict'; 'use strict';
angular.module('copayApp.controllers').controller('sendFeedbackController', function($scope, $state, $log, $http, $httpParamSerializer, $stateParams, gettextCatalog, popupService, configService, lodash) { angular.module('copayApp.controllers').controller('sendFeedbackController', function($scope, $state, $log, $stateParams, gettextCatalog, popupService, configService, lodash, feedbackService, ongoingProcess) {
var URL = "https://docs.google.com/forms/d/e/1FAIpQLSfHHAKb-CKjQnsuC_36IFaXlGsqLd5tZh79ywNfSADoVsw-gQ/formResponse";
$scope.score = parseInt($stateParams.score); $scope.score = parseInt($stateParams.score);
switch ($scope.score) { switch ($scope.score) {
case 1: case 1:
@ -29,20 +28,20 @@ angular.module('copayApp.controllers').controller('sendFeedbackController', func
$scope.sendFeedback = function(feedback, skip) { $scope.sendFeedback = function(feedback, skip) {
var config = configService.getSync(); var config = configService.getSync();
var dataSrc = { var dataSrc = {
"entry.490635314": lodash.values(config.emailFor)[0] || ' ', "Email": lodash.values(config.emailFor)[0] || ' ',
"entry.1447064148": skip ? ' ' : feedback, "Feedback": skip ? ' ' : feedback,
"entry.2142850951": $stateParams.score "Score": $stateParams.score
}; };
$http(_post(dataSrc)).then(function(data) { ongoingProcess.set('sendingFeedback', true);
$log.info("SUCCESS: Feedback sent"); feedbackService.send(dataSrc, function(err) {
$state.go('feedback.thanks', { ongoingProcess.set('sendingFeedback', false);
score: $stateParams.score, if (err) {
skipped: skip popupService.showAlert(gettextCatalog.getString('Error'), gettextCatalog.getString('Could not send feedback'));
}); return;
}, function(data) { }
$log.info("ERROR: Feedback sent anyway.");
$state.go('feedback.thanks', { $state.go('feedback.thanks', {
score: $stateParams.score, score: $stateParams.score,
skipped: skip 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)
};
};
}); });

View file

@ -25,6 +25,9 @@ angular.module('copayApp.services').factory('configService', function(storageSer
wp: '' wp: ''
}, },
feedback: {
url: 'https://script.google.com/macros/s/AKfycbybtvNSQKUfgzgXcj3jYLlvCKrcBoktjiJ1V8_cwd2yVkpUBGe3/exec'
},
// wallet default config // wallet default config
wallet: { wallet: {
requiredCopayers: 2, requiredCopayers: 2,

View file

@ -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;
});

View file

@ -33,6 +33,7 @@ angular.module('copayApp.services').factory('ongoingProcess', function($log, $ti
'validatingWallet': gettext('Validating wallet integrity...'), 'validatingWallet': gettext('Validating wallet integrity...'),
'validatingWords': gettext('Validating recovery phrase...'), 'validatingWords': gettext('Validating recovery phrase...'),
'loadingTxInfo': gettext('Loading transaction info...'), 'loadingTxInfo': gettext('Loading transaction info...'),
'sendingFeedback': gettext('Sending feedback...'),
}; };
root.clear = function() { root.clear = function() {
@ -64,7 +65,7 @@ angular.module('copayApp.services').factory('ongoingProcess', function($log, $ti
var showName = $filter('translate')(processNames[name] || name); var showName = $filter('translate')(processNames[name] || name);
if(customHandler) { if (customHandler) {
customHandler(processName, showName, isOn); customHandler(processName, showName, isOn);
} else if (root.onGoingProcessName) { } else if (root.onGoingProcessName) {
if (isCordova) { if (isCordova) {