1
0
Fork 0
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:
Marcelo Rydel 2021-10-14 09:42:10 -03:00 committed by GitHub
parent 12e7aa6b60
commit edb25ee10d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 29 additions and 12 deletions

View file

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