mirror of
https://github.com/portainer/portainer.git
synced 2025-08-08 15:25:22 +02:00
feat(app): add externally sourced support options (#3249)
* feat(app): add externally sourced support options * refactor(api): rename struct fields
This commit is contained in:
parent
521a36e629
commit
ab2acea463
11 changed files with 116 additions and 41 deletions
7
app/portainer/rest/support.js
Normal file
7
app/portainer/rest/support.js
Normal file
|
@ -0,0 +1,7 @@
|
|||
angular.module('portainer.app')
|
||||
.factory('Support', ['$resource', 'API_ENDPOINT_SUPPORT', function SupportFactory($resource, API_ENDPOINT_SUPPORT) {
|
||||
'use strict';
|
||||
return $resource(API_ENDPOINT_SUPPORT, {}, {
|
||||
get: { method: 'GET', isArray: true },
|
||||
});
|
||||
}]);
|
21
app/portainer/services/api/supportService.js
Normal file
21
app/portainer/services/api/supportService.js
Normal file
|
@ -0,0 +1,21 @@
|
|||
angular.module('portainer.app')
|
||||
.factory('SupportService', ['$q', 'Support', function SupportServiceFactory($q, Support) {
|
||||
'use strict';
|
||||
var service = {};
|
||||
|
||||
service.supportProducts = function() {
|
||||
var deferred = $q.defer();
|
||||
|
||||
Support.get().$promise
|
||||
.then(function success(data) {
|
||||
deferred.resolve(data);
|
||||
})
|
||||
.catch(function error(err) {
|
||||
deferred.reject({ msg: 'Unable to retrieve support options', err: err });
|
||||
});
|
||||
|
||||
return deferred.promise;
|
||||
};
|
||||
|
||||
return service;
|
||||
}]);
|
|
@ -22,7 +22,7 @@ angular.module('portainer.app')
|
|||
endpoint = data;
|
||||
return switchToDockerEndpoint(endpoint);
|
||||
}).catch(function error(err) {
|
||||
Notifications.error('Failure', err, 'Unable to verify endpoint status');
|
||||
Notifications.error('Failure', err, 'Unable to verify endpoint status');
|
||||
});
|
||||
};
|
||||
|
||||
|
|
|
@ -6,23 +6,6 @@
|
|||
</rd-header-content>
|
||||
</rd-header>
|
||||
|
||||
<information-panel title-text="Information">
|
||||
<span class="small text-muted">
|
||||
<p>
|
||||
Business support is a subscription service and is delivered by Portainer developers directly. Portainer Business Support is available in Standard and Critical levels, which offer a range of availability and response time options.
|
||||
</p>
|
||||
<p>
|
||||
Once acquired through an in-app purchase, a support subscription will enable private access to the Portainer Support Portal at the appropriate service level.
|
||||
</p>
|
||||
<p>
|
||||
Business support includes comprehensive assistance and issue resolution for Portainer software, as well as the ability to ask “how to” questions.
|
||||
</p>
|
||||
<p>
|
||||
Issues outside Portainer (such as those relating to third party software or hardware) will be diagnosed, verified and the client will be referred to the relevant supplier for support. Portainer support will investigate and resolve any bugs that are identified as part of the support case.
|
||||
</p>
|
||||
</span>
|
||||
</information-panel>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<product-list
|
||||
|
|
|
@ -1,34 +1,20 @@
|
|||
angular.module('portainer.app')
|
||||
.controller('SupportController', ['$scope', '$state',
|
||||
function($scope, $state) {
|
||||
.controller('SupportController', ['$scope', '$state', 'SupportService', 'Notifications',
|
||||
function($scope, $state, SupportService, Notifications) {
|
||||
|
||||
$scope.goToProductView = function(product) {
|
||||
$state.go('portainer.support.product', { product: product });
|
||||
};
|
||||
|
||||
function initView() {
|
||||
var supportProducts = [
|
||||
{
|
||||
Id: 1,
|
||||
Name: 'Business Support Standard',
|
||||
ShortDescription: '11x5 support with 4 hour response',
|
||||
Price: 'US$120.00',
|
||||
PriceDescription: 'Price per month per host (minimum 10 hosts)',
|
||||
Description: 'Portainer Business Support Standard:\n\n* 7am – 6pm business days, local time.\n* 4 Hour response for issues, 4 named support contacts.\n\nPortainer support provides you with an easy way to interact directly with the Portainer development team; whether you have an issue with the product, think you have found a bug, or need help on how to use Portainer, we are here to help. Support is initiated from our web based ticketing system, and support is provided either by Slack messaging, Zoom remote support, or email.\n\nPrice is per Docker Host, with a 10 Host minimum, and is an annual support subscription.',
|
||||
ProductId: '1163'
|
||||
},
|
||||
{
|
||||
Id: 2,
|
||||
Name: 'Business Support Critical',
|
||||
ShortDescription: '24x7 support with 1 hour response',
|
||||
Price: 'US$240.00',
|
||||
PriceDescription: 'Price per month per host (minimum 10 hosts)',
|
||||
Description: 'Portainer Business Support Critical:\n\n* 24x7\n* 1 Hour response for issues, 4 named support contacts.\n\nPortainer support provides you with advanced support for critical requirements. Business Support Critical is an easy way to interact directly with the Portainer development team; whether you have an issue with the product, think you have found a bug, or need help on how to use Portainer, we are here to help. Support is initiated from our web based ticketing system, and support is provided either by Slack messaging, Zoom remote support, or email.\n\nPrice is per Docker Host, with a 10 Host minimum, and is an annual support subscription.',
|
||||
ProductId: '1162'
|
||||
}
|
||||
];
|
||||
|
||||
$scope.products = supportProducts;
|
||||
SupportService.supportProducts()
|
||||
.then(function success(data){
|
||||
$scope.products = data;
|
||||
})
|
||||
.catch(function error(err) {
|
||||
Notifications.error('Failure', err, 'Unable to fetch support options');
|
||||
});
|
||||
}
|
||||
|
||||
initView();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue