mirror of
https://github.com/portainer/portainer.git
synced 2025-07-28 17:59:45 +02:00
fix(services): pre fill service registry and image [EE-1769] (#5798)
fix(services): pre fill service registry and image [EE-1769] (#5798)
This commit is contained in:
parent
12e7aa6b60
commit
edb25ee10d
7 changed files with 29 additions and 12 deletions
|
@ -53,6 +53,7 @@ angular.module('portainer.docker').controller('ServiceController', [
|
|||
'clipboard',
|
||||
'WebhookHelper',
|
||||
'NetworkService',
|
||||
'RegistryService',
|
||||
'endpoint',
|
||||
function (
|
||||
$q,
|
||||
|
@ -84,6 +85,7 @@ angular.module('portainer.docker').controller('ServiceController', [
|
|||
clipboard,
|
||||
WebhookHelper,
|
||||
NetworkService,
|
||||
RegistryService,
|
||||
endpoint
|
||||
) {
|
||||
$scope.endpoint = endpoint;
|
||||
|
@ -353,22 +355,22 @@ angular.module('portainer.docker').controller('ServiceController', [
|
|||
$('#copyNotification').fadeOut(2000);
|
||||
};
|
||||
|
||||
$scope.cancelChanges = function cancelChanges(service, keys) {
|
||||
$scope.cancelChanges = async function cancelChanges(service, keys) {
|
||||
if (keys) {
|
||||
// clean out the keys only from the list of modified keys
|
||||
keys.forEach(function (key) {
|
||||
for (const key of keys) {
|
||||
if (key === 'Image') {
|
||||
$scope.formValues.RegistryModel.Image = '';
|
||||
$scope.formValues.RegistryModel = await RegistryService.retrievePorRegistryModelFromRepository(originalService.Image, endpoint.Id);
|
||||
} else {
|
||||
var index = previousServiceValues.indexOf(key);
|
||||
if (index >= 0) {
|
||||
previousServiceValues.splice(index, 1);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
} else {
|
||||
// clean out all changes
|
||||
$scope.formValues.RegistryModel.Image = '';
|
||||
$scope.formValues.RegistryModel = await RegistryService.retrievePorRegistryModelFromRepository(originalService.Image, endpoint.Id);
|
||||
keys = Object.keys(service);
|
||||
previousServiceValues = [];
|
||||
}
|
||||
|
@ -382,7 +384,9 @@ angular.module('portainer.docker').controller('ServiceController', [
|
|||
var hasChanges = false;
|
||||
elements.forEach(function (key) {
|
||||
if (key === 'Image') {
|
||||
hasChanges = hasChanges || $scope.formValues.RegistryModel.Image ? true : false;
|
||||
const originalImage = service ? service.Model.Spec.TaskTemplate.ContainerSpec.Image : null;
|
||||
const currentImage = ImageHelper.createImageConfigForContainer($scope.formValues.RegistryModel).fromImage;
|
||||
hasChanges = hasChanges || originalImage !== currentImage;
|
||||
} else {
|
||||
hasChanges = hasChanges || previousServiceValues.indexOf(key) >= 0;
|
||||
}
|
||||
|
@ -763,6 +767,11 @@ angular.module('portainer.docker').controller('ServiceController', [
|
|||
$scope.state.sliderMaxCpu = 32;
|
||||
}
|
||||
|
||||
const image = $scope.service.Model.Spec.TaskTemplate.ContainerSpec.Image;
|
||||
RegistryService.retrievePorRegistryModelFromRepository(image, endpoint.Id).then((model) => {
|
||||
$scope.formValues.RegistryModel = model;
|
||||
});
|
||||
|
||||
// Default values
|
||||
$scope.state.addSecret = { override: false };
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue