fix(docker/networks): show correct resource control data [EE-3401] (#7060)

feat/EE-3079/edge-stack-logs
Chaim Lev-Ari 2022-06-17 19:21:41 +03:00 committed by GitHub
parent 18252ab854
commit 92eaa02156
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 20 additions and 15 deletions

View File

@ -1,7 +1,5 @@
import {
AccessControlFormData,
ResourceControlResponse,
} from '@/portainer/access-control/types';
import { AccessControlFormData } from '@/portainer/access-control/types';
import { PortainerMetadata } from '@/react/docker/types';
import { PortMapping } from './ContainerInstances/CreateContainerInstanceForm/PortsMappingField';
@ -21,10 +19,6 @@ export interface ContainerInstanceFormValues {
accessControl: AccessControlFormData;
}
interface PortainerMetadata {
ResourceControl: ResourceControlResponse;
}
interface Container {
name: string;
properties: {

View File

@ -1,7 +1,6 @@
import { render } from '@/react-tools/test-utils';
import { UserContext } from '@/portainer/hooks/useUser';
import { UserViewModel } from '@/portainer/models/user';
import { ResourceControlOwnership } from '@/portainer/access-control/types';
import { DockerNetwork } from '../types';
@ -113,9 +112,9 @@ function getNetwork(networkName: string): DockerNetwork {
},
],
TeamAccesses: [],
Ownership: ResourceControlOwnership.PUBLIC,
Public: true,
System: false,
AdministratorsOnly: true,
},
},
Scope: 'local',

View File

@ -8,6 +8,7 @@ import { confirmDeletionAsync } from '@/portainer/services/modal.service/confirm
import { AccessControlPanel } from '@/portainer/access-control/AccessControlPanel/AccessControlPanel';
import { ResourceControlType } from '@/portainer/access-control/types';
import { DockerContainer } from '@/docker/containers/types';
import { ResourceControlViewModel } from '@/portainer/access-control/models/ResourceControlViewModel';
import { PageHeader } from '@@/PageHeader';
@ -51,6 +52,12 @@ export function NetworkDetailsView() {
return null;
}
const network = networkQuery.data;
const resourceControl = network.Portainer?.ResourceControl
? new ResourceControlViewModel(network.Portainer.ResourceControl)
: undefined;
return (
<>
<PageHeader
@ -78,7 +85,7 @@ export function NetworkDetailsView() {
networkId,
])
}
resourceControl={networkQuery.data.Portainer?.ResourceControl}
resourceControl={resourceControl}
resourceType={ResourceControlType.Network}
disableOwnershipChange={isSystemNetwork(networkQuery.data.Name)}
resourceId={networkId}

View File

@ -1,4 +1,4 @@
import { ResourceControlViewModel } from '@/portainer/access-control/models/ResourceControlViewModel';
import { PortainerMetadata } from '@/react/docker/types';
import { ContainerId } from '../containers/types';
@ -44,7 +44,7 @@ export interface DockerNetwork {
Driver: string;
Options: IpamOptions;
};
Portainer: { ResourceControl?: ResourceControlViewModel };
Portainer?: PortainerMetadata;
Options: NetworkOptions;
Containers: NetworkResponseContainers;
}

View File

@ -33,11 +33,11 @@ export class ResourceControlViewModel {
this.TeamAccesses = data.TeamAccesses;
this.Public = data.Public;
this.System = data.System;
this.Ownership = determineOwnership(this);
this.Ownership = determineOwnership(data);
}
}
function determineOwnership(resourceControl: ResourceControlViewModel) {
function determineOwnership(resourceControl: ResourceControlResponse) {
if (resourceControl.Public) {
return ResourceControlOwnership.PUBLIC;
}

View File

@ -0,0 +1,5 @@
import { ResourceControlResponse } from '@/portainer/access-control/types';
export interface PortainerMetadata {
ResourceControl: ResourceControlResponse;
}