fix(templates): checking windows endpoint and template properties. (#5108)

* fix(templates): checking windows endpoint and template properties.

* fix(templates): removed debug code.

* fix(templates): fixed type issue in custom template.
pull/5114/head
fhanportainer 2021-05-27 08:56:13 +12:00 committed by GitHub
parent 6bfbf58cdb
commit d7fcfee2a2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 4 deletions

View File

@ -34,13 +34,16 @@ class CustomTemplatesViewController {
this.StateManager = StateManager; this.StateManager = StateManager;
this.StackService = StackService; this.StackService = StackService;
this.DOCKER_STANDALONE = 'DOCKER_STANDALONE';
this.DOCKER_SWARM_MODE = 'DOCKER_SWARM_MODE';
this.state = { this.state = {
selectedTemplate: null, selectedTemplate: null,
showAdvancedOptions: false, showAdvancedOptions: false,
formValidationError: '', formValidationError: '',
actionInProgress: false, actionInProgress: false,
isEditorVisible: false, isEditorVisible: false,
provider: 0, deployable: false,
}; };
this.currentUser = { this.currentUser = {
@ -182,7 +185,8 @@ class CustomTemplatesViewController {
this.formValues.name = template.Title ? template.Title : ''; this.formValues.name = template.Title ? template.Title : '';
this.state.selectedTemplate = template; this.state.selectedTemplate = template;
this.$anchorScroll('view-top'); this.$anchorScroll('view-top');
const applicationState = this.StateManager.getState();
this.state.deployable = this.isDeployable(applicationState.endpoint, template.Type);
const file = await this.CustomTemplateService.customTemplateFile(template.Id); const file = await this.CustomTemplateService.customTemplateFile(template.Id);
this.formValues.fileContent = file; this.formValues.fileContent = file;
} }
@ -224,6 +228,21 @@ class CustomTemplatesViewController {
this.formValues.fileContent = cm.getValue(); this.formValues.fileContent = cm.getValue();
} }
isDeployable(endpoint, templateType) {
let deployable = false;
switch (templateType) {
case 1:
deployable = endpoint.mode.provider === this.DOCKER_SWARM_MODE;
break;
case 2:
deployable = endpoint.mode.provider === this.DOCKER_STANDALONE;
break;
}
return deployable;
}
$onInit() { $onInit() {
const applicationState = this.StateManager.getState(); const applicationState = this.StateManager.getState();
@ -232,7 +251,6 @@ class CustomTemplatesViewController {
apiVersion, apiVersion,
} = applicationState; } = applicationState;
this.state.provider = endpointMode.provider === 'DOCKER_STANDALONE' ? 2 : 1;
this.getTemplates(endpointMode); this.getTemplates(endpointMode);
this.getNetworks(endpointMode.provider, apiVersion); this.getNetworks(endpointMode.provider, apiVersion);

View File

@ -260,7 +260,6 @@ angular.module('portainer.app').controller('TemplatesController', [
deployable = endpoint.mode.provider === DOCKER_STANDALONE; deployable = endpoint.mode.provider === DOCKER_STANDALONE;
break; break;
} }
return deployable; return deployable;
} }