diff --git a/webadmin/src/views/support.html b/webadmin/src/views/support.html index c35bfa94f..b9059e9e7 100644 --- a/webadmin/src/views/support.html +++ b/webadmin/src/views/support.html @@ -11,22 +11,10 @@
-

Community

- Chat with us live at chat.cloudron.io. -
-
-
- - -
- -
-
-
-
-

Docs

+

Documentation and Chat

For user manuals and developer related questions, please refer to our documentation.
+ Chat with us live at chat.cloudron.io.
Cloudron is open source. To report issues, open a ticket.
@@ -67,6 +55,25 @@
+ +
+ +
+
+
+
+

Remote Support

+ To allow Cloudron engineers perform remote support directly on your Cloudron, enable temporary SSH access for Cloudron engineers. +
+
+ Please contact us first at chat.cloudron.io. +
+
+ +
+
+
+
diff --git a/webadmin/src/views/support.js b/webadmin/src/views/support.js index 1a8396952..11275d63e 100644 --- a/webadmin/src/views/support.js +++ b/webadmin/src/views/support.js @@ -12,6 +12,8 @@ angular.module('Application').controller('SupportController', ['$scope', '$locat description: '' }; + $scope.sshSupportEnabled = false; + function resetFeedback() { $scope.feedback.subject = ''; $scope.feedback.description = ''; @@ -38,5 +40,30 @@ angular.module('Application').controller('SupportController', ['$scope', '$locat }); }; + var CLOUDRON_SUPPORT_PUBLIC_KEY = ''; + var CLOUDRON_SUPPORT_PUBLIC_KEY_IDENTIFIER = ''; + + $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; }); + }); + }); + $('.modal-backdrop').remove(); }]);