diff --git a/src/app/components/layout/layout.component.html b/src/app/components/layout/layout.component.html index 215f4f10a..958362bc2 100644 --- a/src/app/components/layout/layout.component.html +++ b/src/app/components/layout/layout.component.html @@ -1,7 +1,7 @@
+ [disabled]="!permission.check(node, ['create'])"> { let fixture: ComponentFixture; let component: LayoutComponent; let browsingFilesService: BrowsingFilesService; - let contentService: ContentService; - let node; const navItem = { label: 'some-label', route: { @@ -54,8 +53,6 @@ describe('LayoutComponent', () => { }; beforeEach(() => { - node = { id: 'node-id' }; - TestBed.configureTestingModule({ imports: [ HttpClientModule, @@ -73,8 +70,8 @@ describe('LayoutComponent', () => { LogService, UserPreferencesService, AuthenticationService, - ContentService, AppConfigService, + NodePermissionService, BrowsingFilesService, { provide: PeopleContentService, @@ -89,7 +86,6 @@ describe('LayoutComponent', () => { fixture = TestBed.createComponent(LayoutComponent); component = fixture.componentInstance; browsingFilesService = TestBed.get(BrowsingFilesService); - contentService = TestBed.get(ContentService); const appConfig = TestBed.get(AppConfigService); spyOn(appConfig, 'get').and.returnValue([navItem]); @@ -104,28 +100,4 @@ describe('LayoutComponent', () => { expect(component.node).toEqual(currentNode); }); - - describe('canCreateContent()', () => { - it('returns true if node has permission', () => { - spyOn(contentService, 'hasPermission').and.returnValue(true); - - const permission = component.canCreateContent({}); - - expect(permission).toBe(true); - }); - - it('returns false if node does not have permission', () => { - spyOn(contentService, 'hasPermission').and.returnValue(false); - - const permission = component.canCreateContent({}); - - expect(permission).toBe(false); - }); - - it('returns false if node is null', () => { - const permission = component.canCreateContent(null); - - expect(permission).toBe(false); - }); - }); }); diff --git a/src/app/components/layout/layout.component.ts b/src/app/components/layout/layout.component.ts index 411ec04f4..07f3fa06e 100644 --- a/src/app/components/layout/layout.component.ts +++ b/src/app/components/layout/layout.component.ts @@ -27,8 +27,8 @@ import { Component, OnInit, OnDestroy } from '@angular/core'; import { Router, NavigationEnd } from '@angular/router'; import { Subscription } from 'rxjs/Rx'; import { MinimalNodeEntryEntity } from 'alfresco-js-api'; -import { ContentService } from '@alfresco/adf-core'; import { BrowsingFilesService } from '../../common/services/browsing-files.service'; +import { NodePermissionService } from '../../common/services/node-permission.service'; @Component({ selector: 'app-layout', @@ -43,8 +43,8 @@ export class LayoutComponent implements OnInit, OnDestroy { constructor( private router: Router, - private contentService: ContentService, - private browsingFilesService: BrowsingFilesService) { + private browsingFilesService: BrowsingFilesService, + public permission: NodePermissionService) { this.router.events .filter(event => event instanceof NavigationEnd) .subscribe( (event: any ) => { @@ -61,11 +61,4 @@ export class LayoutComponent implements OnInit, OnDestroy { ngOnDestroy() { this.subscriptions.forEach(s => s.unsubscribe()); } - - canCreateContent(node: MinimalNodeEntryEntity): boolean { - if (node) { - return this.contentService.hasPermission(node, 'create'); - } - return false; - } }