Skip to content

Commit

Permalink
Merge pull request #3259 from cloudfoundry-incubator/remove-global-ma…
Browse files Browse the repository at this point in the history
…nage-users

Remove global manage apps link
  • Loading branch information
KlapTrap authored Dec 21, 2018
2 parents c4122e8 + 3ef8787 commit f4fa31a
Show file tree
Hide file tree
Showing 9 changed files with 93 additions and 142 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,11 @@ <h1>{{ (cfEndpointService.endpoint$ | async)?.entity.name }}</h1>
<button mat-icon-button name="add-org" *ngIf="canAddOrg$ | async" routerLink="/cloud-foundry/{{this.cfEndpointService.cfGuid}}/add-org">
<mat-icon>add</mat-icon>
</button>
<button mat-icon-button name="user-management" *ngIf="(canUpdateRoles$ | async) && (cfEndpointService.users$ | async)?.length"
routerLink="/cloud-foundry/{{cfEndpointService.cfGuid}}/users/manage" matTooltip="Manage Users">
<mat-icon>people</mat-icon>
</button>
<button mat-icon-button name="cli" routerLink="/cloud-foundry/{{cfEndpointService.cfGuid}}/cli" matTooltip="CLI Info">
<mat-icon>keyboard</mat-icon>
</button>
</div>
</app-page-header>
<app-loading-page [isLoading]="isFetching$" [text]="'Retrieving Cloud Foundry details'">
<router-outlet></router-outlet>
</app-loading-page>
</app-loading-page>
Original file line number Diff line number Diff line change
@@ -1,23 +1,21 @@
import { Component, OnInit } from '@angular/core';
import { Store } from '@ngrx/store';
import { Observable, of as observableOf } from 'rxjs';
import { map, tap, startWith } from 'rxjs/operators';
import { map, startWith } from 'rxjs/operators';

import { environment } from '../../../../environments/environment';
import { CurrentUserPermissions } from '../../../core/current-user-permissions.config';
import { CurrentUserPermissionsService } from '../../../core/current-user-permissions.service';
import { ISubHeaderTabs } from '../../../shared/components/page-subheader/page-subheader.types';
import { canUpdateOrgSpaceRoles } from '../cf.helpers';
import { CloudFoundryEndpointService } from '../services/cloud-foundry-endpoint.service';
import { AppState } from './../../../store/app-state';
import { EndpointsService } from '../../../core/endpoints.service';
import {
StratosTabType,
getActionsFromExtensions,
getTabsFromExtensions,
StratosActionMetadata,
getActionsFromExtensions,
StratosActionType
StratosActionType,
StratosTabType,
} from '../../../core/extension/extension-service';
import { ISubHeaderTabs } from '../../../shared/components/page-subheader/page-subheader.types';
import { CloudFoundryEndpointService } from '../services/cloud-foundry-endpoint.service';

