2015-08-04 11:33:17 +02:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
|
|
angular.module('Application').controller('SupportController', ['$scope', '$location', 'Client', function ($scope, $location, Client) {
|
2015-08-04 19:36:05 +02:00
|
|
|
$scope.config = Client.getConfig();
|
2015-08-04 14:44:39 +02:00
|
|
|
|
|
|
|
|
$scope.feedback = {
|
|
|
|
|
error: null,
|
|
|
|
|
success: false,
|
2015-08-04 16:01:50 +02:00
|
|
|
busy: false,
|
2015-08-04 14:44:39 +02:00
|
|
|
subject: '',
|
2015-08-04 23:30:53 +02:00
|
|
|
type: '',
|
2015-08-04 14:44:39 +02:00
|
|
|
description: ''
|
|
|
|
|
};
|
|
|
|
|
|
2017-03-07 16:12:00 +01:00
|
|
|
$scope.sshSupportEnabled = false;
|
|
|
|
|
|
2015-08-04 16:01:50 +02:00
|
|
|
function resetFeedback() {
|
|
|
|
|
$scope.feedback.subject = '';
|
|
|
|
|
$scope.feedback.description = '';
|
2015-08-04 23:30:53 +02:00
|
|
|
$scope.feedback.type = '';
|
2015-08-04 16:01:50 +02:00
|
|
|
|
|
|
|
|
$scope.feedbackForm.$setUntouched();
|
|
|
|
|
$scope.feedbackForm.$setPristine();
|
|
|
|
|
}
|
|
|
|
|
|
2015-08-04 14:44:39 +02:00
|
|
|
$scope.submitFeedback = function () {
|
2015-08-04 16:01:50 +02:00
|
|
|
$scope.feedback.busy = true;
|
2015-08-04 14:44:39 +02:00
|
|
|
$scope.feedback.success = false;
|
|
|
|
|
$scope.feedback.error = null;
|
|
|
|
|
|
2015-08-04 23:30:53 +02:00
|
|
|
Client.feedback($scope.feedback.type, $scope.feedback.subject, $scope.feedback.description, function (error) {
|
2015-08-04 14:44:39 +02:00
|
|
|
if (error) {
|
|
|
|
|
$scope.feedback.error = error;
|
|
|
|
|
} else {
|
|
|
|
|
$scope.feedback.success = true;
|
2015-08-04 16:01:50 +02:00
|
|
|
resetFeedback();
|
2015-08-04 14:44:39 +02:00
|
|
|
}
|
|
|
|
|
|
2015-08-04 16:01:50 +02:00
|
|
|
$scope.feedback.busy = false;
|
2015-08-04 14:44:39 +02:00
|
|
|
});
|
|
|
|
|
};
|
2016-11-21 13:22:56 +01:00
|
|
|
|
2017-03-07 16:13:48 +01:00
|
|
|
var CLOUDRON_SUPPORT_PUBLIC_KEY = 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDQVilclYAIu+ioDp/sgzzFz6YU0hPcRYY7ze/LiF/lC7uQqK062O54BFXTvQ3ehtFZCx3bNckjlT2e6gB8Qq07OM66De4/S/g+HJW4TReY2ppSPMVNag0TNGxDzVH8pPHOysAm33LqT2b6L/wEXwC6zWFXhOhHjcMqXvi8Ejaj20H1HVVcf/j8qs5Thkp9nAaFTgQTPu8pgwD8wDeYX1hc9d0PYGesTADvo6HF4hLEoEnefLw7PaStEbzk2fD3j7/g5r5HcgQQXBe74xYZ/1gWOX2pFNuRYOBSEIrNfJEjFJsqk3NR1+ZoMGK7j+AZBR4k0xbrmncQLcQzl6MMDzkp support@cloudron.io';
|
|
|
|
|
var CLOUDRON_SUPPORT_PUBLIC_KEY_IDENTIFIER = 'support@cloudron.io';
|
2017-03-07 16:12:00 +01:00
|
|
|
|
|
|
|
|
$scope.toggleSshSupport = function () {
|
|
|
|
|
if ($scope.sshSupportEnabled) {
|
|
|
|
|
Client.delAuthorizedKey(CLOUDRON_SUPPORT_PUBLIC_KEY_IDENTIFIER, function (error) {
|
|
|
|
|
if (error) return console.error(error);
|
|
|
|
|
$scope.sshSupportEnabled = false;
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
Client.addAuthorizedKey(CLOUDRON_SUPPORT_PUBLIC_KEY, function (error) {
|
|
|
|
|
if (error) return console.error(error);
|
|
|
|
|
$scope.sshSupportEnabled = true;
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
Client.onReady(function () {
|
|
|
|
|
Client.getAuthorizedKeys(function (error, keys) {
|
|
|
|
|
if (error) return console.error(error);
|
|
|
|
|
|
|
|
|
|
$scope.sshSupportEnabled = keys.some(function (k) { return k.key === CLOUDRON_SUPPORT_PUBLIC_KEY; });
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
2016-11-21 13:22:56 +01:00
|
|
|
$('.modal-backdrop').remove();
|
2015-08-04 11:33:17 +02:00
|
|
|
}]);
|