fix(docker): remove prepended slash by default on container names [EE-3592] (#8195)

* remove prepended slash by default if present

* trimcontainername still needed
pull/8477/head
Matt Hook 2023-02-09 17:18:19 +13:00 committed by GitHub
parent bfc610c192
commit f9bbe000fb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 13 additions and 11 deletions

View File

@ -114,7 +114,7 @@ angular
'use strict'; 'use strict';
return function (name) { return function (name) {
if (name) { if (name) {
return name.indexOf('/') === 0 ? name.replace('/', '') : name; return name.indexOf('/') === 0 ? name.slice(1) : name;
} }
return ''; return '';
}; };
@ -161,8 +161,7 @@ angular
.filter('containername', function () { .filter('containername', function () {
'use strict'; 'use strict';
return function (container) { return function (container) {
var name = container.Names[0]; return container.Names[0];
return name.substring(1, name.length);
}; };
}) })
.filter('swarmversion', function () { .filter('swarmversion', function () {
@ -174,7 +173,7 @@ angular
.filter('swarmhostname', function () { .filter('swarmhostname', function () {
'use strict'; 'use strict';
return function (container) { return function (container) {
return _.split(container.Names[0], '/')[1]; return container.Names[0];
}; };
}) })
.filter('repotags', function () { .filter('repotags', function () {

View File

@ -338,7 +338,7 @@ angular.module('portainer.docker').controller('CreateContainerController', [
var container = $scope.formValues.NetworkContainer; var container = $scope.formValues.NetworkContainer;
var containerName = container; var containerName = container;
if (container && typeof container === 'object') { if (container && typeof container === 'object') {
containerName = $filter('trimcontainername')(container.Names[0]); containerName = container.Names[0];
} }
var networkMode = mode; var networkMode = mode;
if (containerName) { if (containerName) {
@ -987,7 +987,7 @@ angular.module('portainer.docker').controller('CreateContainerController', [
if (!oldContainer) { if (!oldContainer) {
return; return;
} }
return ContainerService.renameContainer(oldContainer.Id, oldContainer.Names[0].substring(1)); return ContainerService.renameContainer(oldContainer.Id, oldContainer.Names[0]);
} }
function confirmCreateContainer(container) { function confirmCreateContainer(container) {
@ -1033,7 +1033,7 @@ angular.module('portainer.docker').controller('CreateContainerController', [
} }
function renameContainer() { function renameContainer() {
return ContainerService.renameContainer(oldContainer.Id, oldContainer.Names[0].substring(1) + '-old'); return ContainerService.renameContainer(oldContainer.Id, oldContainer.Names[0] + '-old');
} }
function pullImageIfNeeded() { function pullImageIfNeeded() {

View File

@ -10,10 +10,7 @@ import { TableSettings } from '../types';
export const name: Column<DockerContainer> = { export const name: Column<DockerContainer> = {
Header: 'Name', Header: 'Name',
accessor: (row) => { accessor: (row) => row.Names[0],
const name = row.Names[0];
return name.substring(1, name.length);
},
id: 'name', id: 'name',
Cell: NameCell, Cell: NameCell,
disableFilters: true, disableFilters: true,

View File

@ -37,9 +37,15 @@ export function parseViewModel(
) )
); );
const names = response.Names.map((n) => {
const nameWithoutSlash = n[0] === '/' ? response.Names[0].slice(1) : n;
return nameWithoutSlash;
});
return { return {
...response, ...response,
ResourceControl: resourceControl, ResourceControl: resourceControl,
Names: names,
NodeName: nodeName, NodeName: nodeName,
IP: ip, IP: ip,
StackName: stackName, StackName: stackName,