@Component({
selector: 'app-cloud-foundry-tabs-base',
templateUrl: './cloud-foundry-tabs-base.component.html',
Expand All @@ -36,7 +34,6 @@ export class CloudFoundryTabsBaseComponent implements OnInit {
isFetching$: Observable<boolean>;

public canAddOrg$: Observable<boolean>;
public canUpdateRoles$: Observable<boolean>;

public extensionActions: StratosActionMetadata[] = getActionsFromExtensions(StratosActionType.CloudFoundry);

Expand Down Expand Up @@ -87,7 +84,6 @@ export class CloudFoundryTabsBaseComponent implements OnInit {
ngOnInit() {
this.isFetching$ = observableOf(false);
this.canAddOrg$ = this.currentUserPermissionsService.can(CurrentUserPermissions.ORGANIZATION_CREATE, this.cfEndpointService.cfGuid);
this.canUpdateRoles$ = canUpdateOrgSpaceRoles(this.currentUserPermissionsService, this.cfEndpointService.cfGuid);
}

}
Original file line number Diff line number Diff line change
@@ -1,26 +1,17 @@
<app-page-header [breadcrumbs]="breadcrumbs$ | async" [tabs]="tabLinks">
<h1> {{ name$ | async }}</h1>
<div class="page-header-right">
<button mat-icon-button name="edit-org" *appUserPermission="permsOrgEdit;endpointGuid:cfEndpointService.cfGuid"
routerLink="/cloud-foundry/{{cfEndpointService.cfGuid}}/organizations/{{cfOrgService.orgGuid}}/edit-org"
matTooltip="Edit Organization">
<button mat-icon-button name="edit-org" *appUserPermission="permsOrgEdit;endpointGuid:cfEndpointService.cfGuid" routerLink="/cloud-foundry/{{cfEndpointService.cfGuid}}/organizations/{{cfOrgService.orgGuid}}/edit-org" matTooltip="Edit Organization">
<mat-icon>mode_edit</mat-icon>
</button>
<button mat-icon-button name="add-space" *appUserPermission="permsSpaceCreate;endpointGuid:cfEndpointService.cfGuid;organizationGuid:cfOrgService.orgGuid"
routerLink="/cloud-foundry/{{cfEndpointService.cfGuid}}/organizations/{{cfOrgService.orgGuid}}/add-space"
matTooltip="Create Space">
<button mat-icon-button name="add-space" *appUserPermission="permsSpaceCreate;endpointGuid:cfEndpointService.cfGuid;organizationGuid:cfOrgService.orgGuid" routerLink="/cloud-foundry/{{cfEndpointService.cfGuid}}/organizations/{{cfOrgService.orgGuid}}/add-space" matTooltip="Create Space">
<mat-icon>add</mat-icon>
</button>
<button mat-icon-button name="user-management" *ngIf="canUpdateRoles$ | async" routerLink="/cloud-foundry/{{cfEndpointService.cfGuid}}/organizations/{{cfOrgService.orgGuid}}/users/manage"
matTooltip="Manage Users">
<mat-icon>people</mat-icon>
</button>
<button mat-icon-button name="cli" routerLink="/cloud-foundry/{{cfEndpointService.cfGuid}}/organizations/{{cfOrgService.orgGuid}}/cli"
matTooltip="CLI Info">
<button mat-icon-button name="cli" routerLink="/cloud-foundry/{{cfEndpointService.cfGuid}}/organizations/{{cfOrgService.orgGuid}}/cli" matTooltip="CLI Info">
<mat-icon>keyboard</mat-icon>
</button>
</div>
</app-page-header>
<app-loading-page [entityId]="cfOrgService.orgGuid" [entitySchema]="schema" deleteText="Deleting organization" [text]="'Retrieving organization'">
<router-outlet></router-outlet>
</app-loading-page>
</app-loading-page>
Original file line number Diff line number Diff line change
Expand Up @@ -3,23 +3,21 @@ import { Observable } from 'rxjs';
import { filter, first, map } from 'rxjs/operators';

import { environment } from '../../../../../../environments/environment';
import { CurrentUserPermissionsChecker } from '../../../../../core/current-user-permissions.checker';
import { CurrentUserPermissions } from '../../../../../core/current-user-permissions.config';
import { CurrentUserPermissionsService } from '../../../../../core/current-user-permissions.service';
import {
getActionsFromExtensions,
getTabsFromExtensions,
StratosActionMetadata,
StratosActionType,
StratosTabType,
} from '../../../../../core/extension/extension-service';
import { IHeaderBreadcrumb } from '../../../../../shared/components/page-header/page-header.types';
import { ISubHeaderTabs } from '../../../../../shared/components/page-subheader/page-subheader.types';
import { CfUserService } from '../../../../../shared/data-services/cf-user.service';
import { entityFactory, EntitySchema, organizationSchemaKey } from '../../../../../store/helpers/entity-factory';
import { canUpdateOrgSpaceRoles, getActiveRouteCfOrgSpaceProvider } from '../../../cf.helpers';
import { getActiveRouteCfOrgSpaceProvider } from '../../../cf.helpers';
import { CloudFoundryEndpointService } from '../../../services/cloud-foundry-endpoint.service';
import { CloudFoundryOrganizationService } from '../../../services/cloud-foundry-organization.service';
import {
getTabsFromExtensions,
StratosTabType,
StratosActionMetadata,
getActionsFromExtensions,
StratosActionType
} from '../../../../../core/extension/extension-service';

@Component({
selector: 'app-cloud-foundry-organization-base',
Expand Down Expand Up @@ -58,15 +56,13 @@ export class CloudFoundryOrganizationBaseComponent {

public permsOrgEdit = CurrentUserPermissions.ORGANIZATION_EDIT;
public permsSpaceCreate = CurrentUserPermissions.SPACE_CREATE;
public canUpdateRoles$: Observable<boolean>;
public schema: EntitySchema;

public extensionActions: StratosActionMetadata[] = getActionsFromExtensions(StratosActionType.CloudFoundryOrg);

constructor(
public cfEndpointService: CloudFoundryEndpointService,
public cfOrgService: CloudFoundryOrganizationService,
currentUserPermissionsService: CurrentUserPermissionsService
) {
this.schema = entityFactory(organizationSchemaKey);

Expand All @@ -89,12 +85,6 @@ export class CloudFoundryOrganizationBaseComponent {
first()
);

this.canUpdateRoles$ = canUpdateOrgSpaceRoles(
currentUserPermissionsService,
cfOrgService.cfGuid,
cfOrgService.orgGuid,
CurrentUserPermissionsChecker.ALL_SPACES);

// Add any tabs from extensions
this.tabLinks = this.tabLinks.concat(getTabsFromExtensions(StratosTabType.CloudFoundryOrg));
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,25 +1,17 @@
<app-page-header [breadcrumbs]="breadcrumbs$ | async" [tabs]="tabLinks">
<h1> {{ name$ | async }}</h1>
<div class="page-header-right">
<button mat-icon-button name="rename" *appUserPermission="permsSpaceEdit;endpointGuid:cfOrgService.cfGuid;organizationGuid:cfOrgService.orgGuid;spaceGuid:cfSpaceService.spaceGuid"
routerLink="/cloud-foundry/{{cfEndpointService.cfGuid}}/organizations/{{cfSpaceService.orgGuid}}/spaces/{{cfSpaceService.spaceGuid}}/edit-space"
matTooltip="Edit Space">
<button mat-icon-button name="rename" *appUserPermission="permsSpaceEdit;endpointGuid:cfOrgService.cfGuid;organizationGuid:cfOrgService.orgGuid;spaceGuid:cfSpaceService.spaceGuid" routerLink="/cloud-foundry/{{cfEndpointService.cfGuid}}/organizations/{{cfSpaceService.orgGuid}}/spaces/{{cfSpaceService.spaceGuid}}/edit-space" matTooltip="Edit Space">
<mat-icon>edit</mat-icon>
</button>
<button mat-icon-button name="delete" *appUserPermission="permsSpaceDelete;endpointGuid:cfOrgService.cfGuid;organizationGuid:cfOrgService.orgGuid;"
(click)="deleteSpaceWarn()" matTooltip="Delete Space">
<button mat-icon-button name="delete" *appUserPermission="permsSpaceDelete;endpointGuid:cfOrgService.cfGuid;organizationGuid:cfOrgService.orgGuid;" (click)="deleteSpaceWarn()" matTooltip="Delete Space">
<mat-icon>delete</mat-icon>
</button>
<button mat-icon-button name="user-management" *ngIf="canUpdateRoles$ | async" routerLink="/cloud-foundry/{{cfEndpointService.cfGuid}}/organizations/{{cfSpaceService.orgGuid}}/spaces/{{cfSpaceService.spaceGuid}}/users/manage"
matTooltip="Manage Users">
<mat-icon>people</mat-icon>
</button>
<button mat-icon-button name="cli" routerLink="/cloud-foundry/{{cfEndpointService.cfGuid}}/organizations/{{cfOrgService.orgGuid}}/spaces/{{cfSpaceService.spaceGuid}}/cli"
matTooltip="CLI Info">
<button mat-icon-button name="cli" routerLink="/cloud-foundry/{{cfEndpointService.cfGuid}}/organizations/{{cfOrgService.orgGuid}}/spaces/{{cfSpaceService.spaceGuid}}/cli" matTooltip="CLI Info">
<mat-icon>keyboard</mat-icon>
</button>
</div>
</app-page-header>
<app-loading-page [entityId]="cfSpaceService.spaceGuid" [entitySchema]="schema" deleteText="Deleting space" text="Retrieving space">
<router-outlet></router-outlet>
</app-loading-page>
</app-loading-page>
Original file line number Diff line number Diff line change
Expand Up @@ -5,25 +5,24 @@ import { first, map, tap } from 'rxjs/operators';

import { environment } from '../../../../../../../environments/environment';
import { CurrentUserPermissions } from '../../../../../../core/current-user-permissions.config';
import { CurrentUserPermissionsService } from '../../../../../../core/current-user-permissions.service';
import {
getActionsFromExtensions,
getTabsFromExtensions,
StratosActionMetadata,
StratosActionType,
StratosTabType,
} from '../../../../../../core/extension/extension-service';
import { ConfirmationDialogConfig } from '../../../../../../shared/components/confirmation-dialog.config';
import { ConfirmationDialogService } from '../../../../../../shared/components/confirmation-dialog.service';
import { IHeaderBreadcrumb } from '../../../../../../shared/components/page-header/page-header.types';
import { CfUserService } from '../../../../../../shared/data-services/cf-user.service';
import { RouterNav } from '../../../../../../store/actions/router.actions';
import { AppState } from '../../../../../../store/app-state';
import { entityFactory, spaceSchemaKey } from '../../../../../../store/helpers/entity-factory';
import { canUpdateOrgSpaceRoles, getActiveRouteCfOrgSpaceProvider } from '../../../../cf.helpers';
import { getActiveRouteCfOrgSpaceProvider } from '../../../../cf.helpers';
import { CloudFoundryEndpointService } from '../../../../services/cloud-foundry-endpoint.service';
import { CloudFoundryOrganizationService } from '../../../../services/cloud-foundry-organization.service';
import { CloudFoundrySpaceService } from '../../../../services/cloud-foundry-space.service';
import {
getTabsFromExtensions,
StratosTabType,
StratosActionMetadata,
getActionsFromExtensions,
StratosActionType
} from '../../../../../../core/extension/extension-service';

@Component({
selector: 'app-cloud-foundry-space-base',
Expand Down Expand Up @@ -72,7 +71,6 @@ export class CloudFoundrySpaceBaseComponent implements OnDestroy {

public permsSpaceEdit = CurrentUserPermissions.SPACE_EDIT;
public permsSpaceDelete = CurrentUserPermissions.SPACE_DELETE;
public canUpdateRoles$: Observable<boolean>;

public schema = entityFactory(spaceSchemaKey);

Expand All @@ -85,7 +83,6 @@ export class CloudFoundrySpaceBaseComponent implements OnDestroy {
public cfSpaceService: CloudFoundrySpaceService,
public cfOrgService: CloudFoundryOrganizationService,
private store: Store<AppState>,
currentUserPermissionsService: CurrentUserPermissionsService,
private confirmDialog: ConfirmationDialogService
) {
this.isFetching$ = cfSpaceService.space$.pipe(
Expand All @@ -97,12 +94,6 @@ export class CloudFoundrySpaceBaseComponent implements OnDestroy {
);
this.setUpBreadcrumbs(cfEndpointService, cfOrgService);

this.canUpdateRoles$ = canUpdateOrgSpaceRoles(
currentUserPermissionsService,
cfSpaceService.cfGuid,
cfSpaceService.orgGuid,
cfSpaceService.spaceGuid);

this.deleteRedirectSub = this.cfSpaceService.space$.pipe(
tap(({ entityRequestInfo }) => {
if (entityRequestInfo.deleting.deleted) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,6 @@
<ng-template #multiUser>Manage User Roles</ng-template>
</app-page-header>
<app-steppers cancel="{{defaultCancelUrl}}" [nextButtonProgress]="false">
<app-step *ngIf="(initialUsers$ | async)?.length === 0" title="Select Users" [blocked]="select.cfRolesService.loading$ | async" [onNext]="select.onNext" [valid]="select.valid$ | async">
<app-manage-users-select #select></app-manage-users-select>
</app-step>
<app-step title="Select Roles" [blocked]="modify.cfRolesService.loading$ | async" [onLeave]="modify.onLeave" [onEnter]="modify.onEnter" [onNext]="modify.onNext" [valid]="modify.valid$ | async">
<app-manage-users-modify #modify></app-manage-users-modify>
</app-step>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@

import { of as observableOf, Observable } from 'rxjs';
import { Component, OnDestroy } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { Store } from '@ngrx/store';
import { combineLatest, filter, first, map, tap, startWith } from 'rxjs/operators';
import { Observable, of as observableOf } from 'rxjs';
import { combineLatest, filter, first, map } from 'rxjs/operators';

import { StepOnNextFunction } from '../../../../shared/components/stepper/step/step.component';
import { CfUserService } from '../../../../shared/data-services/cf-user.service';
Expand All @@ -19,6 +18,7 @@ import { ActiveRouteCfOrgSpace } from '../../cf-page.types';
import { getActiveRouteCfOrgSpaceProvider } from '../../cf.helpers';
import { CfRolesService } from './cf-roles.service';


@Component({
selector: 'app-manage-users',
templateUrl: './manage-users.component.html',
Expand Down
Loading

0 comments on commit f4fa31a

Please sign in to comment.